Code für ansteuerung von Pumpen funktioniert nicht

Möchtest Du probieren?
Wenn ja, schreib was dabei raus kommt - ist quick & dirty.


// Forensketch - kompiliert fehlerfrei - reiner Test auf Basis von
// https://forum.arduino.cc/t/code-fur-ansteuerung-von-pumpen-funktioniert-nicht/900401?u=my_xy_projekt
const byte tasterGruen = 12;
const byte relaisSchlauch = 9;
const byte relaisLuft = 8;

unsigned int colaTimer;
unsigned int asbachTimer;

unsigned long lastMillis;

void setup()
{
  pinMode(tasterGruen, INPUT_PULLUP);
  pinMode(relaisSchlauch, OUTPUT);
  pinMode(relaisLuft, OUTPUT);
}

void loop()
{
  if ((digitalRead(tasterGruen) == LOW) && (pumpenAnsteuerung() == LOW))
  {
    asbachTimer = 2000;
    colaTimer = 2000;
    lastMillis = millis();
    pumpenAnsteuerung();
  }
  if (pumpenAnsteuerung()) pumpenAnsteuerung();
}

bool pumpenAnsteuerung()
{
  bool returnWert = false;
  if ((millis() - lastMillis) <= colaTimer)
  {
    digitalWrite(relaisLuft, HIGH);
    returnWert = true;
  }
  else
  {
    digitalWrite(relaisLuft, LOW);
  }
  if ((millis() - lastMillis) <= asbachTimer)
  {
    digitalWrite(relaisSchlauch, HIGH);
    returnWert = true;
  }
  else
  {
    digitalWrite(relaisSchlauch, LOW);
  }
  return returnWert;
}