Dieser Bauvorschlag enthält ein Schema, wie der Arduino mit dem Bodenfeuchtigkeitssensor 0193, 2 LEDs und einer Stromquelle betrieben werden kann. Statt einen Arduino UNO, kann man natürlich auch einen günstigeren und kleineren Nano, Micro oder Mini verwenden. Als LEDs empfiehlt es sich Rot und Grün bzw. Rot und Blau zu verwenden. Als Stromversorgung bietet sich die Stromversorgung über die USB-Buchse, per Batterie oder mit Hilfe eines 9V Netzteils an.
///////////////////////////////////*DEFINITIONEN*/////////////////////////////////// /*SENO193*/ const int Luftwert = 580; //Trage hier deinen Messwert ein, wenn der Sensor frei herumliegt const int Wasserwert = 290; //Trage hier deinen Messwert ein, wenn der Sensor ganz in Wasser steht int Drittel = (Luftwert - Wasserwert)/3; int Messwert = 0; //Mit dieser Variabel werden die Messwerte gespeichert /*LEDs*/ #define LED_GREEN 5 //Die grüne LED wird am Pin5 angesteuert #define LED_RED 6 //Die rote LED wird am Pin6 angesteuert ///////////////////////////////////*SETUP*/////////////////////////////////// void setup() { /*LEDs*/ pinMode(LED_GREEN, OUTPUT); //Definerte den PIN der grünen LED als Ausgang pinMode(LED_RED, OUTPUT); //Definiert den PIN der roten LED als Ausgang Serial.begin(9600); //Startet die serielle Kommunikation } ///////////////////////////////////*LOOP*/////////////////////////////////// void loop() { Messwert = analogRead(A0); //Misst die Umgebungsfeuchte beim Sensor 0193 /*Kontrolle der Funktion*/ SerialMonitor(); /*LEDs*/ LEDs(); delay(1000); //1 Sekunde Pause } ///////////////////////////////////*WEITERE FUNKTIONEN*/////////////////////////////////// void SerialMonitor (){ /*Gibt "Sehr feucht" über den seriellen Monitor aus, wenn der Messwert im untersten Drittel liegt*/ if(Messwert > Wasserwert && Messwert < (Wasserwert + Drittel)) { Serial.println("Sehr feucht"); } /*Gibt "Feucht" über den seriellen Monitor aus, wenn der Messwert im mittleren Drittel liegt*/ else if(Messwert > (Wasserwert + Drittel) && Messwert < (Luftwert - Drittel)) { Serial.println("Feucht"); } /*Gibt "Trocken" über den seriellen Monitor aus, wenn der Messwert im obersten Drittel liegt*/ else if(Messwert < Luftwert && Messwert > (Luftwert - Drittel)) { Serial.println("Trocken"); } } void LEDs (){ /*Gibt ein Signal an die grüne LED*/ if(Messwert > Wasserwert && Messwert < (Luftwert - Drittel)) { //Grün digitalWrite(LED_GREEN, HIGH); digitalWrite(LED_RED, LOW); } /*Gibt ein Signal an die rote LED*/ else if(Messwert < Luftwert && Messwert > (Luftwert - Drittel)) { //Rot digitalWrite(LED_GREEN, LOW); digitalWrite(LED_RED, HIGH); } }