Post-Tarea - Edwin Medina
Post-Tarea - Edwin Medina
Post-Tarea - Edwin Medina
CÓDIGO: 203038
Aporte Individual
Presentado a:
Elber Fernando Camelo
Tutor
Entregado por:
Grupo: 203038_70
Objetivos
Implementar un sistema de instrumentación con visualización de led
´s y una pantalla LCD.
https://youtu.be/IKuI_7rzO2w
Desarrollo
Control de temperatura
Para el desarrollo de la post-tarea se implementa un control de
temperatura con sensor LM35, un PIC 16f877a, una pantalla LCD,
resistencias, motores, entre otros:
Sensor LM35
El LM35 es un sensor de temperatura con una precisión calibrada de
1 °C. Su rango de medición abarca desde -55 °C hasta 150 °C. La salida
es lineal y cada grado Celsius equivale a 10 mV, por lo tanto:
150 °C = 1500 mV
-55 °C = -550 mV
Opera de 4v a 30v.
PIC 16F877A
El PIC16F877A presenta 256 bytes de memoria de datos EEPROM, auto
programación, un ICD, 2 comparadores, 8 canales de convertidor
analógico a digital (A / D) de 10 bits, 2 funciones de captura /
comparación / PWM, el puerto serie síncrono puede configurarse como
interfaz de periféricos en serie de 3 hilos (SPI ™) o el bus de circuito
integrado de 2 hilos (I²C ™) y un transmisor receptor asíncrono
universal (USART). Todas estas características lo hacen ideal para
aplicaciones A / D de nivel más avanzado en automoción, industrial.
LCD 16 x 2:
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que
dispone de 2 filas de 16 caracteres cada una. Los píxeles de
cada símbolo o carácter varían en función de cada modelo.
Características:
16 caracteres x 2 líneas
Caracteres de 5x8 puntos
Tamaño de carácter: 5.23 x 3 mm
Puede mostrar letras, números, caracteres especiales, y hasta 8
caracteres creados por el usuario
Back light de LED color Azul
Caracteres color blanco
Interface paralela. Puede operar en modo de 8 bits, o de 4 bits para
ahorrar pines del microcontrolador
Posee controlador KS0066U o equivalente on-board (compatible
Hitachi HD44780)
Voltaje de alimentación: 5 V
Programación PIC
Se realiza la programación mediante el software PIC-C
# include <16f877a.h> output_low(pin_c5);
# device *=16 output_low(pin_c6);
# device adc=10 output_high(pin_c7);
# use delay(clock=4M)
# include <lcd.c> lcd_gotoxy(1,2);
printf(lcd_putc,"Temperatura Alta ");
float temperatura; delay_ms(200);
float s1; }
lcd_init(); lcd_gotoxy(1,2);
lcd_gotoxy(5,1); printf(lcd_putc,"Temperatura correcta");
printf(lcd_putc,"Temperatura"); delay_ms(200);
delay_ms(350); }
lcd_init();
//****************si la temperatura es Baja
if(temperatura<=35&&temperatura>=1)
while(true) {
{ output_low(pin_a1);
temperatura=((float)read_adc()/2)-1; output_low(pin_a2);
//********grados centigrados output_high(pin_a3);
lcd_gotoxy(5,1);
printf(lcd_putc,"%f",temperatura); output_low(pin_c5);
lcd_gotoxy(14,1); output_high(pin_c6);
printf(lcd_putc,"Grados"); output_low(pin_c7);
delay_ms(200);
lcd_gotoxy(1,2);
//***********si la temperatura es mayor que 60 printf(lcd_putc,"Temperatura Baja ");
if(temperatura<=500&&temperatura>=61) delay_ms(200);
{ }
output_high(pin_a1); }
output_low(pin_a2);
output_low(pin_a3); }
Simulación en Proteus