1.2.3.6.2.4 MATRIXKEYPAD(矩阵键盘)

优质
小牛编辑
127浏览
2023-12-01

更新时间:2018-09-18 10:18:23

功能说明

矩阵键盘驱动程序

硬件资源

1.ESP32 模组
2.矩阵键盘模块

1.png | center | 493x282

3.接线

  • 矩阵键盘模块 C1 接 ESP32 16 引脚

  • 矩阵键盘模块 C2 接 ESP32 4 引脚

  • 矩阵键盘模块 C3 接 ESP32 2 引脚

  • 矩阵键盘模块 C4 接 ESP32 15 引脚

  • 矩阵键盘模块 R1 接 ESP32 17 引脚

  • 矩阵键盘模块 R2 接 ESP32 5 引脚

  • 矩阵键盘模块 R3 接 ESP32 18 引脚

  • 矩阵键盘模块 R4 接 ESP32 19 引脚

软件设计

驱动配置

开发板板级管脚配置(board.json) 示范:</span>

 "matrixkeypad.C4":{
    "type":"GPIO",
    "port":15,
    "dir":1,
    "pull":1
  },
  "matrixkeypad.C3":{
    "type":"GPIO",
    "port":2,
    "dir":1,
    "pull":1
  },
  "matrixkeypad.C2":{
    "type":"GPIO",
    "port":4,
    "dir":1,
    "pull":1
  },
  "matrixkeypad.C1":{
    "type":"GPIO",
    "port":16,
    "dir":1,
    "pull":1
  },
  "matrixkeypad.R1":{
    "type":"GPIO",
    "port":17,
    "dir":0,
    "pull":1
  },
  "matrixkeypad.R2":{
    "type":"GPIO",
    "port":5,
    "dir":0,
    "pull":1
  },
  "matrixkeypad.R3":{
    "type":"GPIO",
    "port":18,
    "dir":0,
    "pull":1
  },
  "matrixkeypad.R4":{
    "type":"GPIO",
    "port":19,
    "dir":0,
    "pull":1
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 matrixkey。
  2. 编写测试 index.js 文件。
var matrixkeypad = require('matrixkey');
var handle = new matrixkeypad('matrixkeypad.C1','matrixkeypad.C2','matrixkeypad.C3','matrixkeypad.C4','matrixkeypad.R1','matrixkeypad.R2','matrixkeypad.R3','matrixkeypad.R4');
var keycb = function(cval,rval){
    console.log('cval: '+cval + 'rval: '+rval);
};
handle.init(keycb);
setInterval(function(){
   handle.scan();
}, 100);

运行验证

按下任意按键,终端将输出对应的行列值;