Kippschalter als Code eingabe/ ryhtmus schloss

Ich würde aus loop() alle Schleifen entfernen, und ein bestimmtes Ereignis als Anfang festlegen:
In deinem Beispiel: Schalter 1 HIGH -> LOW
Diese Zeit ( millis() ) merkst du dir.
Um Prellen usw. zu vermeiden und um die gewünschten Toleranzen zu realisieren wartest du danach einfach feste Zeitpunkte ab, und testest, ob dann die Zustände der 3 Schalter wie erwartet sind.
Damit man den richtigen Code schwerer durch ausprobieren rauskriegt, darfst du natürlich erst nach Ablauf der Gesamtzeit "Falsch" (oder evtl. sogar "Richtig" ) melden.
Und auch erst danach einen Neustart der Eingabesequenz erlauben bzw. dafür bereit sein.

Zum Test / Debuggen musst du natürlich genauer erkennen können, in welchen Zustand deine Maschine gerade ist. Ich hoffe, der Anschluss eines SerialMonitors ist in deinem "Sicherheitskonzept" zulässig ?

1 Like