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
Programmierung eines 3-Stellungs-Schalters
05.11.2020, 10:48
Beitrag #1
Programmierung eines 3-Stellungs-Schalters
Hallo zusammen,

ich bin ein Arduino-NEULING und schon im etwas fortgeschrittenen Alter.

Vergeblich habe ich bisher versucht, ein konkretes Projekt zu programmieren.

Vielleicht kann mit jemand kurz helfen und dabei den Knoten in meinem Kopf auflösen.


Eigentlich ist das Projekt recht einfach.

Ich möchte 2 Hochleistungs-LED (eine weiß und die andere rot) im Wechsel blitzen lassen. Die entsprechende Programmierung der HIGH-Zeiten und LOW-Zeiten (incl. der delays klappen.

Jedoch möchte ich zusätzlich einen 3-Stellungs-Kippschalter einsetzen, der die Funktion 3xEIN hat.

In der ersten Schalter-Stellung (diese habe ich versucht in der Programmierung SchalterA zu nennen) werden die beiden LEDs in einer langsamen Blitzfolge angesteuert.

In der zweiten Schalter-Stellung (diese habe ich versucht in der Programmierung SchalterB zu nennen) werden die beiden LEDs in einer mittlerenen Blitzfolge angesteuert.

In der dritten Schalter-Stellung (diese habe ich versucht in der Programmierung SchalterC zu nennen) werden die beiden LEDs in einer schnellen Blitzfolge angesteuert.

Technisch ist es so, wenn SchalterA eingeschaltet ist, dann die SchalterB und SchalterC ausgeschaltet sind. Dies ist hardwaremäßig so festgelegt.

Nun habe ich versucht - mit vielen Anläufen- dies zu programmieren.

Und zwar um die 3 Schaltersituationen abzubilden, habe ich IF-Kriterien eingefügt.

if (digitalRead (SchalterA == HIGH);

{

digitalWrite(LedROT, HIGH);
digitalWrite(LedWEISS, HIGH);
delay(30)
usw.

Bis dahin hat alles geklappt!

Aber wie binde ich die Abfrage ein, wenn SchalterB oder SchalterC eingeschaltet sind?

Muss ich in der oberen IF-Bedingung auch zusätzlich für den ersten technischen Zustand angeben:

if (digitalRead (SchalterB== LOW);
if (digitalRead (SchalterC== LOW);


???

Also im Grunde sind es 2 Fragen:

Wie kann ich auf einfache Art und Weise 3 Schaltzustände programmieren?

Wie bringe ich in die logische Verknüpfung die Bedingungen rein

IF SchalterA HIGH
UND SchalterB LOW
UND SchalterC LOW

sowie für die beiden anderen Schaltzustände
IF SchalterB HIGH
UND SchalterA LOW
UND SchalterC LOW

sowie
IF SchalterC HIGH
UND SchalterA LOW
UND SchalterB LOW

??

Ich glaube, dass dies sehr einfach für einen Fortgeschrittenen zu lösen ist.

Deswegen wäre ich sehr dankbar, für eine praktische Hilfe.


Vielen Dank im Voraus!

nimbus-high
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2020, 10:58
Beitrag #2
RE: Programmierung eines 3-Stellungs-Schalters
Stelle Deinen Code bitte in Codetags und gib uns weinen vollständigen Sketch.
Wie das geht, steht hier.
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2020, 11:10 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2020 11:11 von MicroBahner.)
Beitrag #3
RE: Programmierung eines 3-Stellungs-Schalters
(05.11.2020 10:48)nimbus-high schrieb:  if (digitalRead (SchalterA == HIGH);

{

digitalWrite(LedROT, HIGH);
digitalWrite(LedWEISS, HIGH);
delay(30)
usw.

Bis dahin hat alles geklappt!
Das kann nicht sein, denn das was Du da zeigst, würde noch nichtmal kompilieren. Solche Fragemente helfen auch nicht wirklich. Zeige lieber deinen kompletten Sketch ( in der IDE mit der rechten Maustaste in das Sketch-Fenster klicken und dann 'Für Forum kopieren' auswählen. Dann hier einfügen ).

Die Funktion deines Schalters ist mir auch nicht klar. Ich kenne zwar Kippschalter mit 3 Stellungen, die funktionieren aber anders. Die haben 2 Kontakte, und in Mittelstellung sind beide Kontakte offen. Hast Du einen Link zu deinem Schalter? Und wie hast Du ihn angeschlossen?

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bits eines Bytes einzeln nacheinander auswerten HolgerM 3 260 02.10.2020 16:47
Letzter Beitrag: Tommy56
  [gelöst; Reihenfolgeproblem bei der Programmierung]Position falsch von Text ManniP 3 346 27.09.2020 14:29
Letzter Beitrag: ManniP
  Weiterverwendung eines Meßwertes juergen001 6 388 20.09.2020 11:24
Letzter Beitrag: juergen001
  Hochladen eines Sketches funktioniert nicht otti123 29 3.363 05.09.2020 15:33
Letzter Beitrag: hotsystems
  RGB Controller Hilfe bei der Programmierung Jumbo_27 1 360 15.08.2020 17:32
Letzter Beitrag: Tommy56
  Programmierung Attiny 84 MaxSi 14 1.193 23.06.2020 19:39
Letzter Beitrag: Tommy56
  8x8x8 LED Würfel Programmierung AK79 11 1.338 17.06.2020 22:52
Letzter Beitrag: AK79
  String, char - und wie die Trennung eines Inputs vornehmen rev.antun 1 609 11.05.2020 20:01
Letzter Beitrag: Tommy56
  Mit Arduino Uno Sirene Programmierung mh128828 20 2.116 27.03.2020 22:30
Letzter Beitrag: mh128828
  Programmieren eines ATTiny 2313 Gerdchen03 33 3.437 16.01.2020 20:27
Letzter Beitrag: hotsystems

Gehe zu:


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