2 aufeinanderfolgende Werte in if Bedingung

Hallo zusammen,
ich möchte einen Counter erstellen, der um eins nach oben zählt, wenn mein Farbsensor die Farbe grün einliest.
Allerdings kann ich natürlich die Abtastrate nicht genau so einstellen, dass das Signal für die Farbe grün nur genau einmal ankommt.
Gibt es eine Möglichkeit, den Counter NUR DANN um eins nach oben zählen zu lassen, wenn zuerst das Signal "grün" und anschließend das Signal "keine Farbe" ankommt?
Danke schonmal!
Liebe Grüße
Julia

An Stelle von Farbe hab ich nen PIN genommen:

enum {ein, aus};
const int gruen = 2;
bool freigabe = ein;
unsigned int zaehler = 0;
void setup() {
  Serial.begin(115200);
  Serial.println(F("Start..."));
  pinMode(gruen, INPUT_PULLUP);

}

void loop() {
  if (digitalRead(gruen) == ein)
  {
    if (freigabe == ein)
    {
      zaehler++;
      Serial.println(zaehler);
      freigabe = aus;
    }
  }
  else freigabe = ein;

}
1 Like

Hab bisschen herumprobiert bis es auch ohne pin klappt, aber jetzt funktioniert es, vielen Dank!!!

Naja, das war nur nur der Denkanstoss.Ich habe sonst nichts, was mir einen bool zurück gibt.
if (gruen==true) hätte es auch getan, aber dann wäre das kein lauffähiger Sketch gewesen.

Aber freut mich, wenns klappt.
Danke fürs melden.