Código para STM32 con núcleo F103, para la medición de un voltaje analógico por medio de un potenciómetro.

Dependencies:   mbed TextLCD

Committer:
lmrinconp
Date:
Sat Jun 08 14:05:31 2019 +0000
Revision:
0:ec64148b6429
confirm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lmrinconp 0:ec64148b6429 1 #include "mbed.h"
lmrinconp 0:ec64148b6429 2 #include "TextLCD.h"
lmrinconp 0:ec64148b6429 3
lmrinconp 0:ec64148b6429 4 DigitalOut myled(PC_13); //Activando el led de la tarjeta
lmrinconp 0:ec64148b6429 5
lmrinconp 0:ec64148b6429 6 AnalogIn vi(PA_0);
lmrinconp 0:ec64148b6429 7 TextLCD lcd(PA_8, PA_9, PA_11, PA_12, PA_15, PB_3);// Declaración de los puertos
lmrinconp 0:ec64148b6429 8
lmrinconp 0:ec64148b6429 9 int main()
lmrinconp 0:ec64148b6429 10 {
lmrinconp 0:ec64148b6429 11 float v;
lmrinconp 0:ec64148b6429 12 int j=0;
lmrinconp 0:ec64148b6429 13 lcd.cls();
lmrinconp 0:ec64148b6429 14 lcd.locate(0,0);
lmrinconp 0:ec64148b6429 15 lcd.printf(" Tarea"); //Titulo del proyecto
lmrinconp 0:ec64148b6429 16 lcd.locate(0,1);
lmrinconp 0:ec64148b6429 17 lcd.printf(" Conversor AD"); //Titulo del proyecto
lmrinconp 0:ec64148b6429 18 wait(8.0);
lmrinconp 0:ec64148b6429 19 lcd.cls();
lmrinconp 0:ec64148b6429 20 while(1) {
lmrinconp 0:ec64148b6429 21 v = 3.3*vi.read_u16()/65535; //Normalización de la lectura del voltaje a una escala de [0-3.3]
lmrinconp 0:ec64148b6429 22 myled=1;
lmrinconp 0:ec64148b6429 23 wait(0.05);
lmrinconp 0:ec64148b6429 24 myled=0;
lmrinconp 0:ec64148b6429 25 lcd.locate(0,0);lcd.printf("VEscala= %d", vi.read_u16()); //Muestra de la lectruta Analogica entre [0-65535]
lmrinconp 0:ec64148b6429 26 lcd.locate(0,1);
lmrinconp 0:ec64148b6429 27 lcd.printf("VReal= %f ", v); //Muestra del voltaje normalizado
lmrinconp 0:ec64148b6429 28 j++;
lmrinconp 0:ec64148b6429 29 wait(0.8);
lmrinconp 0:ec64148b6429 30 }
lmrinconp 0:ec64148b6429 31 }