Hallo Arduino-Gemeinde,
dies ist mein erster Beitrag in diesem Forum und ich hoffe, dass ich alles richtig mache und mir jemand helfen kann.
Ich habe ein kleines Sketch geschrieben, der zwei LEDs zum gegeneinander blinken veranlassen soll. Aber der Reihe nach.
Bei jeder Unterbrechung der Gabellichtschranke_1 wird ein Counter hochgezählt (also +1). Mit der Gabellichtschranke_2 wird der Counter wieder runtergezählt (also -1). Wenn der Counter also ungleich 0 ist, sollen die LEDs gegeneinander blinken. Das Blinken soll über millis() gesteuert werden. Die if Abfrage wäre folgendermaßen:
//-------Blinken-------------------------
if (counter_1 != 0) //wenn Counter ungleich 0,
{
if (millis() - start >= intervall)
{
statusLED_A = !statusLED_A; //LED-Status wird umgedreht
digitalWrite(ledPin_A, statusLED_A); //LED je nach Status AN oder AUS
statusLED_B = !statusLED_B;
digitalWrite(ledPin_B, statusLED_B);
start = millis();
}
else //wenn Counter = 0
{
digitalWrite(ledPin_A, LOW); //dann LED_A aus
digitalWrite(ledPin_B, LOW); //dann LED_B aus
}
}
} //Klammer von der void loop()
//-------ENDE---------------------------
Eigentlich würde ich davon ausgehen, dass die LEDs A+B ausgehen, wenn der Counter = 0 ist. Leider verhält sich die if-Schleife nicht so. Die LEDs blinken zwar, aber sie leuchten nur ganz schwach. Wenn ich die beiden digitalWrite(ledPin_A, LOW); und digitalWrite(ledPin_B, LOW); rausnehme, blinken die LEDs in voller Leuchtkraft, aber wenn der Counter = 0 ist bleibt immer eine LED ständig an.
Ich habe schon einiges versucht, aber ich bekomme es einfach nicht hin.
Ich hoffe nun, dass mir jemand auf die Sprünge helfen kann.
Nachfolgend noch der komplette Sketche:
Ups, dass ist schade, aber als Neuling darf ich leider noch nichts hochladen. Vielleicht könnt ihr mir trotzdem helfen.
Mit freundlichen Grüßen
Detlev