DIY Gaming Keypad, diverse Fragen von einem Anfänger

Ja, bitte wende Dich vertrauensvoll an unseren Moderator @uwefed, der das für Dich erledigt. Wenn Du dran denkst, kannst Du aber auch nur eine Antwort schreiben. dann bleibt das Thema weitere sechs Monate zugänglich. Es lebe der elektronische Kalender oder ein ESP32 macht eine LED für Dich an :slightly_smiling_face:

Ja, wenn er permanent dranbleiben soll. Ich mache das steckbar, benötige es nur für neue Programme.

Aber der ATMega328P kann kein HID, für Dich also nicht zu verwenden.

Verwende Portexpander wie beispielsweise MCP23017 oder MCP23S17 für Tasten und TLC5947 für LEDs.

Wegen der vielen Pins würde ich Dir gerne den Mega2560 PRO mini empfehlen, da gibt es genügend Pins für Drehencoder und Potis, leider kann der nicht HID. Daher wäre auch eine Möglichkeit, Mega2560 und Pro Micro miteinander zu verbinden, beispielsweise per I²C oder UART.

Hat der Mega2560 einen ATmega16U2 als USB-Schnittstelle drauf, könntest Du auch mal einen Blick auf meine Anleitung: UNO als Human Interface Device (HID) Tastatur werfen. Das sollte auch mit einem Mega2560 funktionieren.

Zur Programmierung: Die Arduino-IDE verwendet einen C++-Compiler, also OOP. Glücklicherweise, je nach Sichtweise, versteht er auch prozedurale Programmierung. Daher kann man selbst, wenn einem das leichter fällt, erstmal prozedural programmieren und benötigt die OOP-Grundlagen nur lesend zum Verstehen der Anwendung von Bibliotheken. Es kann sehr hilfreich sein, Informationen aus h-Dateien zu entnehmen, beispielsweise die zur Verfügung stehenden Methoden und deren Parameter. Auch sind die Kommentare manchmal aussagekräftiger als die Dokumentation.

Das Arduino-Programm läuft wie auf einem Server immer im Kreis, der Name loop sagt das deutlich. Eine Herzschlagfunktion mit blinkender LED sollte regelmäßig schlagen, dann hast Du blockadearm programmiert.

Eine Schrittkette (=finite state machin, =endlicher Automat) hilft Dir, Deinen Ablaufplan umzusetzen.

Ein ausführlich kommentiertes Beispiel.