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
Revision 0:4e434340b5bd, committed 2018-05-26
- Comitter:
- lesmalave
- Date:
- Sat May 26 15:05:46 2018 +0000
- Commit message:
- Voltimetro realizado con BluePilll y LCD16x2 incluido detector de sobrevoltaje.; Circuito de practica para ser implementado en equipos de medici?n.;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Sat May 26 15:05:46 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/TextLCD/#308d188a2d3a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sat May 26 15:05:46 2018 +0000
@@ -0,0 +1,52 @@
+//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);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-STM32F103C8T6.lib Sat May 26 15:05:46 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/hudakz/code/mbed-STM32F103C8T6/#727468adfd1d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat May 26 15:05:46 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/5aab5a7997ee \ No newline at end of file
Luis Malavé