Paso 3: Datos onda
El momento de forma de onda de datos es mostrar arriba. A diferencia del detector IR donde todos hicimos fue monitor de pulsos de datos entrantes, los sensores DHT requieren un pulso de disparo de la foto antes de envían los datos. Es similar al sensor de ultrasonidos que utiliza en el episodio 3 excepto que el DHT sólo utiliza uno de los pines para el gatillo y la respuesta. Porque es un interfaz 1-wire que el software PIC tiene que cambiar la definición del pin de interrupción externa sobre la marcha para que pueda funcionar como entrada y salida durante la secuencia de comunicaciones. Cada vez que una actualización se desea el PIC será definir el pin como salida I/O y luego cambiar a la entrada de interrupción externa para recibir los datos del DHT. Todo eso se refleja en la forma de onda. Inicialmente, el PIC envía un pulso de baja por lo menos 18 ms de longitud. Después de eso él cambia el pin a la entrada y la resistencia de pull-up de 4,7 k detallada en la sección hardware asegura que el DHT ahora ve el nivel de lógica alta requiere antes de que responda. Igual que el sensor de infrarrojos en el episodio 2, el DHT enviará una salida de pulso de mensaje (80 Estados Unidos baja seguidas por Estados Unidos 80 alta). Los pulsos de datos posteriores siempre comienzan con los 50 Estados Unidos baja seguido de ya sea 26 nos pulso alto (bits de datos = 0) o por 70 nos alto pulso (bits de datos = 1).
La secuencia de datos completa de la DHT se compone de 40 bits. Los primeros 16 bits son datos de humedad, el segundo 16 bits son datos de temperatura, y los últimos 8 bits son una suma de comprobación del mensaje. La DHT-11, los primeros 8 bits son un valor entero para la humedad y el segundo 8 bits son ceros. Los tercera 8 bits son un valor entero para la temperatura y el cuarto 8 bits son cero. Hace la vida fácil en el software. Porque el DHT22/AM2302 es más preciso y tiene una gama más amplia de la temperatura y la humedad, el formato de datos se define diferentemente. Para la humedad, los bits de 16 datos representan un entero y un valor fraccionario (con un decimal). Por ejemplo, un valor decimal recibido de 652 representa una humedad de 65.2%. Los 16 bits para la temperatura del formato de la misma manera excepto que el bit más significativo representa el signo de los datos. Los datos no están en 2 complementan formato de modo que una temperatura positiva tendrá el mismo valor numérico como la temperatura negativa equivalente.