
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@0:94d7e4f51a87, 2020-08-04 (annotated)
- Committer:
- CHRISTIAN_GSL
- Date:
- Tue Aug 04 18:41:32 2020 +0000
- Revision:
- 0:94d7e4f51a87
ok
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CHRISTIAN_GSL | 0:94d7e4f51a87 | 1 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 2 | /******************************************************************************* |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 3 | Nombre del Proyecto: SENSOR TEMPERATURA |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 4 | Se lee un sensor de temperatura LM61CIZ a travès deun canal analógico del ADC |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 5 | (A0/PTB0) y el resultado se muestra en la terminal serial y en un LCD 16x12. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 6 | Autor: Christian G.S.L. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 7 | Fecha: 16-05-2019 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 8 | Software: MBED |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 9 | Hardware: LCD16x2, LM61ciz |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 10 | Diagrama: |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 11 | Tarjeta KL25Z |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 12 | -------------------- |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 13 | /|\| | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 14 | | | | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 15 | --|RST | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 16 | | | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 17 | LM61cizVout--->|PTB0 |----<LCD 16x2> |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 18 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 19 | Diagrama de conexión al LCD. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 20 | =============================================================================== |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 21 | LCD pin Connect to |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 22 | ------------------------------------------------------------------------------- |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 23 | 01 - GND GND, pot |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 24 | 02 - VCC +5V, pot |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 25 | 03 - Contrast Pot wiper |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 26 | 04 - RS PTE20 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 27 | 05 - R/W GND |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 28 | 06 - EN PTE21 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 29 | 07 - DB0 GND |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 30 | 08 - DB1 GND |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 31 | 09 - DB2 GND |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 32 | 10 - DB3 GND |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 33 | 11 - DB4 PTE22 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 34 | 12 - DB5 PTE23 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 35 | 13 - DB6 PTE29 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 36 | 14 - DB7 PTE30 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 37 | 15 - BL- GND |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 38 | 16 - BL+ +5V |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 39 | *******************************************************************************/ |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 40 | //ARCHIVOS DE CABECERA. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 41 | #include "mbed.h" |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 42 | #include "TextLCD.h" |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 43 | //****************************************************************************** |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 44 | //DECLARACION DE FUNCIONES. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 45 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 46 | //****************************************************************************** |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 47 | //INICIALIZACION. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 48 | Serial pc(USBTX, USBRX); // tx, rx inicialización del puerto serial emulado. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 49 | Serial uart1(PTE0, PTE1);// inicialización del puerto serial uart1 TX=PTE0, RX=PTE1 |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 50 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 51 | //inicialización de pines para control de LCD |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 52 | TextLCD lcd(PTE20, PTE21, PTE22, PTE23, PTE29, PTE30, TextLCD::LCD16x2); // rs, e, d4-d7, LCDType |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 53 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 54 | AnalogIn Sensor(PTB0); //inicialización de un canal del ADC |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 55 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 56 | unsigned short int lectura_ADC; |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 57 | float Vent; |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 58 | float temperatura; |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 59 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 60 | //PROGRAMA PRINCIPAL. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 61 | //****************************************************************************** |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 62 | int main() |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 63 | { |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 64 | pc.baud(9600);//Velocidad bps (Taza de transmisión) |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 65 | pc.format(8,Serial::None,1);//8 bits de datos,sin paridad,1 bit de paro |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 66 | uart1.baud(9600);//Velocidad bps (Taza de transmisión) |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 67 | uart1.format(8,Serial::None,1);//8 bits de datos,sin paridad,1 bit de paro |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 68 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 69 | lcd.locate(0,0); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 70 | lcd.printf("Temperatura "); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 71 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 72 | while(1) //Bucle infinito |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 73 | { |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 74 | lectura_ADC = Sensor.read_u16();//Read the input voltage, represented as an unsigned short in the range [0x0000, 0xFFFF]. |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 75 | pc.printf("%d \n", lectura_ADC); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 76 | Vent = (2.30*lectura_ADC)/65535.0; |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 77 | pc.printf("%f \n", Vent); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 78 | temperatura = (Vent-0.6)/0.01; |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 79 | lcd.locate(0,1);//(col,row) |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 80 | lcd.printf("%.2f",temperatura); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 81 | lcd.putc(223); //imprime símbolo º |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 82 | lcd.printf("C "); //imprime C |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 83 | |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 84 | pc.printf("%f \n", temperatura); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 85 | wait(0.5);//1/2 segundo para refrescar lectura del ADC wait_ms(250);wait_ms(250); |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 86 | } |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 87 | } |
CHRISTIAN_GSL | 0:94d7e4f51a87 | 88 | //****************************************************************************** |