Sooo ... hier mal der redundante Code, der soweit funktioniert ...
int t01 = LOW; // setze die Variable mit Namen "t01" und gib ihr den Wert LOW
int t02 = LOW;
int t03 = LOW;
int t04 = LOW;
int t05 = LOW;
int t06 = LOW;
int minus = LOW;
int plus = LOW;
int man = LOW;
void setup() {
//pinMode(14, INPUT); // Pin 14 = A0 ist Eingang für Taster, PullDown
//pinMode(15, INPUT);
//pinMode(16, INPUT);
//pinMode(17, INPUT);
pinMode(13, OUTPUT); // Pin13 .. als Ausgang
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, INPUT);
pinMode(4, INPUT);
digitalWrite(13, HIGH); // Programmstart Pin 13 auf HIGH
}
void loop() {
t01 = digitalRead(14); // setze Var. t01-04 gleich dem Eingangspegel
t02 = digitalRead(15);
t03 = digitalRead(16);
t04 = digitalRead(17);
t05 = digitalRead(18);
t06 = digitalRead(19);
man = digitalRead(8);
minus = digitalRead(5);
plus = digitalRead(4);
if (t01 == HIGH) { // wenn t01 gleich HIGH dann...
digitalWrite(13, HIGH); // setze Pin 15 auf HIGH ... und alle anderen auf LOW
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
else if (t02 == HIGH)
{
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
else if (t03 == HIGH)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
else if (t04 == HIGH)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
else if (t05 == HIGH)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
digitalWrite(8, LOW);
}
else if (t06 == HIGH)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, HIGH);
}
if ((man == HIGH) && (minus == HIGH))
{
do
{
//delay(50);
digitalWrite(7, HIGH);
}
while (minus == LOW);
delay(20);
digitalWrite(7, LOW);
}
if ((man == HIGH) && (plus == HIGH))
{
do
{
//delay(50);
digitalWrite(6, HIGH);
}
while (plus == LOW);
delay(20);
digitalWrite(6, LOW);
}
}
edit:
Nochmals zur verwünschten Funktion:
Mit 6 Tastern sollen 6 Funktionen angeschaltet werden (Im Versuch LEDs), die sich gegenseitig löschen ("Röhrenradio"). Pin13 soll als Start gleich eingeschaltet sein.
die 6. Funktion hat ne Sonderstellung. Ist sie aktiviert sollen LED 7 oder 8 leuchten, solange die Taster 7 oder 8 gedrückt werden, zusammen mit LED (Funktion) 6 . Sind andere LEDs an (1-5) sind 7, 8 ohne Funktion.