Escolar Documentos
Profissional Documentos
Cultura Documentos
Diagrama de control
Para último caso que la temperatura sea menor de 10 °C, el despliegue del LCD,
el semáforo, será de la siguiente manera.
Diagrama de control
Ese es el funcionamiento del circuito de control, se han tratado los tres posibles
casos. Por lo que es de esta manera que el sistema funciona.
Interfaz grafica
En esta siguiente imagen observamos que ahora la temperatura es de 19°C. Por lo
tanto, nos encontramos en una alerta media lo cual lo vemos en la imagen ya que
es de color amarillo y se encuentra un motor activado
Interfaz grafica
Para esta imagen vemos que la temperatura es de 40°C. Por lo tanto nos manda
una señal de alerta así como los indicadores color rojo
Proyecto final
#include <16F887.h>
#device ADC=10 //Resolución de 10 bits para ADC
#fuses INTRC_IO,NOCPD,NOWDT,NOPUT,NOLVP,NOBROWNOUT,MCLR
#use delay(clock=2M)
#define use_portd_lcd TRUE
#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7) // Pines para establecer comunicación RS232
#include <lcd.c>
float sensor(int8 primero , int8 segundo) //función que controla al sensor de temperatura par
{
while(true) //Cliclo siempre activo
{
set_adc_channel(primero); //Seleccionando canal a primero
delay_us(10); // tiempo de espera de 10 us segundos
conversion=read_adc(); //conversión lee el canal analógico
set_adc_channel(segundo); // definiendo el canal que se va a leer
delay_us(10); // tiempo de espera de 10 us segundos
}
if(temo>10) //temo mayor a 18
{
OUTPUT_HIGH(PIN_C0); //enciende C0
OUTPUT_LOW(PIN_B6); //enciende Buzzer
}
else
{
OUTPUT_LOW(PIN_C0); //apaga C0
OUTPUT_LOW(PIN_B6);
}
else
{
OUTPUT_LOW(PIN_B7); //apaga B7
OUTPUT_LOW(PIN_B6); //enciende B7
}
if(conversion1>conversion) //conversion1>conversion
{
temp=conversion1-conversion;
temo=temp*500/1023 ;
lcd_gotoxy(2,1); //posición 2x 1y del LCD
printf(lcd_putc,"Tempera:-%f",temo); //impirme en LCD
lcd_gotoxy(2,2); //posición 2x 2y del LCD
printf(lcd_putc"Grados Celcius"); //imprime en LCD
delay_ms(200); // espera 200 ms
// printf("\fUNAM MECATRONICA FI\rCircuitos Digitales \rTemperatura: -%6.2f C°",temo); //Im
delay_ms(200); //tiempo de 200 ms
if(temo>0) //temo mayor a 0
{
OUTPUT_high(PIN_C5); // enciende C5
delay_ms(100); //espera 100 ms S
OUTPUT_low(PIN_C5); // apaga C5
delay_ms(100); //espera 100 ms S
OUTPUT_high(PIN_C5); //enciende C5
delay_ms(100); //espera 100 ms S
OUTPUT_low(PIN_C3); // apaga C3
OUTPUT_low(PIN_C4); // apaga C4
}
}
delay_ms(800); //tiempo de espera 800 ms S
}
return temo; //regresa el valor de temo
}
void main ()
{
set_tris_b(0x0C); //configurando como salida el puerto B
set_tris_c(0x00); //configurando como salida el puerto C
OUTPUT_LOW(PIN_B7); //apaga B7
OUTPUT_LOW(PIN_C0); //apaga C0
}
CONCLUSIONES DE SENSOR DE
TEMPERATURA Y CONTROL CON PIC
El convertidor analógico digital es una herramienta con bastante utilidad para
realizar el control de temperatura. Ya que lo que hace, es convertir una señal
analógica de un sensor de temperatura en una digital. Lo útil de esta parte es que
sistemas o dispositivos actuales manejan señales digitales. Las señales ya
digitalizadas son mas fáciles de procesar y de manipular, además de poder ser
empleadas en algún caso especifico de implementación de sensado o control con
temperatura.
El ADC del PIC además es capaz de leer señales de audio, video, se sensores de
presión, temperatura, proximidad etc. Este ADC contiene 14 canales, por lo que
se pueden tener varias señales siendo adquiridas. Existen sensores que entregan
una señal ya digital, en este caso esos sensores ya tienen integrado un ADC. En
el caso de que entreguen una señal digital, usualmente utilizan protocolos de
comunicación. Los protocolos de comunicación convencionales para este tipo de
sensores son I2C y SPI.