Temperatuur & vochtigheid sensor

In deze tutorial maken we kennis met de DHT-sensor, de afkorting van Digital Temperature and Humidity. Met deze sensor kun je de temperatuur en luchtvochtigheid meten. De sensor is door de fabrikant al redelijk geijkt, eventuele correcties kunnen softwarematig gedaan worden.

Specificaties DHT11
– Voeding: 3,3 – 5,5V.
– Temperatuur bereik: 0 tot +50 ºC.
– Temperatuur nauwkeurigheid: ±2,0 ºC.
– Vochtigheid bereik: 20 – 95% RH.
– Vochtigheid nauwkeurigheid: ±5,0% RH.
– Response tijd: < 5 sec.

Zowel de DHT11 als de DHT22 kan in deze tutorial gebruikt worden. Het verschil tussen de DHT11 en de DHT22 is dat de DHT22 wat nauwkeuriger is en ook metingen kan doen onder het vriespunt (-40 gr.) De DHT22 is wel iets duurder en geeft de waarde in decimalen weer, de DHT11 niet!

Aansluitingen DHT11 en DHT22

Pinbeschrijving van de DHT sensoren

LET OP: Er blijken ook andere versies in omloop te zijn. Controleer altijd de sensorpinnen!

Verbinden met de Raspberry Pi
Sluit de DHT sensor op de Raspberry Pi aan zoals hieronder aangegeven. De weerstand (4,7 kOhm) tussen de voeding en GPIO4 (pin 7) wordt gebruikt voor de pull-up.

Pin 3 van de sensor wordt niet aangesloten.

In plaats van pin 14 kan ook een andere GND-pin van de Pi gebruikt worden.

Python script
Onderstaand script leest een DHT11-sensor uit via GPIO 4 (pin 7) en geeft de waarden weer via de terminal.

Maak op de Pi in de home-directorie een map aan genaamd ‘DHT‘.

mkdir DHT

Ga hier in staan.

cd DHT

Er is nu een script nodig om sensortype DHT11 op GPIO 4 uit te lezen.

Zet het script in de map DHT of maak met de nano editor een bestand aan met de naam dht.py en kopieer de inhoud het script hierin. 

nano dht.py

Zoals je wellicht gezien hebt bevat het script de parameters voor de DHT11 en de aansluiting op GPIO 4.

Sla het script op en sluit de editor af met Ctrl-X en “J” of “Y” en [ENTER]

AdaFruit
De gedownloade scripts die we voor deze tutorial gebruiken zijn door AdaFruit beschikbaar gesteld en vereisen om de bibliotheek Adafruit_DHT. Om deze in de scripts te kunnen gebruiken zal eerst de bibliotheek geïnstalleerd moeten worden. Geef hiervoor de volgende commando’s:

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

cd Adafruit_Python_DHT

sudo apt-get install build-essential python-dev

sudo python setup.py install

Als bovenstaande geïnstalleerd is , kan je het script starten met het commando:

python dht.py

In mijn ruimte is het 21 graden Celsius en heeft het een vochtigheid van 42%

Script met commando parameters
Het script dat we hierboven gebruiken bevat reeds de specifieke parameters (type DHT-sensor en GPIO poort). Wil je in de commandolijn parameters gebruiken, bijvoorbeeld als je meerdere DHT sensors hebt aangesloten op verschillende GPIO pinnen, gebruik onderstaande het volgende script.

Geef het volgende commando met parameters om de sensor uit te lezen:

python dht.py [spatie] 11 of 22 [spatie] [GPIO-poortnr.]

Als de DHT11 sensor op GPIO 4 aangesloten is wordt het commando:

python dht.py 11 4

Als de DHT22 sensor op GPIO 12 aangesloten is wordt het commando:

python dht.py 22 12

Gegevens wegschrijven naar CSV bestand
Je kunt de ingelezen waarden ook opslaan in een .CSV bestand. Onderstaand script maakt ook gebruik van de commandolijn met parameters en slaat gegevens op in een bestand. Iedere maand wordt er een nieuw bestand aangemaakt.

Sla de code op als dht_csv.py

Start het script met het commando:

sudo python dht_csv.py 11 4

De naam van het csv-bestand wordt: DHT_DATA_[YYYYMM].csv

Nadat het script een paar keer gemeten heeft ziet de inhoud van het CSV bestand er als volgt uit:

Doen = leren!
We zijn aan het eind gekomen van deze tutorial. Ik adviseer je om wat te gaan experimenteren met de scripts. Leef je uit! Wat kan er misgaan als je een back-up hebt gemaakt van de scripts? Het ergste dat je kan overkomen, is dat je het nog een keer mag doen….

Een leuke huiswerkopdracht is om het script met CRONTAB ieder uur automatisch op te starten. Het csv-bestand zal zich vullen waardoor je in staat bent om bijvoorbeeld in MS Excel een grafiek ervan te maken.

Mogelijke problemen
– Mochten er problemen zijn met het laden van de bibliotheek? Ga dan in de DHT directorie staan. Voer dan onderstaande commando’s in. Er worden dan aanvullende onderdelen van AdaFruit geïnstalleerd.

pip3 install adafruit-circuitpython-dht

sudo apt-get install libgpiod2

– Heel soms krijg je geen resultaat van de scripts, dat komt omdat Debian/Raspberry Pi OS de (precieze) timing van de aanroepen niet kan garanderen!

Have A Nice Day!

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*