# include "Button2.h"
int TASTER_PIN = 13;
# define LEDMax 5
// Array für die LEDs
int LED[LEDMax] = { 3, 4, 5, 6, 7 };
// Name des Tasters
Button2 Taster;
// LEDs sind beim Start ausgeschaltet
bool Status = LOW;
void setup()
{
// LEDs als OUTPUT setzen
for (int i = 0; i < LEDMax; i++)
{
pinMode(LED[i], OUTPUT);
}
Taster.begin(TASTER_PIN);
Taster.setLongClickTime(1000);
Taster.setDoubleClickTime(400);
Taster.setClickHandler(click);
Taster.setLongClickDetectedHandler(longClickDetected);
Taster.setLongClickHandler(longClickDetected);
Taster.setDoubleClickHandler(doubleClick);
}
void loop()
{
Taster.loop();
}
void click(Button2& btn)
{
/*
Status == true (1) -> einschalten
Status == false (0) -> ausschalten
Status umkehren
*/
Status = !Status;
for (int i = 0; i <= LEDMax; i++)
{
// aktuelle LED i ein- oder ausschalten
digitalWrite(LED[i], Status);
}
}
void doubleClick(Button2& btn)
{
for (int i = 0; i <= LEDMax; i++)
{
// aktuelle LED i einschalten
digitalWrite(LED[i], HIGH);
delay(200);
// aktuelle LED i ausschalten
digitalWrite(LED[i], LOW);
}
// ...und zurück
for (int i = LEDMax; i >= 0; i--)
{
// aktuelle LED i einschalten
digitalWrite(LED[i], HIGH);
delay(200);
// aktuelle LED i ausschalten
digitalWrite(LED[i], LOW);
}
}
void longClickDetected(Button2& btn)
{
// alle LEDs blinken 5-mal
// d -> Anzahl der Durchläufe
for (int d = 0; d <= 5; d++)
{
// einschalten
for (int i = 0; i <= LEDMax; i++)
{
digitalWrite(LED[i], HIGH);
}
delay(200);
// ausschalten
for (int i = 0; i < 5; i++)
{
digitalWrite(LED[i], LOW);
}
delay(200);
}
}
Letzte Aktualisierung: