Raspberry PI

Sensore di temperatura DHT22

In questa pagina verrà illustrato come collegare ad una Raspberry un sensore di temperatura e umidità DHT22 e leggerne i dati. Il sensore in oggetto è in grado di rilevare temperature comprese tra -40°C e +80°C; la sua alimentazione deve essere compresa tra i 3 ed i 5.5V; e comunica tramite protocollo 1-WIRE, ovvero un protocollo in grado di comunicare con il processore tramite un solo filo, alimentazione e massa a parte.

Per il collegamento ad ua RASPBERRY occorrerà una resistenza di pull-up da 4.7KΩ da interporre tra il pin di alimentazione e quello di comunicazione. La lunghezza massima del cavo che può essere utilizzato dipende dalla qualità del cavo, il protocollo 1Wire è suscettibile alla capacità, utilizzare indi un cavo a bassa capacità, evitare cavi schermati ma preferire piattine telefoniche. Il funzionamento dovrebbe funzionare addirittura a 100 metri.

Attenzione! Utilizzo due di questi sensori su due distinte Raspberry, e quasi quotidianamente rilevo una o più misurazioni artefate. Proprio oggi ho avuto una misurazione di -19°C e 5500% di umidità. Sarà quindi utile implementare nel software una funzione di controllo per misure (false) troppo estreme. Il problema è dovuto al protocollo 1WIRE che è di tipo asicrono.

DHT22 / AM2302 Sensore digitale di temperatura e umidità con fili di collegamento

SODIAL(R) DHT22 / AM2302 sensore digitale di temperatura e umidita’ di 3.5V-6V DC

Materiale necessario:

  • una Raspberry
  • una piastra sperimentale (si può cablare anche in aria o su millefori)
  • cavetti
  • sensore DHT22
  • una resistenza da 4700Ω

Configurazione hardware/software

Iniziamo scaricando il software necessario:

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT

installiamo le librerie e riavviamo il sistema:

sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl
sudo python setup.py install
sudo reboot

Codice in PYTHON

Le istruzioni in PYTHON sono molto semplici e facilmente personalizzabili:

import Adafruit_DHT as dht
h,t = dht.read_retry(dht.DHT22, 4) #il 4 è il PIN dei GPIO scelto
print ('Temperatura = {0:0.1f}*C Umidita = {1:0.1f}%'.format(t, h))

Questo pagina prende spunto dal sito ADAFRUIT:

https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install-updated

https://cdn-learn.adafruit.com/downloads/pdf/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging.pdf

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.