Anzeige

LED Gehwegbeleuchtung Taster im Programm einbinden

Projekte und Tutorials für Arduino Foren StartHardware-Forum LED Gehwegbeleuchtung Taster im Programm einbinden

Ansicht von 1 Beitrag (von insgesamt 1)
  • Autor
    Beiträge
  • #7552 Antworten
    Markus
    Teilnehmer

    Hallo, leider bekomme ich es nicht hin, einen Taster in das Program so einzubinden das die LEDs erst bei Tastendruck anfaden 60sec. Ei geschaltet bleiben und danach ausgehen bis der Taster erneut gedrückt wird. Bitte um Hilfe.

    
    int buttonPin = 8; int pausen = 500; int vals [] = { 0, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 19, 23, 27, 32, 38, 45, 54, 64, 76, 91, 108, 128, 152, 181, 215, 255 }; int vals1 [] = { 255, 215, 181, 152, 128, 108, 91, 76, 64, 54, 45, 38, 32, 27, 23, 19, 16, 13, 11, 10, 8, 7, 6, 5, 4, 3, 3, 2, 2, 2, 1, 0, }; int numVal = 32; //number of values in array byte schwelle = 10; // 70% * 255; Schwelle, bei der die nächste LED einsetzt. byte a,b,c,d,e,f; // Zählervariablen für 3 LEDs unsigned long sweepstart; // Zeit merken, zu der der Dimmprozess gestartet wurde. void setup() { for (int i = 2; i < 10; i++) { pinMode(i, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); // der Taster wird mit internem Pullup verwendet, d.h. er ist mit dem GND und dem digitalen Input verbunden } } void loop() { bool myCurrentButtonState = digitalRead(buttonPin); // Zählervariablen berechnen a = min(a++, numVal-1); // Zähler 1. LED wird hochgezählt bis 31 if (vals[a] > schwelle){ b = min(b++, numVal-1); // Zähler 2. LED wird hochgezählt bis 31, wenn Wert 1. LED > Schwelle, } if (vals[b] > schwelle){ c = min(c++, numVal-1); // Zähler 3. LED wird hochgezählt bis 31, wenn Wert 2. LED > Schwelle, } if (vals[c] > schwelle){ d = min(d++, numVal-1); // Zähler 4. LED wird hochgezählt bis 31, wenn Wert 2. LED > Schwelle, } if (vals[d] > schwelle){ e = min(e++, numVal-1); // Zähler 5. LED wird hochgezählt bis 31, wenn Wert 2. LED > Schwelle, } if (vals[e] > schwelle){ f = min(f++, numVal-1); // Zähler 6. LED wird hochgezählt bis 31, wenn Wert 2. LED > Schwelle, } analogWrite(3, vals[a]); analogWrite(5, vals[b]); analogWrite(6, vals[c]); analogWrite(9, vals[d]); analogWrite(10, vals[e]); analogWrite(11, vals[f]); delay(20); // Rücksetzen alle Variablen und wiederholen nach einer Pause if(millis()-sweepstart > pausen * 128){ // Ist die Wartezeit abgelaufen? (Dauer=pausen*128) a=0; // Zählervariablen rücksetzen b=0; c=0; d=0; e=0; f=0; sweepstart = millis(); // Zeitpunkt des Neustarts merken } }
    
    • Dieses Thema wurde geändert vor 3 Monaten, 1 Woche von Markus.
    • Dieses Thema wurde geändert vor 3 Monaten, 1 Woche von Markus.
    • Dieses Thema wurde geändert vor 3 Monaten, 1 Woche von Markus.
Ansicht von 1 Beitrag (von insgesamt 1)
Antwort auf: LED Gehwegbeleuchtung Taster im Programm einbinden
Deine Information: