Il protocollo che vado a descrivere, non è un protocollo standard ma proprietario ed è utilizzato per dialogare con i sensori siglati DHT11 e DHT22.
Questi sensori permettono di misurare la temperatura e l'uminidità ambientale con più o meno precisione, in base al modello scelto.
Il protocollo è di tipo 1 wire, (1 filo).
Questo sistema "costringe" la comunicazione a trasmettere e ricevere i dati su un solo filo più GND.
La sua alimentazione può variare da 3 a 5,5Volt e necessita di una resistenza da 5Kohm tra l'alimentazione ed il piedino DATA.
Le informazioni inviate dal sensore sono di 40 bit in seriale divise per 5 byte così descritte:
1byte ---> RH data intero (Uminità)
2byte ---> RH data decimale (Uminità)
3byte ---> C data intero (Temperatura)
4byte ---> C data decimale (Temperatura)
5byte ---> Somma dei due valori precedenti (check-sum)
Per poter ricevere le informazioni, il microcontrollore (o altro dispositivo), deve portare a zero per 18ms il piedino data e poi portarlo a livello logico uno per 20us (il sensore accetta valori da 20 a 40 us), come si può vedere nella foto.
Il microcontrollore risponde ponendo l'usicta DATA a livello logico zero per 80us e poi a livello logico 1 per altro 80us
Ha inizio la trasmissione, il piedino DATA si pone a livello logico zero per 50us tra un bit ed un altro.
Per distinguere un valore zero da un valore alto, il sensore utilizza dei tempi nel seguente modo:
Valore zero ---> Tensione alta per 26-28 us
Valore uno ---> Tensione alta per 70 us
Calcolando il tempo in cui il piedino DATA rimane alto si può sapere se è un valore zero o uno.
Contanto e memorizzando i singoli byte si ottendono le misure di umidità e temperatura.
Il quinto byte (check-sum) è la somma dei due valori e di solito è usato come controllo per la ricezione dei dati.
Da notare che il modello DHT11 usa solo i byte 1 e 3 oltre al 5, mentre il modello DHT22 li usa tutti e 5, da quì si capisce perchè il modello DHT22 è più preciso.
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.
Aggiunta la sezione corsi.
Aggiunto il programma sulla telemetria (in fase di sviluppo).