Für das Tomato Pi – Projekt soll die Temperatur und Luftfeuchtigkeit ausgelesen werden. Meine Wahl viel dabei auf den Sensor DHT11 (6,49€ bei Amazon). Günstiger habe ich ihn bei EXP-Tech zusammen mit anderen Sachen bestellt.
Der Sensor DHT11 kann laut Datenblatt die Luftfeuchtigkeit von 20 – 90% messen und die Temperatur von 0 bis 50° Celsius. Er gilt wohl als relativ ungenau. Besser sind z.B. der größere “Bruder” DHT22 oder andere Sensoren. Für mich als Einstieg entscheidet aber auch der Preis. Und da ich nicht in den kommerziellen Gemüseanbau starten möchte, reicht die Genauigkeit wahrscheinlich aus.
Bisher habe ich wenig Erfahrungen mit solchen Sensoren und so war für mich als Einstieg in den DHT11 die Seite von Adafruit hilfreich. Nun aber ran an das Werk. Alles gar nicht so schwer, wenn man sich an die guten Dokumentationen im Netz halten kann. Glücklicherweise sind dank Arduino und Raspberry Pi Communities entstanden, die einfach super für solche Projekte sind.
Auf den Seiten von Adafruit erwartet ein Schaltbild für ein Breadboard. Habe ich mir für meine Versuche auch gekauft inkl. Jumperkabel usw.
Das Bild zeigt eigentlich den DHT22, der wird aber wie der DHT11 angeschlossen. Links sehen wir die Ausgänge vom Raspberry Pi. Hier durch einen Pi-Header von Adafruit auf das Breadboard gebracht. Kann man machen, muss man aber nicht. Für den einen Sensor nutze ich einfach ein paar Jumperkabel.
Was brauchen wir nun eigentlich?
- Raspberry Pi
- DHT11
- Jumper-Kabel
- Widerstand 4,7 kOhm – 10kOhm
Der Anschluss ist eigentlich einfach. Von vorne gesehen wird der erste Pin des Sensors an Pin 1 vom Raspberry Pi angeschlossen, also an 3,3 Volt. Der zweite Pin an Pin 4 vom Pi (GPIO 4) und per Widerstand 4,7 kOhm an Pin 1 am Pi (3,3 Volt). Pin 3 am Sensor ist unbeschaltet und der letzte Pin wird mit GND am Pi verbunden.
Also: Sensor / Pi
- Pin 1 an 3,3V
- Pin 2 an GPIO4 und über Widerstand an 3,3V
- Pin 4 an GND
Leider bekomme ich aktuell kein besseres Bild gemacht, weil der Pi für den Testaufbau in einer dunklen Ecke steht. Das Ganze sieht komplizierter aus, als es ist. Einfach ein Schritt nach dem anderen. Ich hätte auch das eine oder andere Kabel sparen können, musste mich aber selbst ein wenig in solche Aufbauten reindenken.
Nun kann der Pi gestartet werden und der Software-Teil kann starten. Es gibt da unterschiedliche Ansätze, aber ich bleibt vorerst bei dem bei Adafruit beschriebenen Weg.
$ git clone git://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
$ cd Adafruit-Raspberry-Pi-Python-Code
$ cd Adafruit_DHT_Driver
Dann den C-Code Testen
sudo ./Adafruit_DHT 11 4
Geklappt hat es bei mir erst nach dem zweiten Aufruf. Insgesamt klappt es bei mir nur unregelmäßig. Vielleicht bringt ein anderer Widerstand etwas, vielleicht muss man das über Software lösen.
Lösungsvorschläge gibt es auch bei Adafruit. Die Jungs und Mädels schreiben die Ergebnisse der Messungen direkt in Google Docs. Auch ganz spannend, aber nicht das was ich vorhabe.
Die Sensorwerte sollen später auch einer Webseite landen. Mit History, Charts usw. Ob Datenbank, Log oder anderes zum Einsatz kommt, werde ich mal sehen. Direkt auf dem Pi wollte ich keine Datenbank laufen lassen. Sollte da doch mal der Saft (Strom) weggehen, kann das übel enden für die Datenbank. Natürlich könnte man auch die sichern, aber vielleicht ist ein flache Datenbank in einem Log für die paar Sensorwerte gar nicht schlecht.
Darüber berichte ich dann aber in einem nächsten Artikel.