Voltimetro realizado con BluePilll y LCD16x2 incluido detector de sobrevoltaje. Circuito de practica para ser implementado en equipos de medición. Se uso la libreria STM32F103C8T6 Y se limito los decimales a dos digitos tambie se uso el propio led incluido en la placa para monitorear alto viltaje
Dependencies: TextLCD mbed-STM32F103C8T6 mbed
main.cpp
- Committer:
- lesmalave
- Date:
- 2018-05-26
- Revision:
- 0:4e434340b5bd
File content as of revision 0:4e434340b5bd:
//Realizado por Luis Malavé en e Smart Labs Electronics #include "mbed.h" #include "TextLCD.h" #include "stm32f103c8t6.h" // en caso de usar Bluepill importar esta libreria para tener compatibilidad con los pines TextLCD lcd(PB_9, PB_8, PB_7, PB_6, PB_5, PB_4, TextLCD::LCD16x2); // 4bit bus: rs, e, d4,d5,d6,d7, tipo de pantalla DigitalOut led(PC_13); // usado como monitor de estado de alto voltaje AnalogIn Vin (PA_0); // entrada de lectura analogica A0 float realv; // medición de voltaje float int main() { // Mi introduciión del programa lcd.locate(2,0); lcd.printf("e Smart Labs"); // imprime en pantalla wait(2); while(1) { lcd.cls (); // comando de borrado de pantalla lcd.locate(1,0); lcd.printf("STM32F103C8T6"); lcd.locate(1,1); lcd.printf("Mbed Bluepill"); wait (3); // espera 3 segundos lcd.cls(); wait(0.5); while(1){ realv = (Vin * 200); // calculo de voltaje real lcd.cls(); lcd.locate(0,0); lcd.printf("%.2f Voltios", realv); // imprime el valor de la medición y el texto en display (%f imprime todos los decimales %.2f solo dos decimales) wait_ms(500); if (realv > 120) { // Si el valor de medición es superior a 120 voltios enciende el Led e imprime en pantalla la condición led = 0; // por la configuración del led PC_13 enciende en estado bajo lcd.locate(1,1); lcd.printf("Sobrevoltaje", realv); wait_ms(500); } else { led = 1; // apaga el led en estado alto por la configuracion del led PC_13 lcd.locate(1,1); lcd.printf("Voltaje OK", realv); wait_ms(3000); } //lcd.printf("Volt(%f)", Vin.read()); //wait(2); } } }