Was muss ich an meinem Arduino-Programm ändern?

2 Antworten

Du musst dem Menschen auch Zeit geben, die Taste loszulassen.

Ich würde das Programm erstmal so gestalten, dass das eingeben der Sequenz funktioniert.

Also erstmal was machen, was einen langen Tastendruck als einen Tastendruck erkennt.

Dann etwas, was einen Zähler hochzählt nach jedem Tastendruck und beim 4 Druck auf 0 geht.

Dann die Werte speichern und vergleichen.

Dann das volle Programm.

Jeweils die Fortschritte einzeln testen.


Akkilovesanime 
Beitragsersteller
 16.06.2025, 11:03

Ja ich weiß aber nicht wie das ist ja das Problem

W00dp3ckr  16.06.2025, 11:14
@Akkilovesanime

Ich würde erstmal 4 LEDs anschließen oder den Zustand mit serieller Schnitstelle und println ausgeben.

charisma247  17.06.2025, 12:05
@Akkilovesanime

Dann würde ich vielleicht mal anfangen zu lernen selbst zu programmieren, statt dir Code generieren zu lassen von ChatGPT und Co...

Zusätzlich zur Antwort von W00dp3ckr:

Welche Keypad Library verwendest du denn und was liefert die wenn keine Taste gedrückt wird?

Die Zeile:

const char code[5] = "2009";

Stimmt zwar ist aber Fehleranfällig.

const char* code = "2009";

Ist hier besser, weil du die Länge nicht explizit angeben musst.

Zudem muss man hier aufpassen wegen dem Read. C überprüft Arraygrenzen nicht.

Es ist zwar implizit je nach verhalten dee Keypad library nicht möglich, aber wenn position == strlen(code) ist sollte position nicht weiter erhöht werden.