1. IIC转接板介绍

Arduino Uno R3开发板的外部IO口是非常有限的。在驱动LCD1602时,尽管我们的数据线使用了4线,相对于8线方式减少一半,但是在需要外接多种传感器的应用中,4线驱动还是占用了过多的IO。本篇介绍LCD1602的IIC驱动方式,通过IIC转接板使用IIC接口,只占用2个IO口就能驱动LCD1602。

IIC「Inter-Integrated Circuit 集成电路总线」是一种串行通信总线,应用于板载低速设备间的通讯。由飞利浦公司开发的这一通讯协议,其目的就是为了简化系统硬件设计,减少设备间的连线。

IIC串行总线有两根信号线,一根是双向的数字线SDA,另一根是时钟线SCL,每个IIC设备都有自己的地址,IIC总线上多个设备间通过设备地址进行区别。

上图为本篇使用的IIC转接板,直接焊接于LCD1602。可通过跳线帽设置是否开启背光,通过蓝色电位器调节对比度。IIC设备地址可通过短路A0/A1/A2修改,默认地址0x27

2. 安装驱动库

在Arduino IDE中点击「项目」—「加载库」—「管理库」,查找「LiquidCrystal_I2C」,选择最新版本进行安装。(这个得慢慢找)

3.实验材料

Uno R3开发板

配套USB数据线

面包板及配套连接线

LCD1602液晶屏带IIC转接板

4.实验步骤

4.1.电路连接。

IIC转接板的VCC、GND分别连接开发板5V、GND,转接板的SDA、SCL连接开发板A4、A5。

对应到I2C版的

这样就明白了吧?

4.2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

1 /*

2 * LCD1602 IIC驱动3 */

4 #include

5 #include

6

7 LiquidCrystal_I2C lcd(0x27,16,2); //配置LCD地址及行列

8

9 voidsetup()10 {11 lcd.init(); //初始化LCD

12 lcd.backlight(); //打开背光

13 }14

15 voidloop()16 {17 lcd.setCursor(0,0);//设置显示位置

18 lcd.print("hello");//显示字符数据

19 lcd.setCursor(0,1);//设置显示位置

20 lcd.print("world !");//显示字符数据

21 }

4.3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

5.实验现象

可通过转接板蓝色电位器调节对比度,使LCD1602显示清晰。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐