こんなやつ。
Keypadというライブラリがあるらしいのでhttps://www.arduinolibraries.info/libraries/keypadからもらってきてインストールする。
ついでにコードもここからもらってくる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 3; //three columns char keys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'#','0','*'} }; byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad 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); } } |
けど、よく見たら4×3用だったので、結局自分で書き直した。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 4; //three columns char keys[ROWS][COLS] = { { '1','2','3','A' }, { '4','5','6','B' }, { '7','8','9','C' }, { '*','0','#','D' } }; byte colPins[COLS] = { 5, 4, 3, 2 }; //connect to the column pinouts of the keypad byte rowPins[ROWS] = { 9, 8, 7, 6 }; //connect to the row pinouts of the keypad 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); } } |
接続は以下のとおり。
パッドに向かって左がD9で順に右へD2までを順につないだ。
eBayで送料込み88円の代物なので、キーアサインの資料などは無く、適当につないであとでコードでつじつまを合わせようとしたらこうなった。
どうやら、よくある例とは逆だったようだ。