Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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 | } |