
Zitat von
achso
Switch sagt mir nur Schalter?
wkrug hat es richtig erklärt, was ich meinte. Entschuldige! Bin nicht davon ausgegangen, dass Du switch nicht kennst. Kenne Deinen Kenntnisstand noch nicht.

Zitat von
achso
Danke,
Nun habe ich schon ca. 80 Std mit dem Sketch zugebracht. Fast schon deprimert aufgegeben.
Ärgerlicherweise wird die Zeit knapp.
Dein Problem ist nicht so schwer zu lösen. Der Code, den Du hier gezeigt hast, ist das alles? Also alles zu den Tastern oder hast Du noch mehr Code zu den Tastern?
Wenn, dann stell den mal vollständig hier rein, vielleicht kann man ihn direkt verändern, dass er so funktioniert, wie Du denkst. Dann sparst Du Zeit.
Weihnachten rückt immer näher. Und merkwürdiger Weise geht das jetzt von Tag zu Tag auch immer schneller.
MfG

PS: Ein Beispiel, wie man eine Tastenabfrage und die Reaktion darauf auch umsetzen kann.
Es gibt, je nach Anforderung, immer mehrere Lösungen oder eine Lösung, die besser geeignet ist.
Deshalb ist das in erster Linie nur ein Denkanstoß.
Code:
//Pin-Zuordnungen
#define Taster1 11
#define Taster2 12
#define Taster3 13
void setup()
{
//Eingänge für Taster konfigurieren
pinMode(Taster1, INPUT_PULLUP);
pinMode(Taster2, INPUT_PULLUP);
pinMode(Taster3, INPUT_PULLUP);
}
//Status-Variable ist ein Byte, also 8 Bit
byte Status;
void loop()
{
//Taster Zustände abfragen, bei INPUT_PULLUP ist Taster geschlossen, wenn der Eingang = LOW ist
Status = 0;
if(!digitalRead(Taster1))Status += 1; //Bit#0 für Taster1 setzen
if(!digitalRead(Taster2))Status += 2; //Bit#1 für Taster2 setzen
if(!digitalRead(Taster3))Status += 4; //Bit#2 für Taster3 setzen
//Status hat jetzt alle Zustände der Taster gespeichert.
//Ist ein Taster geschlossen, dann ist das zugehörige Bit in "Status" = 1, sonst 0
//Hier die Auswertung
switch (Status)
{
case 1:
//Wenn 1, dann ist Taster1 geschlossen und alle anderen offen
break;
case 2:
//Wenn 2, dann ist Taster2 geschlossen und alle anderen offen
break;
case 4:
//Wenn 4, dann ist Taster3 geschlossen und alle anderen offen
break;
case 3:
//Wenn 3, dann ist Taster1 und Taster2 geschlossen und alle anderen offen
break;
case 5:
//Wenn 5, dann ist Taster1 und Taster3 geschlossen und alle anderen offen
break;
case 7:
//Wenn 7, dann ist Taster1 und Taster2 und Taster3 geschlossen
break;
case 6:
//Wenn 6, dann ist Taster2 und Taster3 geschlossen und alle anderen offen
break;
default:
//Wenn kein Zustand von oben zutreffend ist, dann wird der Code ausgeführt, der hier steht
}
}
Lesezeichen