ich muss einen Programmcode schreiben, der 3 LED durch drücken eines Buttons schält. 1x Drücken= ! Lampe an, 2x 2 und 3x alle 3. Außerdem soll ich den aktuellen Wert speichern, sodass dieser beim Neustart da weitermacht wo er aufgehört hat. Mein Code bisher ist:
poste einen Schaltplan.
Du prüfst auf low, also sollst du den Input Pin auf INPUT_PULLUP stellen damit du den internen Pullup stellst
Aktiviere die Serielle Schnittstelle und schreibe X raus damit du siehst warum es nicht klappt.
Schau dir die IDE Beispiele an, wie man einen Button ausliest. Da gibt es ein Beispiel wie man den Button debounced und eine LED einschaltet.
PS: Eine LED ist kein Lämpchen.
Du mußt auf Zustandsänderung des Tasters kontrollieren. suche nach einem Button Toggle Sketch.
Das EEPROM hat eine endliche Schreibanzahl. Wenn Du das EEPROM bei jedem loop() Durchgang schreibst ist das EEPROM neu. Um die Schreibvorgänge zu minimieren solltest Du nur neu schreiben wenn der Zustand anders ist.
Also, ich bin jetzt soweit, dass der Code halbwegs funktioniert. Jedoch habe ich noch das Problem, dass während der Button gedrückt ist sich x permanent ändert. Wie stellt man ein, das pro Button drücken sich das nur einmal erhöht? Ich arbeite hier bei mit x++ in der Loop
florian317:
Also, ich bin jetzt soweit, dass der Code halbwegs funktioniert. Jedoch habe ich noch das Problem, dass während der Button gedrückt ist sich x permanent ändert. Wie stellt man ein, das pro Button drücken sich das nur einmal erhöht? Ich arbeite hier bei mit x++ in der Loop
Zeige deinen aktuellen Sketch, dann können wir sicher Tipps geben.
Du brauchst sicher eine Statusvarieble die den aktuellen Zustand speichert.
florian317:
Also, ich bin jetzt soweit, dass der Code halbwegs funktioniert. Jedoch habe ich noch das Problem, dass während der Button gedrückt ist sich x permanent ändert. Wie stellt man ein, das pro Button drücken sich das nur einmal erhöht? Ich arbeite hier bei mit x++ in der Loop
Indem Du das in #3 vorgeschlagenen machst.Grüße Uwe