Hallo zusammen!
const int dry = 450;
const int pumpPins[] = {10, 11, 12};
const int soilSensors[] = {A4, A6, A7};
const int numPumps = sizeof(pumpPins) / sizeof(pumpPins[0]);
void initializeSensors() {
for (int i = 0; i < numPumps; i++) {
pinMode(pumpPins[i], OUTPUT);
pinMode(soilSensors[i], INPUT);
digitalWrite(pumpPins[i], HIGH);
delay(5000);
}
}
void controlPump(int pumpPin, int moisture) {
if (moisture >= dry) {
Serial.println("Wasser Start - Feuchtigkeit: " + String(moisture));
digitalWrite(pumpPin, LOW);
delay(5000);
digitalWrite(pumpPin, HIGH);
Serial.println("Fertig");
}
else {
digitalWrite(pumpPin, HIGH);
Serial.println("Alles ok. Wert: " + String(moisture));
}
}
void setup() {
initializeSensors();
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < numPumps; i++) {
int moisture = analogRead(soilSensors[i]);
Serial.println(moisture);
controlPump(pumpPins[i], moisture);
}
// Eigenes Energiesparverhalten einfügen, z.B. durch Reduzierung der Taktfrequenz
// Hier können Sie Code für benutzerdefiniertes Stromsparen einfügen
delay(600000); // 10 Minuten Verzögerung 600000
}
Ich habe letztes Jahr eine einfache Bewässerungsanlage für meine Pflanzen erstellt.
Dieses Jahr wollte ich sie etwas verbessern und so haben ChatGPT und ich zusammen daran herum gearbeitet. Mein Ziel war es, dass ich weniger Strom brauche, da das Ding ja nicht dauernd laufen muss.
Der erste Versuch ging mal in die Hose, weil mein MEGA2560 offensichtlich nicht für die Bibliothek LowBattery gemacht ist. Nun ist das meine neue Lösung. (Wie ihr sicher feststellen könnt, bin ich bis auf dieses und ein zwei kleine Einstiegssachen völlig ahnungslos.
Nun meine Frage: ist das eine gute Lösung oder gibt es noch was Sinnvolleres? Kann ich den Stromverbrauch auch irgendwie messen/ anzeigen lassen?
Vielen Dank für eure Tipps