INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Auto Timeout?
09.12.2019, 21:33 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2019 00:02 von arthur992.)
Beitrag #1
Auto Timeout?
Hallo, ich habe probiert eine automatische Gießanlage zu basteln und sie funktioniert auch einmal. Das Problem ist ,dass sie nur einmal gießt und wenn man sie eine weile stehen lässt, nicht nachgegossen wird. Wenn ich den Bodenfeuchtigkeitssensor aus der Erde ziehe wird öfter gegossen. Daher stell ich mir die Frage ob der ESP32 automatisch in einen sleepmode geht ?


Code:
int Feuchte;                                                                //Benötigte Werte initialisieren
int Prozent;
int mittelwert;
int mittelwert_prozent;
int Relais=19;
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Setup

void setup()
{
Serial.begin(115200);
  pinMode (Relais,OUTPUT);                                                  //Relais als OUTPUT setzen
  digitalWrite(Relais,HIGH);                                                //HIGH setzen damit das Low Trigger Relaisnicht von anfang an schaltet

}
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Sensorreadout


void loop()
{
  
  Feuchte = analogRead(26);                                                  //Weist der Variablen den Analogen Wert der Feuchtigkeit zu
  Prozent= map(Feuchte,2670,4095,100,0);                                     //Feuchtigkeitswerte werden in % umgerechnet 0=Trocken 100=Im Wasser
  Serial.print("Sensorradout = ");Serial.println(Feuchte);                   //als Kontrolle ausdruck an seriellen Monitor (Sensorwert)
  Serial.print("Feuchtigkeit Prozentual = ");Serial.println(Prozent);        //als Kontrolle ausdruck an seriellen Monitor (Feuchtigkeit in Prozent)
  mittelwert = mittelwert_berechnen();                                       //Weist der Variablen"mittelwert" den wert der Funktion "mittelwert_berechnen" zu
  mittelwert_prozent = map( mittelwert_berechnen(),2670,4095,100,0);         //Mittelwert in Prozent
  Serial.print("Mittelwert = ");Serial.println(mittelwert);                  //als Kontrolle ausdruck an seriellen Monitor (Sensorwert gemittelt)
  Serial.print("Mittelwert Prozent = ");Serial.println(mittelwert_prozent);  //als Kontrolle ausdruck an seriellen Monitor (Sensorwert gemittelt und in Prozent)

  //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Relaisansteuerung

if(mittelwert_prozent<10)                                                    //Wenn Mittelwert in Prozent <als 10% dann:
{
  digitalWrite(Relais,LOW);
  delay(1500);                                                               //1,5 Sekunden Pumpe an
  digitalWrite(Relais,HIGH);
  delay(10000);                                                              //10sec warten (Wasser verteiltsich in erde)     Davor war es eine halbe stunde 10 sec nur als versuch

}


  
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Ausgelagerte Funktionen


int mittelwert_berechnen()                                                    //Mittelwertberechnung (ausgelagert)
{
  int ergebnis=0;
  for(int i=0;i<60;i++)                                                       //schleife die jede sekunde für eine Minute einen Sensorwert aufnimmt und Addiert
  {
    ergebnis=ergebnis+analogRead(26);
    delay(1000);
  }
  
  ergebnis=ergebnis/60;                                                       //Ergebniss durch anzahl der Messwerte
  return ergebnis;

}
Anbei ist die Schaltung in Fritzing .
Ich bedanke mich schonmal für die Hilfe Smile


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2019, 21:43
Beitrag #2
RE: Auto Timeout?
Tagchen,
...was fällt dir im Vergleich von deinem Beitrag zu den anderen hier geposteten Beiträgen mit Codeschnippseln so auf ? ....du hast doch sicherlich auch noch andere Threads hier gelesen...
lgbk Moderator

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2019, 22:03
Beitrag #3
RE: Auto Timeout?
@TO: Falls Du den Hinweis von Bitklopfer nicht verstanden hast, hier die Prosa:

Stelle Deinen Sketch bitte in Codetags. So ist er auch auf portablen Geräten lesbar.
Wie das geht, steht hier.
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.12.2019, 00:04
Beitrag #4
RE: Auto Timeout?
Sorry hätte ich beachten sollen jetzt weiß ichs danke Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.12.2019, 09:03 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2019 09:08 von hotsystems.)
Beitrag #5
RE: Auto Timeout?
Ich vermute mal, dein Problem liegt am ungeeigneten Sensor.
Da solltest du einen Verwenden, der auch längere Zeit feuchte Erde vertragen kann.

Es gibt kapazitive Sensoren, die dafür geeignet sind.
dieser z.B.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2019, 12:13
Beitrag #6
RE: Auto Timeout?
Das habe ich, hab in Fritzing nur den gefunden aber hab mitlerweile das Problem gefunden. Lag an der Stromversorgung.
trozedem Danke Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wemos D1 mini (ESP8266) wechselt nicht mehr in auto-sleep Zipfel1 5 1.041 27.04.2020 14:07
Letzter Beitrag: rev.antun
  ESP32 TCP Socket timeout sirAnton 6 1.026 11.03.2020 20:03
Letzter Beitrag: Fips
  RC Auto mit ESP8266 fernsteuern: Welches Protokoll verwenden - TCP / UDP oder RF dilbert 3 2.200 30.01.2019 19:36
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste