矩阵键盘 4*4 arduino
Matrix keyboard 4*4 arduino
连接到 4*4 矩阵的键盘出现问题。我只使用 14 个按钮。问题是所有按钮都适用于 Arduino Mega。在 Uno 上仅适用于 3,4 - 5,6 - B,C。我不明白为什么它不起作用。有人可以帮我吗?提前谢谢你。
这是我的代码
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1' , '2' , '3' , '4'},
{'5' , '6' , '7' , '8'},
{'9' , 'A' , 'B' , 'C'},
{'D' , 'E' , 'F' , 'G'}
};
byte rowPins[ROWS] = {13,12,11,10};
byte colPins[COLS] = {0,1,2,3};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
char key = keypad.getKey();
if(key != NO_KEY){
Serial.println(key);
}
}
在 Arduino UNO pins 0 & 1 are configured for serial communication, if you use the Serial
图书馆。尝试将这些引脚更改为其他一些数字引脚。
作为纯粹的推测,在这种状态下尝试从带有 digitalRead()
等的引脚读取将 yield a LOW 因此 Keypad
库永远不会认为该列处于活动状态,因此按钮驻留在这些列上的那些将永远无法工作。
连接到 4*4 矩阵的键盘出现问题。我只使用 14 个按钮。问题是所有按钮都适用于 Arduino Mega。在 Uno 上仅适用于 3,4 - 5,6 - B,C。我不明白为什么它不起作用。有人可以帮我吗?提前谢谢你。
这是我的代码
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1' , '2' , '3' , '4'},
{'5' , '6' , '7' , '8'},
{'9' , 'A' , 'B' , 'C'},
{'D' , 'E' , 'F' , 'G'}
};
byte rowPins[ROWS] = {13,12,11,10};
byte colPins[COLS] = {0,1,2,3};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
char key = keypad.getKey();
if(key != NO_KEY){
Serial.println(key);
}
}
在 Arduino UNO pins 0 & 1 are configured for serial communication, if you use the Serial
图书馆。尝试将这些引脚更改为其他一些数字引脚。
作为纯粹的推测,在这种状态下尝试从带有 digitalRead()
等的引脚读取将 yield a LOW 因此 Keypad
库永远不会认为该列处于活动状态,因此按钮驻留在这些列上的那些将永远无法工作。