Snel antwoord
Om een 4x4 matrix keypad met Arduino te gebruiken, sluit je de I2C-interface aan op de SDA- en SCL-pinnen en lees je ASCII-sleutelwaarden met de Wire-bibliotheek. Het mLink 4x4 Matrix Keypad handelt debouncing en scannen automatisch af, wat je code vereenvoudigt.
Waarom kiezen voor een I2C matrix keypad boven een ruwe matrix
Een ruw 4x4 matrix keypad vereist acht digitale I/O-pinnen en handmatig debouncen in code. Het mLink 4x4 Matrix Keypad integreert een speciale scannmodule die communiceert via I2C, met slechts twee pinnen (SDA en SCL) en biedt vooraf gedebouncte ASCII-uitvoer. Dit vermindert de bedradingscomplexiteit en maakt I/O vrij voor andere sensoren of dislays.
Het nadeel is de kost: de mLink-versie is iets duurder dan een kaal keypad. Voor projecten waar betrouwbaarheid en eenvoud belangrijk zijn, bespaart de extra kost echter debugtijd.
Stap-voor-stap bedradings- en codegids
- Verbind het keypad met Arduino: Verbind de VCC van het mLink keypad met Arduino 5V, GND met GND, SDA met A4 (of SDA-pin op Uno R3 of later), en SCL met A5 (of SCL-pin). Voor andere Arduino-borden, controleer de I2C-pinout. Veelgemaakte fout: SDA en SCL omdraaien. Als het keypad niet reageert, verwissel dan de twee datadraden.
- Instaleer de vereiste bibliotheek: Open de Arduino IDE, ga naar Sketch > Include Library > Manage Libraries en instaleer de 'mLink'-bibliotheek van de bordleverancier. Deze bibliotheek biedt functies om het keypad over I2C te leen. Als de bibliotheek niet wordt gevonden, download deze dan van de productpagina en instaleer deze handmatig via Sketch > Include Library > Add .ZIP Library.
- Schrijf de scanncode: Neem de mLink-bibliotheek op in je sketch. Roep in setup() mLink.begin() aan. Gebruik in loop() mLink.getKey() om de ASCII-waarde van de laatst ingedrukte toets te leen. Als de waarde niet 0 is, print deze dan naar de Serial Monitor of gebruik deze in je projectlogica. Controlepunt: Het keypad geeft 0 terug als er geen toets wordt ingedrukt. Test altijd op een niet-nul waarde voordat je actie onderneemt op een toetsdruk om valse triggers te voorkomen.
- Test en verifieer de toets mapping: Upload de sketch en open de Serial Monitor op 9600 baud. Druk elke toets in en bevestig dat het juiste ASCII-teken verschijnt. Het mLink keypad geeft hoofdletters en cijfers uit die overeenkomen met de bedrukte toetskappen. Als een toets een ander teken teruggeeft, controleer dan op losse bedrading of een defect keypad. Er is geen mappingtabel nodig omdat de module dit afhandelt.
- Integreer in je project: Vervang de Serial.print()-regel door je eigen logica: bijvoorbeeld, sla de toets op in een string, vergelijk deze met een wachtwoord, of gebruik deze om door een menu op een LCD-scherm te navigeren. Onthoud dat het keypad wordt gepolled, niet interrupt-gestuurd. Je loop moet getKey() vaak genoeg aanroepen om snelle toetsdrukken op te vangen.
Productreferentie
-
mLink 4x4 Matrix Keypad: Het mLink 4x4 matrix keypad is een paneelmonteerbaar serieel (I2C) 16 toets tactiel keypad met een module die continu toetsdrukken scant en debounct, waarbij elke toets wordt opgeslagen als een 8- bits ASCII-waarde. Je hoeft geen debounc- of scannroutines in je Arduino-sketch te schrijven, wat code vereenvoudigt en valse triggers vermindert.
mLink 4x4 Matrix Keypad



