目录

一,硬件

二,原理

三,电路图

四,代码

 五,实物图

一,硬件

  1. Arduino UNO
  2. 4X4矩阵键盘

二,原理

        连接矩阵键盘的8个IO全部上拉,先使行线变为输入,列线变为输出并为低电平,若有按键按下,则对应的行线接地,判断哪个行线为低电平,则可读出第几行有按键被按下;然后使列线变为输入,行线变为输出并为低电平,若有按键按下,则对应的列线接地,判断哪个列线为低电平,则可读出第几列有按键被按下;根据第几行第几列就可以知道哪个按键被按下。

三,电路图

四,代码

#include <Keypad.h>

const byte ROWS = 4; //行
const byte COLS = 4; //列

char hexaKeys[ROWS][COLS] = {
  {'1','2','3','U'},
  {'L','6','5','4'},
  {'R','9','8','7'},
  {'D','B','A','0'}
};
byte rowPins[ROWS] = {6, 7, 8, 9}; 
byte colPins[COLS] = {5, 4, 3, 2}; 

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char customKey = customKeypad.getKey();
  
  if (customKey){
    Serial.println(customKey);
  }
}

 五,实物图

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐