Kurze Antwort

Um ein 4x4 Matrix-Keypad mit Arduino zu verwenden, verbinden Sie die I2C-Schnittstelle mit den SDA- und SCL-Pins und lesen Sie dann die ASCII-Tastenwerte mit der Wire-Bibliothek aus. Das mLink 4x4 Matrix-Keypad übernimmt das Entprellen und Scannen automatisch und vereinfacht so Ihren Code.

Warum ein I2C-Matrix-Keypad einem rohen Matrix-Keypad vorziehen?

Ein rohes 4x4 Matrix-Keypad benötigt acht digitale I/O-Pins und manuelles Entprellen im Code. Das mLink 4x4 Matrix-Keypad integriert ein dediziertes Scanmodul, das über I2C kommuniziert, nur zwei Pins (SDA und SCL) verwendet und eine bereits entprellte ASCII-Ausgabe liefert. Dies reduziert die Verdrahtungskomplexität und macht I/O-Pins für andere Sensoren oder Displays frei.

Der Nachteil sind die Kosten: Die mLink-Version ist etwas teurer als ein blankes Keypad. Für Projekte, bei denen Zuverlässigkeit und Einfachheit zählen, spart die Mehrinvestition jedoch Debug-Zeit.

Schritt-für-Schritt-Verdrahtungs- und Code-Anleitung

  1. Verbinden Sie das Keypad mit dem Arduino: Verbinden Sie VCC des mLink-Keypads mit 5V des Arduino, GND mit GND, SDA mit A4 (oder dem SDA-Pin bei Uno R3 oder neuer) und SCL mit A5 (oder dem SCL-Pin). Bei anderen Arduino-Boards prüfen Sie die I2C-Pinbelegung. Häufiger Fehler: Vertauschen von SDA und SCL. Reagiert das Keypad nicht, tauschen Sie die beiden Datenleitungen.
  2. Installieren Sie die benötigte Bibliothek: Öffnen Sie die Arduino-IDE, gehen Sie zu Sketch > Include Library > Manage Libraries und installieren Sie die Bibliothek 'mLink' vom Board-Hersteller. Diese Bibliothek stellt Funktionen zum Lesen des Keypads über I2C bereit. Wird die Bibliothek nicht gefunden, laden Sie sie von der Produktseite herunter und installieren Sie sie manuell über Sketch > Include Library > Add .ZIP Library.
  3. Schreiben Sie den Scan-Code: Binden Sie die mLink-Bibliothek in Ihren Sketch ein. Rufen Sie in setup() mLink.begin() auf. Verwenden Sie in loop() mLink.getKey(), um den ASCII-Wert der zuletzt gedrückten Taste zu lesen. Ist der Wert nicht 0, geben Sie ihn über den Serial Monitor aus oder verwenden Sie ihn in Ihrer Projektlogik. Kontrollpunkt: Das Keypad gibt 0 zurück, wenn keine Taste gedrückt ist. Testen Sie immer auf einen Wert ungleich Null, bevor Sie auf einen Tastendruck reagieren, um Fehlauslösungen zu vermeiden.
  4. Testen und überprüfen Sie die Tastenbelegung: Laden Sie den Sketch hoch und öffnen Sie den Serial Monitor mit 9600 Baud. Drücken Sie jede Taste und bestätigen Sie, dass das richtige ASCII-Zeichen erscheint. Das mLink-Keypad gibt Großbuchstaben und Ziffern aus, die mit den bedruckten Tasten übereinstimmen. Gibt eine Taste ein anderes Zeichen zurück, prüfen Sie auf lose Verbindungen oder ein defektes Keypad. Keine Zuordnungstabelle ist erforderlich, da das Modul dies übernimmt.
  5. Integration in Ihr Projekt: Ersetzen Sie die Zeile Serial.print() durch Ihre eigene Logik: speichern Sie die Taste beispielsweise in einem String, vergleichen Sie sie mit einem Passwort oder verwenden Sie sie zur Navigation in einem Menü auf einem LCD-Display. Denken Sie daran, dass das Keypad abgefragt wird, nicht interuptgesteuert. Ihre Schleife muss getKey() häufig genug aufrufen, um schnelle Tastendrücke zu erfassen.

Produktreferenz

  • mLink 4x4 Matrix-Keypad: Das mLink 4x4 Matrix-Keypad ist ein einbaubares serielles (I2C) 16 Tasten-Tastfeld mit einem Modul, das kontinuierlich Tastendrücke scannt und entprellt und jede Taste als 8-Bit-ASCII-Wert speichert. Sie müssen keine Entprell- oder Scanroutinen in Ihren Arduino-Sketch schreiben, was den Code vereinfacht und Fehlauslösungen reduziert.

    mLink 4x4 Matrix Keypad

    mLink 4x4 Matrix-Keypad