Anda di halaman 1dari 5

Asignatura Microcontroladores y laboratorio

Código de Laboratorio L 11
Título de Laboratorio Sensor de humedad y temperatura
Estudiante

1. OBJETIVO

2. DESCRIPCIÓN DEL FUNCIONAMIENTO

3. ANÁLISIS MATEMÁTICO (Cálculos y ecuaciones, si es que aplica)


4. CIRCUITO Y/O DISEÑO EN PROTOBOARD

1
Asignatura Microcontroladores y laboratorio
Código de Laboratorio L 11
Título de Laboratorio Sensor de humedad y temperatura
Estudiante

5. LISTA DE COMPONENTES
Los componentes utilizados para realizar el laboratorio son los siguientes:
 Pic 18F4550.
 Panel de leds.
 Sensor de humedad y temperatura DHT11.
 Pantalla Lcd.
 Pickit 3.
 Cables de conexión.
 Protoboard.
6. EXPERIENCIAS ADQUIRIDAS (Qué aprendí al implementar el circuito)
Este circuito mejoro mi comprensión de la programación y manipulación de un pic, sobre todo
programación debido a que esta área tenia carencia de práctica. Además, pude comprobar el funcionamiento
del sensor de humedad y temperatura DHT11, así como su curva de respuesta.

7. CONCLUSIONES (¿Cómo le resulto?)


Las bases y manipulación de estos circuitos se han realizado con los debidos cuidados, todo esto hecho
posible por el pic. Gracias este circuito se pudo observar el funcionamiento del sensor de humedad y
temperatura DHT11. así como las posibles aplicaciones del pic 18F4550.
8. RECOMENDACIONES (Para la mejora en futuras implementaciones)
Para futuros proyectos sería recomendable añadir a la lista de componentes necesarios la placa para grabar
pic`s, razón por la que se facilita esta programación en este componente.
9. ANEXO: FOTOGRAFÍA DEL CIRCUITO REAL

10. CÓDIGO FUENTE DE PROGRAMACIÓN (solo para PICs y Arduino)


Ejercicio 1
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
2
Asignatura Microcontroladores y laboratorio
Código de Laboratorio L 11
Título de Laboratorio Sensor de humedad y temperatura
Estudiante

sbit LCD_D6 at RB4_bit;


sbit LCD_D7 at RB5_bit;

sbit LCD_RS_Direction at TRISB0_bit;


sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;

unsigned char check, T_byte1, T_byte2,


RH_byte1, RH_byte2, Ch;
unsigned Temp, RH, Sum;
void StarSignal() {
TRSID.F0=0;
PORTD.F0=0;
delay_ms(10);
PORTD.F0=1;
delay_us(30);
TRISD.F0=1;

}
void CheckResponse ()
{
Check = 0;
delay_us (40);
if (PORTD.F0==0 )
{
delay_us(80);
if (PORTD.F0 == 1)
Check = 1;
delay_us (40);
}
}

3
Asignatura Microcontroladores y laboratorio
Código de Laboratorio L 11
Título de Laboratorio Sensor de humedad y temperatura
Estudiante

char ReadData ()
{
char i, j;
for (j =0; j<8; j++)
{
while (!PORTD.F0)
;
delay_us(30);
if (PORTD.F0==0)
i &= ~(1<<7 (7 -j));
else
{
i |= (1 << (7-j));
while(PORTD.F0)

}
return i;

}
void main ()
{
OSCON = 0X70;
ADCON1 = 0x0F;
TRIS.F1 =0;
Lcd_Init ();
Lcd_Cmd (_LCD_CURSOR_OFF);
Lcd_Cmd (_LCD_CLEAR);
while(1)
{
StartSignal ();
CheckResponse ();
if (Check == 1)
{
RH_byte1 = ReadData ();
4
Asignatura Microcontroladores y laboratorio
Código de Laboratorio L 11
Título de Laboratorio Sensor de humedad y temperatura
Estudiante

RH_byte2 = ReadData ();


T_byte1 = ReadData ();
T_byte2 = ReadData ();
Sum = ReadData ();
if (Sum == ((RH_byte1 + RH_byte2 + T_byte1 + T_byte2) & 0)
{
Temp = T_byte1;
RH =RH_byte1;
Lcd_Out (1,6, "temp: C");
Lcd_Out (2,2, "humedad: %");
LCD_Chr (1, 12, 48 + ((Temp / 10) % 10));
LCD_Chr (1, 13, 48 + (Temp % 10);
LCD_Chr (1, 12, 48 + ((RH / 10) % 10));
LCD_Chr (1, 13, 48 + (RH / 10);
}
else
{
Lcd_Cmd (_LCD_CURSOR_OFF);
Lcd_Cmd (_LCD_CLEAR);
Lcd_Out (1,1, "Error de suma");
}
}
else
{
Lcd_Out (1,1, "Ninguna respuesta");
Lcd_Out (2,1, "Desde el sensor");
}
delay-ms (1000);

Anda mungkin juga menyukai