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@0:4e434340b5bd, 2018-05-26 (annotated)
- Committer:
- lesmalave
- Date:
- Sat May 26 15:05:46 2018 +0000
- Revision:
- 0:4e434340b5bd
Voltimetro realizado con BluePilll y LCD16x2 incluido detector de sobrevoltaje.; Circuito de practica para ser implementado en equipos de medici?n.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lesmalave | 0:4e434340b5bd | 1 | //Realizado por Luis Malavé en e Smart Labs Electronics |
lesmalave | 0:4e434340b5bd | 2 | |
lesmalave | 0:4e434340b5bd | 3 | #include "mbed.h" |
lesmalave | 0:4e434340b5bd | 4 | #include "TextLCD.h" |
lesmalave | 0:4e434340b5bd | 5 | #include "stm32f103c8t6.h" // en caso de usar Bluepill importar esta libreria para tener compatibilidad con los pines |
lesmalave | 0:4e434340b5bd | 6 | |
lesmalave | 0:4e434340b5bd | 7 | 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 |
lesmalave | 0:4e434340b5bd | 8 | DigitalOut led(PC_13); // usado como monitor de estado de alto voltaje |
lesmalave | 0:4e434340b5bd | 9 | AnalogIn Vin (PA_0); // entrada de lectura analogica A0 |
lesmalave | 0:4e434340b5bd | 10 | float realv; // medición de voltaje float |
lesmalave | 0:4e434340b5bd | 11 | |
lesmalave | 0:4e434340b5bd | 12 | int main() { // Mi introduciión del programa |
lesmalave | 0:4e434340b5bd | 13 | lcd.locate(2,0); |
lesmalave | 0:4e434340b5bd | 14 | lcd.printf("e Smart Labs"); // imprime en pantalla |
lesmalave | 0:4e434340b5bd | 15 | wait(2); |
lesmalave | 0:4e434340b5bd | 16 | while(1) { |
lesmalave | 0:4e434340b5bd | 17 | lcd.cls (); // comando de borrado de pantalla |
lesmalave | 0:4e434340b5bd | 18 | lcd.locate(1,0); |
lesmalave | 0:4e434340b5bd | 19 | lcd.printf("STM32F103C8T6"); |
lesmalave | 0:4e434340b5bd | 20 | lcd.locate(1,1); |
lesmalave | 0:4e434340b5bd | 21 | lcd.printf("Mbed Bluepill"); |
lesmalave | 0:4e434340b5bd | 22 | wait (3); // espera 3 segundos |
lesmalave | 0:4e434340b5bd | 23 | |
lesmalave | 0:4e434340b5bd | 24 | lcd.cls(); |
lesmalave | 0:4e434340b5bd | 25 | wait(0.5); |
lesmalave | 0:4e434340b5bd | 26 | while(1){ |
lesmalave | 0:4e434340b5bd | 27 | realv = (Vin * 200); // calculo de voltaje real |
lesmalave | 0:4e434340b5bd | 28 | lcd.cls(); |
lesmalave | 0:4e434340b5bd | 29 | lcd.locate(0,0); |
lesmalave | 0:4e434340b5bd | 30 | 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) |
lesmalave | 0:4e434340b5bd | 31 | wait_ms(500); |
lesmalave | 0:4e434340b5bd | 32 | |
lesmalave | 0:4e434340b5bd | 33 | if (realv > 120) { // Si el valor de medición es superior a 120 voltios enciende el Led e imprime en pantalla la condición |
lesmalave | 0:4e434340b5bd | 34 | led = 0; // por la configuración del led PC_13 enciende en estado bajo |
lesmalave | 0:4e434340b5bd | 35 | lcd.locate(1,1); |
lesmalave | 0:4e434340b5bd | 36 | lcd.printf("Sobrevoltaje", realv); |
lesmalave | 0:4e434340b5bd | 37 | wait_ms(500); |
lesmalave | 0:4e434340b5bd | 38 | } |
lesmalave | 0:4e434340b5bd | 39 | else { |
lesmalave | 0:4e434340b5bd | 40 | led = 1; // apaga el led en estado alto por la configuracion del led PC_13 |
lesmalave | 0:4e434340b5bd | 41 | lcd.locate(1,1); |
lesmalave | 0:4e434340b5bd | 42 | lcd.printf("Voltaje OK", realv); |
lesmalave | 0:4e434340b5bd | 43 | wait_ms(3000); |
lesmalave | 0:4e434340b5bd | 44 | } |
lesmalave | 0:4e434340b5bd | 45 | |
lesmalave | 0:4e434340b5bd | 46 | |
lesmalave | 0:4e434340b5bd | 47 | |
lesmalave | 0:4e434340b5bd | 48 | //lcd.printf("Volt(%f)", Vin.read()); |
lesmalave | 0:4e434340b5bd | 49 | //wait(2); |
lesmalave | 0:4e434340b5bd | 50 | } |
lesmalave | 0:4e434340b5bd | 51 | } |
lesmalave | 0:4e434340b5bd | 52 | } |