键盘
概述
在本课中,您将学习使用键盘。键盘可应用于各种设备,包括手机、传真机、微波炉等。它常用于用户输入。
所需元件
本项目中,我们需要以下元件。
购买整套套件会更加方便,以下是链接:
名称 |
套件所含项目 |
链接 |
|---|---|---|
Elite Explorer 套件 |
300+ |
您也可以从以下链接单独购买。
元件介绍 |
购买链接 |
|---|---|
- |
|
接线
原理图
代码
备注
您可以直接打开路径
elite-explorer-kit-main\basic_project\21-keypad下的21-keypad.ino文件。要安装库,请使用 Arduino 库管理器搜索 “Adafruit Keypad” 并安装。
将代码上传到 UNO 板后,在串口监视器中,您可以看到键盘上当前按下的键的值。
代码分析
包含库
首先包含
Adafruit_Keypad库,这使我们能够轻松地与键盘交互。#include "Adafruit_Keypad.h"
备注
要安装库,请使用 Arduino 库管理器搜索 “Adafruit Keypad” 并安装。
键盘配置
const byte ROWS = 4; const byte COLS = 4; char keys[ROWS][COLS] = { { '1', '2', '3', 'A' }, { '4', '5', '6', 'B' }, { '7', '8', '9', 'C' }, { '*', '0', '#', 'D' } }; byte rowPins[ROWS] = { 2, 3, 4, 5 }; byte colPins[COLS] = { 8, 9, 10, 11 };
ROWS和COLS常量定义了键盘的尺寸。keys是一个二维数组,存储键盘上每个按钮的标签。rowPins和colPins是存储连接到键盘行和列的 Arduino 引脚的数组。
初始化键盘
创建一个名为
myKeypad的Adafruit_Keypad实例并初始化它。Adafruit_Keypad myKeypad = Adafruit_Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
setup() 函数
初始化串口通信和自定义键盘。
void setup() { Serial.begin(9600); myKeypad.begin(); }
主循环
检查按键事件并在串口监视器中显示它们。
void loop() { myKeypad.tick(); while (myKeypad.available()) { keypadEvent e = myKeypad.read(); Serial.print((char)e.bit.KEY); if (e.bit.EVENT == KEY_JUST_PRESSED) Serial.println(" pressed"); else if (e.bit.EVENT == KEY_JUST_RELEASED) Serial.println(" released"); } delay(10); }