english version below
Hallo Leute,
da ich leider keinen grünen Daumen habe und ohne weiteres als Serien-killer der Pflanzenwelt bezeichnet werden kann, habe ich mir vorgenommen ein automatisches Bewässerungssystem zu bauen. Online habe ich schnell ein passendes Bastel-Kit gefunden und bestellt.
Nach erhalt habe ich festgestellt, dass ich selber einen Sketch schreiben muss. Da ich vorher nie etwas mit Programmieren zu tun hatte, hat es ein paar Tage gedauert um ein Grundverständnis zu hierfür zu entwickeln aber jetzt macht es schon Spaß. Leider komm ich nun schon seit Tagen nicht weiter um bin am Verzweifeln.
Nun zum Problem
Ziel
Der vertikale Kräutergarten soll automatisch bewässert werden. Die Bewässerung soll nach Bedarf und pro Ebene einzelnen erfolgen.
Hierzu sollen vier Sensoren und fünf Pumpen verbaut werden.
Sensor 1 -> Pumpe 1
Sensor 2 -> Pumpe 2
Sensor 3 -> Pumpe 3
Sensor 4 -> Pumpe 4 + 5
**Verwendete Sensoren = Capacitive Soil Moisture Sensor v1.**2
Grundidee zur Ansteuerung der Pumpe
const int AirValue = 590;
const int WaterValue = 290;
int intervals = (AirValue - WaterValue) / 3; int soilMoistureValue = 0;
void setup ()
{ Serial.begin(9600);
pinMode(2, OUTPUT); // Pumpe 1
}
void loop() {
{
soilMoistureValue = analogRead(0); // Sensor 1
if (soilMoistureValue > WaterValue && soilMoistureValue < (AirValue - intervals))
{
Serial.println("Very Wet");
digitalWrite(2, HIGH); //Pumpe AUS // HIGH ist nicht on sondern aus / Andersherum funktionier es nicht
}
else if (soilMoistureValue > (WaterValue + intervals) && soilMoistureValue < (AirValue - intervals))
{
Serial.println("Wet");
digitalWrite(2, HIGH); // HIGH ist nicht on sondern aus / Andersherum funktionier es nicht
delay(10000);
digitalWrite(2, LOW); // Pumpe arbeitet 2 Sekunden , dann 10 Sekunden warten
delay(2000);
}
Auch wenn HIGH und LOW vertauscht ist funktioniert die Messung und Pumpe wie gewünscht. Warum es andersrum nicht funktioniert hab ich noch nicht verstanden aber das wird schon noch