Op een Raspberry Pi kun je een groot aantal verschillende sensoren aansluiten, wil je gaan experimenteren met sensoren dan kun je starten met een DHT11 of een DHT22 luchtvochtigheid- en temperatuursensor.
De DHT22 is een meer geavanceerde uitvoering van de DHT11. De sensor kan de waardes van temperatuur en luchtvochtigheid uitlezen tot op een tiende, hierdoor is deze nauwkeuriger dan de DHT11 welke alleen hele waarden kan registreren.
De DHT22 sensoren worden ook verkocht als AM2302 een complete module met de benodigde weerstanden. In dit stappenplan gebruiken we een AM2302 variant.
Componenten voor dit project
• AM2302 (DHT22) temperatuur- en luchtvochtigheidssensor
• 3x Dupont verbindingskabel (female/female)
Aansluitschema voor luchtvochtigheid- en temperatuursensor
Raspberry Pi A+/B+, 2 en 3
Verbind de pinnen van AM2302 (DHT22) sensor met de Raspberry Pi volgens het onderstaand schema:
Sensor Pin VCC -> Raspberry Pi pin (1) 3.3v
Sensor Pin DAT -> Raspberry Pi pin (7) GPIO 4
Sensor Pin GND -> Raspberry Pi pin (6) Ground
Python library installeren
Om te kunnen communiceren met de temperatuursensor hebben we de speciale Python library van Adafruit nodig, deze kun je installeren met behulp van de onderstaande twee stappen:
sudo apt-get install python-dev
git clone https://github.com/adafruit/Adafruit_Python_DHT
cd Adafruit\_Python\_DHT && sudo python setup.py install
Python script
# Raspberry Pi Tips & Tricks - https://raspberrytips.nl import Adafruit_DHT humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4) humidity = round(humidity, 2) temperature = round(temperature, 2) if humidity is not None and temperature is not None: print 'Temperatuur: {0:0.1f}*C'.format(temperature) print 'Luchtvochtigheid: {0:0.1f}%'.format(humidity) else: print 'Geen data'
Je kunt het Python script heel eenvoudig downloaden op je Raspberry Pi met behulp van het commando:
wget https://raspberrytips.nl/files/dht22temp.py
De DHT22 (AM2302) sensor uitlezen
Nadat het Python script is gedownload kunnen we de waarden van de sensor gaan uitlezen, dit doe je door het Python script met root rechten te starten:
sudo python dht22temp.py
Na het uitvoeren van het script zal de gemeten temperatuur en luchtvochtigheid worden weergeven.