
Se lee un sensor de temperatura LM61CIZ a travès deun canal analógico del ADC (A0/PTB0) y el resultado se muestra en la terminal serial y en un LCD 16x12.
main.cpp
- Committer:
- CHRISTIAN_GSL
- Date:
- 2020-08-04
- Revision:
- 0:94d7e4f51a87
File content as of revision 0:94d7e4f51a87:
/******************************************************************************* Nombre del Proyecto: SENSOR TEMPERATURA Se lee un sensor de temperatura LM61CIZ a travès deun canal analógico del ADC (A0/PTB0) y el resultado se muestra en la terminal serial y en un LCD 16x12. Autor: Christian G.S.L. Fecha: 16-05-2019 Software: MBED Hardware: LCD16x2, LM61ciz Diagrama: Tarjeta KL25Z -------------------- /|\| | | | | --|RST | | | LM61cizVout--->|PTB0 |----<LCD 16x2> Diagrama de conexión al LCD. =============================================================================== LCD pin Connect to ------------------------------------------------------------------------------- 01 - GND GND, pot 02 - VCC +5V, pot 03 - Contrast Pot wiper 04 - RS PTE20 05 - R/W GND 06 - EN PTE21 07 - DB0 GND 08 - DB1 GND 09 - DB2 GND 10 - DB3 GND 11 - DB4 PTE22 12 - DB5 PTE23 13 - DB6 PTE29 14 - DB7 PTE30 15 - BL- GND 16 - BL+ +5V *******************************************************************************/ //ARCHIVOS DE CABECERA. #include "mbed.h" #include "TextLCD.h" //****************************************************************************** //DECLARACION DE FUNCIONES. //****************************************************************************** //INICIALIZACION. Serial pc(USBTX, USBRX); // tx, rx inicialización del puerto serial emulado. Serial uart1(PTE0, PTE1);// inicialización del puerto serial uart1 TX=PTE0, RX=PTE1 //inicialización de pines para control de LCD TextLCD lcd(PTE20, PTE21, PTE22, PTE23, PTE29, PTE30, TextLCD::LCD16x2); // rs, e, d4-d7, LCDType AnalogIn Sensor(PTB0); //inicialización de un canal del ADC unsigned short int lectura_ADC; float Vent; float temperatura; //PROGRAMA PRINCIPAL. //****************************************************************************** int main() { pc.baud(9600);//Velocidad bps (Taza de transmisión) pc.format(8,Serial::None,1);//8 bits de datos,sin paridad,1 bit de paro uart1.baud(9600);//Velocidad bps (Taza de transmisión) uart1.format(8,Serial::None,1);//8 bits de datos,sin paridad,1 bit de paro lcd.locate(0,0); lcd.printf("Temperatura "); while(1) //Bucle infinito { lectura_ADC = Sensor.read_u16();//Read the input voltage, represented as an unsigned short in the range [0x0000, 0xFFFF]. pc.printf("%d \n", lectura_ADC); Vent = (2.30*lectura_ADC)/65535.0; pc.printf("%f \n", Vent); temperatura = (Vent-0.6)/0.01; lcd.locate(0,1);//(col,row) lcd.printf("%.2f",temperatura); lcd.putc(223); //imprime símbolo º lcd.printf("C "); //imprime C pc.printf("%f \n", temperatura); wait(0.5);//1/2 segundo para refrescar lectura del ADC wait_ms(250);wait_ms(250); } } //******************************************************************************