Deel 6: De DHT22-sensor aansluiten op de Raspberry Pi Zero

De eerste sensor die ik wilde aansluiten was de DHT22, een digitale sensor die de temperatuur en de vochtigheid meet. De DHT22 is voor iets meer dan 2 dollar te koop in China en is het grote broertje van de DHT11.

Hardware

De DHT22 wordt soms geleverd op een speciaal bordje, een breakout board, maar in mijn geval heb ik gewoon gekozen voor de sensor, zonder breakout board. De sensor wordt ook wel de AM2302 genoemd en wordt gemaakt door Aosong in China (datasheet). De DHT11 kan ook gebruikt worden, maar meet een stuk minder nauwkeurig.

DHT22 sensor

Het aansluiten is relatief eenvoudig:

Fritzing DHT22 en Raspberry Pi Zero
Fritzing diagram DHT22 en Raspberry Pi Zero

De pinnen op de DHT22 van links naar rechts gezien:

  • Pin 1: Voeding (3.3V) → Pin 17
  • Pin 2: Data input → Pin 15
  • Pin 3: Niet in gebruik
  • Pin 4: Ground (GND) → Pin 9

Ik heb een weerstand van 10kΩ gebruikt, zoals wordt geadviseerd. Die zet je tussen de voeding en de datapin als pull-up. Het is letterlijk een kwestie van minuten om de sensor aan te sluiten.

Library

Om de sensor te kunnen uitlezen met de Raspberry Pi is een ‘library’ vereist. Adafruit (de elektronicaspecialist uit de Verenigde Staten) heeft die voor de DHT22 al gemaakt. Je kunt die vinden op GitHub. Bovendien moet de programmeertaal Python geïnstalleerd zijn. Dat laatste is overigens standaard het geval bij Raspbian.

Stap 1: Installeer de Python ontwikkeltools

Voordat je de libraries kunt installeren, moet je eerst de Python ontwikkeltools installeren. Dat doe je als volgt:

Is dat al gedaan? Dan zal het systeem dat netjes aangeven en verandert er niks. Is dat nog niet gedaan, toets Y en Enter.

Stap 2: Installeer de libraries

Je kunt op twee manieren de libraries installeren:

Met behulp van ‘git’

 

Handmatig, door de bestanden te downloaden van GitHub met wget.

Let op: de bestanden worden gedownload in de folder waar je je op dat moment bevindt!

 

Voorbeeldscript

Als de installatie voltooid is, kun je met een Python-script de sensor uitlezen. Adafruit heeft een voorbeeldscript gemaakt, dat je als volgt kunt aanmaken:

Stap 1: Open een nieuw document in Nano

Je opent nu een nieuw document met de naam DHT22voorbeeld.py in de Nano-editor.

Stap 2: Kopieer en plak het script

Kopieer en plak de volgende code. In het script wordt uitgegaan van de aansluiting van de DHT22 op GPIO pin 4.

Stap 3: Opslaan

Sla het script op met Ctrl + X, Y en Enter.

Stap 4: Draai het script

Het script kun je uitvoeren met het volgende commando:

 

Lees verder in Deel 7: De TSL2561-sensor aansluiten op de Raspberry Pi Zero.