1.任务
利用Arduino、4X4按键,将按键内容显示在LCD1602上
2.所需材料
1.Arduino UNO x1
2.LCD1602A x1
3.4X4膜按键 x1
4.旋转电位器x1(用来调节LCD对比度)
5.面包板 x1
6.杜邦线 若干
3.硬件连接图
1.4X4矩阵键盘:由于Arduino接口不够,所以将该4X4键盘改为3X3键盘,有效按钮为:1、2、3、4、5、6、7、8、9。
4.软件前期准备
部分同学的IDE中可能为加载Keypad库,所以在开始前先检查一下自己的IDE中是否已经有此库。如果没有的话,按照以下步骤进行安装:
1.下载Keypad库,下载地址:Arduino Playground - Keypad Library
2.下载得到一个ZIP文件,将该文件存放在合适位置(加载该文件后,该ZIP文件将无法删除,除非将加载的库删掉才能删除,所以要存放在一个合适的位置),然后打开IED,按照“项目--加载库--添加.ZIP库”的顺序将下载的ZIP文件加载到库中,如下图所示:
5.软件部分
#include <LiquidCrystal.h>//声明调用库
#include <Keypad.h>
const int rs=6,en=7,d4=5,d5=4,d6=3,d7=2;//对应引脚
const byte ROWS = 3; //3行
const byte COLS = 3; //3列
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'}
};//用的是4X4膜按键,但是Arduino接口不够,所以将4X4按键简化为3X3按键
byte rowPins[ROWS] = {13,12,11}; //按键行对应的Arduino接口
byte colPins[COLS] = {10,9,8};//按键列对应的Arduino接口
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);//创建一个名为lcd的实例(对象),这里是4线法d4~d7
int i=0;
void setup() {
lcd.begin(16,2);//初始化LCD的宽度和高度,设置16列2行
}
void loop() {
char key = keypad.getKey();
if (key != NO_KEY){
lcd.print(key);
i=i+1;
if (i==17){
lcd.clear();//清空第一行并重新开始显示
lcd.print(key);//将第17次按下的按键显示在第一行第一位
i=0;
}
}
}
本文含有隐藏内容,请 开通VIP 后查看