Hallo Forumsmitglieder,
ich bin grade dabei zwei Beleuchtungsszenarien per Knopfdruck zu realisieren und habe eigentlich nach vielem probieren ein Ergebnis, nur verstehe ich es nicht ganz
Eigentlich wollte ich zwei LEDs auf Knopfdruck mit unterschiedlichen Zeiten laufen lassen nur habe ich es nicht so wirklich geschafft, d.h. es ging die zweite Led nicht mehr aus. Dafür war der deaktivierte const long Interval2 gedacht, den ich dann natürlich für die zweite LED auch entsprechend abgefragt hatte. Also erst einmal auf zwei unterschiedliche Zeiten verzichtet und in beiden Szenarien mit dem gleichen Intervall gearbeitet, funktioniert im Prinzip auch. ABER..... beide LEDs leuchten unterschiedlich lang, z.B. wenn ich paralell drücke. Ist für meine simple Beleuchtung kein Problem, würde nur gerne wissen wo den Haken in meinem Sketch ist.
```cpp
// Pins für die LEDs
const int LED1 = 0;
const int LED2 = 1;
// Pins für die Taster
const int TasterLED1 = 2;
const int TasterLED2 = 3;
// speichert den Status der LEDs: 0 = aus, 1 = ein
int Status1 = digitalRead(TasterLED1);
int Status2 = digitalRead(TasterLED2);
unsigned long previousMillis = 0; // will store last time LED was updated
// constants won't change:
const long interval1 = 5000; // interval at which to blink (milliseconds)
//const long interval2 = 8000; // interval at which to blink (milliseconds)
void setup()
{
// LEDs werden als OUTPUT (Ausgang) definiert
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
// die Taster werden als INPUT (Eingang) deklariert
pinMode(TasterLED1, INPUT_PULLUP);
pinMode(TasterLED2, INPUT_PULLUP);
}
void loop()
{
// Taster für die 1. LED abfragen
Status1 = digitalRead(TasterLED1);
if (Status1 == LOW)
{digitalWrite(LED1, HIGH);}
{unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval1)
{previousMillis = currentMillis;
{ digitalWrite(LED1, LOW);}}
// Taster für die 2. LED abfragen
Status2 = digitalRead(TasterLED2);
if (Status2 == LOW)
{digitalWrite(LED2, HIGH);}
{unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval1)
{previousMillis = currentMillis;
{ digitalWrite(LED2, LOW);}
}}}}
Danke und Gruß
Prenzi