/*
電子元件:鍵盤(keypad)
功能:鍵盤輸入
*/
// 引用Keypad程式庫
#include <Keypad.h>
// 按鍵模組的列數
const uint8_t ROWS = 4;
// 按鍵模組的行數
const uint8_t COLS = 4;
// 依照行、列排列的按鍵字元(二維陣列)
char keys[ROWS][COLS] = {
{ '1', '2', '3', 'A' },
{ '4', '5', '6', 'B' },
{ '7', '8', '9', 'C' },
{ '*', '0', '#', 'D' }
};
// 按鍵模組,行1~4接腳。
uint8_t colPins[COLS] = { 5, 4, 2, 15 }; // Pins connected to C1, C2, C3, C4
// 按鍵模組,列1~4接腳。
uint8_t rowPins[ROWS] = { 22, 21, 19, 18 }; // Pins connected to R1, R2, R3, R4
// 初始化Keypad物件
// 語法:Keypad(makeKeymap(按鍵字元的二維陣列), 模組列接腳, 模組行接腳, 模組列數, 模組行數)
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
Serial.begin(9600);
}
void loop() {
// 透過Keypad物件的getKey()方法讀取按鍵的字元
char key = keypad.getKey();
if (key != NO_KEY) { // 若有按鍵被按下…
Serial.println(key); // 顯示按鍵的字元
}
}