Raspberry Pi – Temp en luchtvochtigheid sensor DHT11

 Hardware

DHT11

DHT11 module

BESTEL NU!

Met deze module kun je de temperatuur en luchtvochtigheid meten, hij is door de fabrikant al behoorlijk geijkt, eventuele aanpassingen (bijvoorbeeld ijken) kunnen softwarematig gedaan worden.

  • Werkt op: 5V.
  • Temperatuur bereik: 0 – +50 ºC.
  • Temperatuur nauwkeurigheid: ±2,0 ºC.
  • Vochtigheid bereik: 20-95% RH.
  • Vochtigheid nauwkeurigheid: ±5,0% RH.
  • Response tijd: < 5 sec.

Pinout

DHT11 Pinout 
Pin:Functie:
01+5V
02Data
03NC (niet aangesloten)
04GND

De Keyes versie (met weerstand):

DHT11 Pinout keyes 
Pin:Functie:
01Data
02+5v
03GND

LET OP: Er zijn ook andere versie in omloop, controleer altijd de pinout of raadpleeg de handleiding!

Wat heb je nodig?

De sensor werkt met binaire data, er is daarvoor een bibliotheek geschreven om het makkelijk te maken.

1) Python DHT sensors bibliotheek

Aansluiten op de Raspberry Pi

Sluit de DHT11 aan zoals aangegeven op onderstaand schema:

Raspberry Pi DHT11 schema

 Ps. de weerstand is nodig voor de pull-down!

Raspberry Pi pin:DHT11 pin:
1 (+3.3v)1 (+3.3 - 5v)
72 (data)
14 (GND)4 (GND)

Scripts

Onderstaand script leest eenvoudig een DHT 11 sensor uit op GPIO 4, en geeft de waarden weer via de console.

Maak een bestand aan, bijvoorbeeld /usr/src/dht.py (evt onder root, en vergeet niet chmod te gebruiken om het bestand uit te kunnen voeren), voeg deze inhoud daar in toe:

Commandolijn parameters

Wil je commandolijn parameters gebruiken?, bijvoorbeeld als je meerdere DHT sensors hebt aangesloten via de GPIO pinnen, gebruik deze voorbeeld code.

Start het script met commandolijn:  sudo python /usr/src/dht.py [11/22/2302] [GPIO pin]

Het commando sudo python /usr/src/dht.py 22 24  leest bijvoorbeeld een DHT22 sensor uit die aangesloten is op  GPIO pin 24 (Broadcom SOC)

Let op: de DHT11 geeft geen decimalen weer, de DHT22 wel!

Gegevens wegschrijven naar CSV bestand

Je kan de gegevens ook opslaan in een CSV bestand, onderstaand script maakt ook gebruik van de commandolijn parameters en slaat gegevens op in een bestand (per maand) in /usr/src/DHT_DATA_[YYYY]_[MM].csv

De inhoud van het CSV bestand ziet er zo uit:

Let op: Soms krijg je geen uitslag/resultaat van de scripts, dat komt omdat Linux de (precieze) timing van de aanroepen niet kan garanderen!

Top