
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.
Revision 0:94d7e4f51a87, committed 2020-08-04
- Comitter:
- CHRISTIAN_GSL
- Date:
- Tue Aug 04 18:41:32 2020 +0000
- Commit message:
- ok
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Tue Aug 04 18:41:32 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/simon/code/TextLCD/#308d188a2d3a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Aug 04 18:41:32 2020 +0000 @@ -0,0 +1,88 @@ + +/******************************************************************************* +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); + } +} +//****************************************************************************** \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Aug 04 18:41:32 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file