Tutorial 14: Temperatura y Humedad relativa con DHT22 y LCD 16x2 con PIC18F4550
Вставка
- Опубліковано 8 лют 2025
- Donaciones a Paypal: www.paypal.me/...
Facebook: / cqtechnology
Grupo de facebook: / 360990114490491
Como medir temperatura y Humedad relativa con DHT22 y visualizarlos en LCD 16x2 con PIC18F4550 el compilador XC8 y MPLABX.
Código en github: github.com/CAR...
Código en drive: drive.google.c...
Enlace para descargar código mega.nz/#!yXAl...
Gracias por compartir esta información. No podía hacer leer el DHT22 con Proteus. Viendo tu explicación sobre los protocolos de comunicación bidireccionales y agregando un osciloscopio al circuito (pin2), vi que el tiempo de señal en bajo para inicializar la captura es de 2 ms. Luego, configurando en Proteus el DHT 22 en la parte de propiedades, pude ver que el circuito comenzó a leer los datos. Un genio amigo !!!!!
Gracias Carlos, definitivamente, no se trata de copiar librerías, sino de entenderlas para poder solucionar los problemas. Saludos
Gracias por compartir la información, así deberían ser todos los vídeos sin egoísmo y bien explicado
Gracias por compartir excelente vídeo, muy bien explicado
A la orden. Saludos Jhon
Excelente y didáctico video como siempre.
Excelente Video bien explicado, saludos.
si te quedo?
muchas gracias, por el video enserio me ayudará mucho
hola, si te quedo?
excelente video amigo, muy buena tu explicación.
Excelente explicación.
Me fue muy útil, los videos son fáciles de comprender. Es posible usar un PIC16F873A para leer este sensor? De ser posible qué podría usar en vez del registro LAT en la librería del DHT22?
Hola Marvin, Sí se puede utilizar un PIC16F873A, la única diferencia es que los PIC16F no tienen LAT, en ese caso en lugar de LAT debes usar PORT. Saludos
Perfecto, así lo haré. Muchas gracias.
@@CarlosQL En el archivo LCD.c, en la función LCD_integer(), me aparece un error en una línea para convertir a ASCII que usa el identificador itoa. Este no pertence a ninguna de las librerías incluidas. Hay alguna otra alternativa a este código? itoa(st,data,10); //convert to ascii
Hola, muy buenos lo vídeos, excelente la explicación y los ejemplos
la placa de desarrollo lo hiciste vos?
Hola Alejandro, gracias por los comentarios, así es, es una placa que desarrolle hace mucho tiempo
@@CarlosQL ya compartiste el esquema ? porque busque en mercado libre y no encontré ninguna
gracias por responder
@@AlejandroJNieva No he subido el esquema, lo reviso y cuando lo encuentre lo subo, saludos
buen dia. y para picbasic pro como seria la configuracion? he buscado y parece que nadie sabe como se hace y usted explica muy bien . gracias
Por qué utilizas printf en lugar de LCD_printf?
Muy buena pregunta, lo muestro en el video como alternativa, la ventaja de printf, es que te permite formatear datos, es decir convertir datos de tipo int, float en cadena de caracteres, mientras que LCD_printf solo puedes enviar cadena de caracteres. Lo malo de printf es que consume mucha memoria. Saludos
Hola, tu video me ayudo mucho. Solo que no funciona bien cuando intente usar el DHT22 y un actuador con el cruce por 0 del PIC16F18877 ¿Se puede solucionar o usted lo a intentado?. Saludos
Hola, excelente explicación. Tengo un problema, tengo el MPLAB X IDE v5.20, pero no me llega a compilar el programa
probablemente es por la versión de MPLABX, abre la ventana de Project Properties y donde dice Packs cambia el archivo DFP
hola disculpa, ¿como podría mostrar los valores en una nextion? gracias
hola, muy buen video, pero como lo puedo hacer con el MCC?, es que lo intente hacer, pero no se como configurar que un pin cambie de entrada a salida...
Con el MCC le das una configuración inicial al pin (entrada o salida) y luego mediante la librería haces el cambio de entrada a salida
excelente
Cómo podría emigrarlos a un pic24?
hola, muy buen video, pero como lo puedo hacer con el MCC?
Hola, con el MCC configurarias los pines, y luego, desde el main, llamarías a las mismas rutinas del dht22. Saludos
Bien
que es lo que deberia modificar para que funcionara en dht 11
Hola Santiago. Básicamente los tiempos de espera al inicio de la comunicación en el dht11 son de 20us a 40us, y que el resultado de temperatura y humedad es solo en valores enteros.
oye en esta linea del programa *dht_temperatura = (float)((rawtemperature & 0x7fff) / 10.0)* -1.0; porque lo divides entre 10 y lo multiplicas por -1.0
eso que quiere decir podrias explicarme bien esa parte
Hola Cesar, se divide entre 10.0 para separar la parte entera de la parte decimal de la temperatura. Antes de eso el resultado de la temperatura estaba en una variable entera de 16 bits (rawtemperature) y en este caso se multiplica por -1.0 para valores de temperatura negativa. Saludos
COMO me contacto contigo? soy de LIma, necesito una asesoria
Hola por whatsapp 991915652
Buenas tardes intento imprementarlo y me aparece en el lcd ERROR no se si me podrias ayudar, le e puesto el cristal y no muestra mediciones. Antemano gracias.
Hola, en la simulación de proteus, coloque un pulsador entre el pin de datos del dht22 y el pin RC2, esto para simular cuando el sensor no esta conectado, si quieres que funcione asegúrate que el pulsador este presionado. Saludos
@@CarlosQL lo tengo conectado directamente e igual no prende, e puesto un led para ver si el sensor emite informacion y si prende el led pero el lcd sigue arrojando error XD. Gracias por la atencion.
@@alexanderfernandezmendoza149 acabo de descargar el programa y lo he probado y funciona, no has modificado nada ? Lo estas probando en real o en proteus ??
@@CarlosQL en proteus todo esta correcto en el real tengo problemas
@@alexanderfernandezmendoza149 Estas usando cristal de 20 MHz, si puedes prueba con otro cristal de 20MHz
Una pregunta, tienes que instalar algun tool adicional? al momento de cargar el programa en el mplab me aparece que el tool que estoy usando esta deshabilitado, saludos!!
Probablemente es por la versión de MPLAB X, abre la ventana de Project Properties y donde dice Packs cambia el archivo DFP, escoge la última versión. Saludos.
@@CarlosQL gracias, como le agrego la comunicacion serial con rs485 si lo estoy haciendo en pic c compiler, tu ayuda xfa
@@isaacalfredovillavicencio1189 Hola Isaac, para RS485 se utiliza el periférico USART, agregando un Pin para habilitar la comunicación y un CI max485. No manejo pic C compiler, pero ya tienen su librería de USART. Saludos
que lenguaje usa?
Es lenguaje C, con el compilador XC8. Saludos
Aaaa graciasss, y no hay alguna forma de pasar en assembler?
Carlos QL 🥰
@@arielortizvergara7198 Tengo el código del dht11 en asm, lo busco y lo subo
E o
Código
Fonte ???
En la descripción del video están los enlaces de Mega, GiHub donde está el código. Saludos. drive.google.com/file/d/1jucEv3Mv__6d-PMvpN4ekWulTtDsJDJr/view?pli=1
cuanto tiempo te demoras para grabar y editar el video?, es un chambon por lo que veo, saluds
enlaces caidos...
Hola, acabo de probar el link y esta bien. ¿que error te aparece? Los archivos están en Mega. Intenta creándote una cuenta de Mega o intenta desde otro navegador. Voy a mover los códigos a GitHub, cuando tenga un poco de tiempo. Saludos
@@CarlosQL el clásico: "No se puede acceder a este sitio web mega.nz ha tardado demasiado tiempo en responder."
El link que pusiste se cayó...
Hola, acabo de probar el link y esta bien. Los archivos están en Mega. Intenta creándote una cuenta de Mega.
@@CarlosQL disculpa, el problema era mi navegador 😅
El link que pusiste se cayó
Hola, acabo de probar el link y esta bien.
5:20
I CAN'T UNDERSTAND SPANISH