Arduino: ESP32 外接矩阵按钮(11)

@[toc]

目的

使用 4 X 4 的矩阵按键输入,再通过串口显示内容

主要函数

#define makeKeymap(x) ((char *)x)makeKeymap(x)只是将 x 定义为指针形式

Keypad::Keypad(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols)自定义键映射、针配置和键盘大小

char Keypad::getKey()返回一个键

使用示例

#include <keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
 {'0','1','2','3'},
  {'4','5','6','7'},
  {'8','9','A','B'},
  {'C','D','E','F'}
};// 
byte rowPins[ROWS] = {19, 18, 26, 17}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {16, 14, 12, 13}; //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){
    Serial.println(key);
  }
}

现象

在这里插入图片描述

当按矩阵按键上的按钮后,就会显示对应数字

注意事项

  1. 在连接引脚的时候要注意引脚的初始是高电平或者是低电平
  2. 连接到键盘的行、列插脚要分清,填写入正确的引脚。出现错误时可以根据对应的行或列进行分析哪个数值写错

诶,模块长啥样的?

好像没有图?