最近挺无趣的,于是开始学习学习Arduino,这真是一个锻炼动手能力的利器呀,看似简单,却能做出各种各样的小玩意,真是想象力决定了你能做些什么。不过小编远远没有那些大神的高超技术与不可思议的想象力,所以只能从简单的一步一步学习,总之就是多动动手,做点简单的小实验了。
就在小编无趣乱翻零件箱的过程中,小编看到了一块”4*4矩阵键盘”和一块“1602字符型液晶”,突然想到我可以做一个很简单的计算器嘛,再看看这两个元件上一大堆引脚,想到要接一大堆线就很有意思,不知道Arduino上的引脚够不够。说干就干,同样也是学习嘛,而且这两个元件常常都会用到,学学怎么接线也好。第一是在国内外论坛上找找资料,学习一下,感觉还是很简答的嘛,所以小编把我做的过程分享给大家,有时间的话各位都可以试试这个简单的小实验,人人都是技术宅。
第一是准备材料:
-
Arduino主板,我用的是arduino uno r3,别的Arduino板也行,某宝几十块,还有USB连接线;
-
“4*4矩阵键盘”和一块“1602字符型液晶”各一块;
-
1k电阻(四环电阻的话,一般是“棕黑红金”)或者5K的电位器随意整两个,用来调节液晶屏对比度和背光亮度的,小编刚好各有一个;
-
块面包板和一堆杜邦线,这次真的是要一堆杜邦线了;
-
一台能用的电脑和一个勉强够用脑子。

准备号材料
材料准备完之后先弄清楚怎么连接把,第一是把连接图画出来,先设计再实施嘛。1602液晶上有16个引脚,如果按照8位接法的话就有11个引脚要接数字I/O端口,不过4*4矩阵键盘8个引脚都必须接到数字I/O端口,然但是arduino uno r3主板总共只有14个数字I/O端口。还好1602液晶还有4位连接法,可以省出几个数字端口。

1602字符型液晶
先来看看1602液晶的16个引脚分别要接什么端口吧:
1 Vss 接地 (0V)
2 Vdd 电源 (+5V)
3 Vo或与Vee – 对比度调整(0V到5V), 可接一颗1K的电阻或接一个5K的电位器
4 RS Register Select: 参数:{1: D0 – D7 设置为1时当作资料解释 0: D0 – D7 设置为0时当作指令解释}
5 R/W Read/Write mode: 参数:{1: 从LCD读取资料 0: 写资料到LCD(一般情况下很少从LCD读取资料,把这个脚接地可省I/O脚位)}
6 E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。
7~14:D0~D7为8位双向数据端
15 A+ 背光(串联一个1K的电阻接地或串联一个5K的电位器调整背光)
16 K- 背光(GND)
清楚了这些可以画连接图了:

Arduino计算机连接图
由于Fritzing找不到4*4矩阵键盘,所以就只能那样随意整整了,各位别介意呀,4*4矩阵键盘上的8个引脚按顺序接到6~13号数字I/O端口就好了。接下来根据连接图吧各个元件连起来就好了,真是用了好多杜邦线,连线也真是凌乱得过分呀,还好有设计图,一根一根连好就行了。这里需要注意的是1602液晶1~16引脚的顺序,不同厂商左右顺序不一样。

实物连接图
连好元件之后准备Arduino程序上传到主板上,这里需要注意的是4*4矩阵键盘不想自己写驱动的话需要去Arduino网站上下载keypad库放在library文件夹中。使用之前定义好键盘的按键图和使用的端口就行了,可以参考官方文档。

keypad库使用说明
当然了,网上也有开源的源代码,不想自己写的小伙伴可以去网上找了下载,设置好引脚和键盘参数后也能正常运行。程序编译上传成功,计算器正常启动,显示hello world!(作为程序员最初的傲娇 )。

开机显示hello world
使用键盘输入数字和计算符,计算器就算能正常使用了,不过真心计算不了多大的数据,而且没有小数点,键盘上没多余的按键了,所以程序就没写小数点了。怎么样,很简单吧,但是一步一步动手去做,真的能学到许多东西。

计算器正常工作
00:00
















- 最新
- 最热
只看作者