INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Switch/case
29.06.2020, 08:13
Beitrag #1
Switch/case
Hallo zusammen,
in meinem dargestellten Sketch funktioniert case 2+3.
Bei case 1, mit dem beim Drücken vom Taster die interne LED auf dem UNO angehen sollte , passiert leider nichts. Wo ist mein Fehler ?

Code:
int led1 = 5;
int led2 = 6;
int led3 = 8;
int nummer = 0;
int val = 0;

void setup() {
  Serial.begin(9600);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode (led3, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode( 3, INPUT_PULLUP);
}

void loop() {
  if (Serial.available() > 0) {
    nummer = Serial.read();
    switch (nummer) {
      case '1':
        if (digitalRead(3) == LOW)
          digitalWrite(LED_BUILTIN, HIGH);
        else
          digitalWrite(LED_BUILTIN, LOW);
        break;
      case '2':
        digitalWrite(led1, HIGH);
        val = digitalRead(5);
        if (val == HIGH) {
          digitalWrite(led2, LOW);
          digitalWrite(led3, LOW);
          break;
        }
      case '3':
        digitalWrite(led1, LOW);
        digitalWrite(led2, HIGH);
        val = digitalRead(6);
        if (val == HIGH) {
          digitalWrite(led3, HIGH);
          break;
        }
      default:
        break;

    }
  }
}

Mit freundlichen Grüßen
Norbert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 08:36
Beitrag #2
RE: Switch/case
Was genau heißt, es passiert nichts ?
das ist keine korrekte Fehlermeldung.

Was genau soll denn passieren ?

Und da der Sketch in case 2 und case 3 fehlerhaft ist, kann der da auch nicht richtig funktionieren.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 08:40
Beitrag #3
RE: Switch/case
(29.06.2020 08:36)hotsystems schrieb:  Was genau heißt, es passiert nichts ?
das ist keine korrekte Fehlermeldung.

Was genau soll denn passieren ?

Und da der Sketch in case 2 und case 3 fehlerhaft ist, kann der da auch nicht richtig funktionieren.

Wenn ich case '1' mit der 1 über den seriellen Monitor anwähle, sollte dann, wenn ich den Taster betätige, die LED angehen. So war zumindest meine Denke.

Mit freundlichen Grüßen
Norbert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 08:43
Beitrag #4
RE: Switch/case
(29.06.2020 08:36)hotsystems schrieb:  Was genau heißt, es passiert nichts ?
das ist keine korrekte Fehlermeldung.

Was genau soll denn passieren ?

Und da der Sketch in case 2 und case 3 fehlerhaft ist, kann der da auch nicht richtig funktionieren.
Wo siehst du das Problem bei case 2 und 3. die Leds gehen so an und aus wie programmiert.

Mit freundlichen Grüßen
Norbert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 08:49 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2020 08:51 von hotsystems.)
Beitrag #5
RE: Switch/case
(29.06.2020 08:43)RCudino schrieb:  Wo siehst du das Problem bei case 2 und 3. die Leds gehen so an und aus wie programmiert.

Du hast die Pins nicht als Eingang definiert, somit haben die immer einen undefinierten Zustand, der evtl. zufällig HIGH sein kann.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 08:53
Beitrag #6
RE: Switch/case
(29.06.2020 08:40)RCudino schrieb:  Wenn ich case '1' mit der 1 über den seriellen Monitor anwähle, sollte dann, wenn ich den Taster betätige, die LED angehen. So war zumindest meine Denke.

Und das passiert so schnell, dass du es evtl. nicht siehst.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 09:15
Beitrag #7
RE: Switch/case
halte mal den Taster gedrückt und sende dann die '1'.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 10:00
Beitrag #8
RE: Switch/case
(29.06.2020 09:15)nbk83 schrieb:  halte mal den Taster gedrückt und sende dann die '1'.

Ja, wenn ich das tue, bleibt die LED an.
Aber ich muß mir weitere Gedanken machen, da dieser Sketch nur ein Ausprobieren / Testen für einen anderen war. Dort soll unter case '1' ein Impuls nur kurz anstehen und ein Zähler weiter hochgezählt werden.

Mit freundlichen Grüßen
Norbert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Menü mit case und if nimmzwei 20 1.116 21.04.2020 19:39
Letzter Beitrag: nimmzwei
  case Problem? Harry 10 765 09.04.2020 10:55
Letzter Beitrag: Harry
  Switch-Case-Auswahl Frage Christian_Moba-Arduino 4 487 02.02.2020 17:27
Letzter Beitrag: Christian_Moba-Arduino
  Sleep Modus aktivieren (Reed-Switch Falle) Wochenendprogrammierer 20 2.305 01.07.2019 21:16
Letzter Beitrag: hotsystems
  Switch erkennt eine Phase nicht DonSonora 27 3.549 30.01.2019 22:24
Letzter Beitrag: MicroBahner
  IR-Remote - Case abbruch durch anderes case Snekels 5 981 03.01.2019 19:08
Letzter Beitrag: Tommy56
  switch case huber5093 8 3.506 08.10.2017 15:44
Letzter Beitrag: hotsystems
  switch case funktion ausser halb loop ??? huber5093 13 4.833 12.04.2017 15:26
Letzter Beitrag: Tommy56
  Unterschiedliche Programme durch Switch/ Case SpeedShifter 26 6.019 04.10.2016 15:29
Letzter Beitrag: SpeedShifter
  Switch/Case mit chars phischmi 8 4.399 24.07.2016 21:00
Letzter Beitrag: phischmi

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste