// Array für die LEDs
int LED[5] = {3, 4, 5, 6, 7};
/*
Array für den Zustand der LEDs
false = ausgeschaltet
*/
bool Status[5] = {false, false, false, false, false};
int Taster;
int Analogwert;
int Tasterabfrage()
{
Analogwert = analogRead(A0);
delay(200);
Serial.println(Analogwert);
/*
A0 gibt je nach gedrückten Taster einen Wert aus
über den Seriellen Monitor wird dieser Wert angezeigt
und kann dann eventuell angepasst werden
die Zeile Serial.println ... kann dann gelöscht werden
Taster 1 ⇒ links
Taster 2 ⇒ oben Mitte
Taster 3 ⇒ unten Mitte
Taster 4 ⇒ rechts
Taster 5 ⇒ außen
*/
switch (Analogwert)
{
case 0 ... 20:
Taster = 1;
break;
case 30 ... 60:
Taster = 2;
break;
case 70 ... 120:
Taster = 3;
break;
case 150 ... 200:
Taster = 4;
break;
case 300 ... 400:
Taster = 5;
break;
default:
return 0;
}
// gedrückten Taster zurückgeben
return Taster;
}
void setup()
{
for (int i = 0; i <= 4; i++)
{
pinMode(LED[i], OUTPUT);
}
Serial.begin(9600);
}
void loop()
{
Taster = Tasterabfrage();
// Taster links
if (Taster == 1)
{
/*
gelbe LED Pin 7, LED[4] Status[4]
Status umdrehen, aus true wird false
aus false wird true
*/
Status[4] = !Status[4];
digitalWrite(LED[4], Status[4]);
}
// Taster oben Mitte
if (Taster == 2)
{
// blaue LED Pin 6, LED[3] Status[3]
Status[3] = !Status[3];
digitalWrite(LED[3], Status[3]);
}
// Taster unten Mitte
if (Taster == 3)
{
// rote LED Pin 5, LED[2] Status[2]
Status[2] = !Status[2];
digitalWrite(LED[2], Status[2]);
}
// Taster rechts
if (Taster == 4)
{
// weiße LED Pin 4, LED[1] Status[1]
Status[1] = !Status[1];
digitalWrite(LED[1], Status[1]);
}
// Taster rechts außen
if (Taster == 3)
{
// grüne LED Pin 3, LED[0] Status[0]
Status[0] = !Status[0];
digitalWrite(LED[0], Status[0]);
}
}
Letzte Aktualisierung: