c - 矩阵键盘 4*4 arduino

标签 c matrix arduino keypad

我在将键盘连接到 4*4 矩阵时遇到问题。我只使用 14 个按钮。问题是所有按钮都可以在 Arduino Mega 上使用。 On 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上如果您使用Serial,引脚01配置为串行通信。图书馆。尝试将这些引脚更改为其他一些数字引脚。

作为纯粹的猜测,尝试在这种状态下使用 digitalRead() 等从引脚读取数据将 yield a LOW因此 Keypad 库永远不会认为该列处于事件状态,因此驻留在这些列上的按钮将永远不会工作。

关于c - 矩阵键盘 4*4 arduino,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39511364/

相关文章:

用于分配不带字母的矩阵元素的C程序

matlab - 如何最好地构造一个矩阵,其元素恰好是它们的索引或 Matlab 中索引的函数?

python - 使 numpy 矩阵更稀疏

iOS 低功耗蓝牙 (BLE) 未发现 TX 特性

c# - 具有C#或同等功能的Arduino音频频谱

将字符串复制到 malloc 的字符串数组

c++ - 可变长度数组 VLA(静态绑定(bind)或动态)

c - 倒带文件后真的很奇怪的段错误

c - C 中指针前进并在 strchr 之后再获取 2 个字符

android - Arduino 安卓 USB 连接