Heute möchten wir gerne zeigen, wie man das AZ-Delivery Keypad am einfachsten an einem Arduino zum laufen bringt. In unserem Bespiel werden die Keys über den seriellen Monitor ausgegeben. Durch die Benutzung der Libary von Mark Stanley ist die Verwendung besonders einfach und das Beispiel am Seriellen Monitor nützlich, da diese ohne großen Aufwand nicht nur seriell zum PC übertragen werden kann, sondern auch an unsere HC-05 Module oder GSM Shields. Das Keypad ist von der Funktion recht simpel, jede Taste entspricht einem Schalter.
Und so schießen wir unser Keypad an:
der Code ist relativ selbstklärend:
/* @file CustomKeypad.pde || @version 1.0 || @author Alexander Brevig || @contact alexanderbrevig@gmail.com || || @description || | Demonstrates changing the keypad size and key values. || Modified for AZ-Delivery Keypad by MN || # */ #include <Keypad.h> const byte ROWS = 4; //vier Reihen const byte COLS = 4; //vier Spalten //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {11, 10, 9, 8}; //connect to the row pinouts of the keypad byte colPins[COLS] = {7, 6, 3, 2}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Das Keypad gibt es hier: Keypad 4x4
Den passenden Mikrocontroller: Mikrokontroller, kompatibel mit Arduino Uno R3
2 Kommentare
Bodo
Frage: Sind die Tasten bereits entprellt?
Wolfgang Kreinberg
Danke für diese Darstellung. Ich habe bei Euch das keypad gekauft und entsprechend der Anleitung im eBook angeschlossen. Es ging eine Spalte nicht. Nach einigem Versuch und Irrtum kam ich drauf, dass D1 nicht genutzt werden kann, ich habe von D1 auf D8 umgelegt und im Sketch angepasst, dass war es. In diesem Beispiel fangt Ihr bewusst oder zufällig bei D2 an, das sollte auch funktionieren.
Gruß und bitte weiter so!
Wolfgang