Aktion: Bodenfeuchtigkeitssensor
Jetzt, wo du weißt, wie man den Programmcode ausführt und eine LED zum Leuchten bringt, wollen wir als nächstes die Werte eines Sensors auslesen. Dazu benutzen wir den Bodenfeuchtigkeitssensor.
Verwendung
- Der Bodenfeuchtigkeitssensor misst die elektrische Kapazität des Erdbodens und somit dessen Feuchtigkeitsgehalt.
- Der Sensor ist korrosionsbeständig, das heißt, dass er nicht so leicht rostet oder durch chemische Reaktionen beschädigt wird.
Technische Daten
- Betriebsspannung: 5 V
- Ausgangsspannung: 0 - 3 V
Mit dem Mikrocontroller verbinden
Der Bodenfeuchtigkeitssensor hat drei Kabel:
- Minuspol (schwarzes Kabel)
- Pluspol (rotes Kabel)
- Analoges Signal (gelbes Kabel)
Du schließt die Kabel wie folgt an deinen Mikrocontroller an:
- Denk daran, dass der Mikrocontroller vom USB-Strom getrennt ist, bevor du Änderungen am Stromkreis machst
- Verbinde das schwarzen Kabel (Minuspol) des Sensors und mit dem G (Ground) Steckplatz auf dem Mikrocontroller
- Verbinde das roten Kabel (Pluspol) des Sensors mit dem VV Steckplatz auf dem Mikrocontroller
- Verbinde ein gelben Kabel des Sensors und dem A0 Steckplatz des Mikrocontrollers
Programmierung
Hinweis: Solltest bereits Code von einer vorherigen Aufgabe im Editor stehen kannst du diesen löschen.
Nachdem der Aufbau steht und wir den Mikrocontroller mit dem Laptop verbunden haben, muss nun noch der dazugehörige Code in die Arduino-IDE eingegeben werden, um die Sensordaten im seriellen Monitor anzuzeigen:
void setup() {
pinMode(A0, INPUT); // A0 als Eingang definieren
Serial.begin(115200); // Serielle Kommunikation aktivieren
}
void loop() {
int analogValue = analogRead(A0); // Auslesen des analogen Sensorwertes
Serial.println(analogValue); // Ausgabe des Wertes auf der seriellen Konsole
delay(1000); // Eine Sekunde warten
}
Solltest du den Code rüber kopiert haben, gehe ihn noch einmal Zeile für Zeile durch, um zu verstehen, was genau hier passieren soll. Für ein besseres Verständnis ist es immer ratsam, sich die Dokumentation der Programmiersprache anzusehen. Diese findest du hier.
Kompiliere anschließend den Code in der Arduino-IDE und lade diesen auf den Mikrocontroller hoch. Nun schalte dir noch in der IDE den seriellen Monitor hinzu, damit du die gemessenen Werte ablesen kannst. Dafür gehst du oben in der Menübar auf “Werkzeuge” und dort dann auf “Serial-Monitor”. Nun kannst du die gemessenen Werte dort ablesen.
Später benötigen wir einen Schwellwert, der beschreibt, wann eine Pflanze zu trocken ist. Um diesen Wert zu bestimmen, teste deinen Sensor mit verschiedenen feuchten Böden, um ein Gefühl für die Werte zu bekommen. Notiere dir ein paar Werte für trockenen und feuchten Boden.
Achtung: Sollten dir im “Serial-Monitor” keine Zahlen angezeigt werden, dann musst du evtl. noch eine Einstellung im “Serial-Monitor” oben rechts vornehmen. Und dort dann, wie im Code angegeben, die Baudrate einstellen.
Kurze Erklärung: Mit “Serial.begin(115200)” übergibt man den Wert 115200 an den Geschwindigkeitsparameter. Damit wird dem Mikrocontroller mitgeteilt, dass er bereit ist, Nachrichten mit dem Serial-Monitor mit einer Datenrate von 115.200 Bits pro Sekunde auszutauschen. Das sind 115.200 binäre Einsen oder Nullen pro Sekunde und wird gemeinhin als Baudrate bezeichnet.