A teszteléshez én nem egy drága elektronikát használtam, hanem egy párszáz forintos öntapadós kínai padot, bár végeredményben ezzel is tökéletes működött a tesztkód, amit itt találtam. A bekötés itt már kicsivel cifrább, mert 8 digitális Pint használunk el, de ez sem okozhat problémát mert sorba kell kötni a lábakat. A kódhoz még pluszban szükségünk lesz a keypad libraryra. Amit letölthetünk az arduno honlapján. Ezt a szokásos módon másoljuk a helyére és már indulhat is a feltöltés.
A bekötés baromi egyszerű, ha szemből nézzük a padot, akkor a bal oldali 4 csatlakozó balról jobbra kerül a 2,3,4,5-ös pinre. A jobb oldali 4 csatlakozó pedig szintén balról jobbra az 6,7,8,9-es pinre. Ezzel kész is vagyunk. Az első 4 csatlakozó határozza meg a mátrixban a sorokat, a második 4 pedig az oszlopokat, ez a kódból ki is derül, mert ott ezeket deklarálni kell.
Forráskód:
#include < Keypad.h > const byte ROWS = 4; const byte COLS = 4; char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {2,3,4,5}; //Csatlakoztasd a sorok kimeneteit byte colPins[COLS] = {6,7,8,9}; //Csatlakoztasd az oszlopok kimeneteit Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup(){ Serial.begin(9600); } void loop(){ char key = keypad.getKey(); if (key != NO_KEY){ Serial.println(key); } }