Estoy desarrollando para NodeMCU V0.9 con NonOS SDK y no puedo hacer que se comunique con un sensor DHT22.
Cableado: 3,3 V en NodeMCU -> + en DHT22, Tierra a - y pin D1 a la señal, hay una resistencia pull up de 6,8 k en la línea de datos.
De acuerdo con la hoja de datos de DHT22, la MCU debe comenzar bajando la línea de datos durante un poco más de 1 ms después de tenerla en alto durante 1 ms y luego debe escuchar lo que envía DHT22.
Mi código para hacer esto es el siguiente:
gpio_output_set(_pinNumber, 0, _pinNumber, 0);
os_delay_us(START_SET_HIGH_TIME_US);
gpio_output_set(0, _pinNumber, _pinNumber, 0);
os_delay_us(START_SET_LOW_TIME_US);
gpio_output_set(0, 0, 0, _pinNumber);
Pude verificar que el NodeMCU se comporta como se esperaba usando un analizador lógico (ver imagen)
Descarté un DHT22 defectuoso probando 3 diferentes. El DHT22 no responde con los datos como se esperaba.
¿Alguien ha encontrado este comportamiento?
¿Ha intentado usar una de las innumerables bibliotecas de Arduino que hablan con el DHT22? Por ejemplo, lea learn.adafruit.com/dht? Su código fuente es abierto y puedes emular lo que hacen de la manera que quieras.
Le recomiendo que ejecute el código de alguna biblioteca y observe que realmente funciona, y luego use su analizador lógico para ver qué está haciendo realmente ese código, en lugar de contar con su inspección/lectura del código. Es probable que te hayas perdido algunos matices de lo que está haciendo la biblioteca que estás usando como referencia.
elhe
elhe
elhe
elhe