Arduino 通过 I2C 驱动 LCD1602 液晶屏

LCD 1602 液晶屏模块的使用,之前在「Arduino用超声波模块+LCD1602测距并显示」一文中有详细介绍。这个屏幕还有一种 I2C 方式的驱动模块,可以极大的简化接线和驱动程序。下面 Arduino 实验室将对这个模块的使用做一个介绍。

硬件说明

IIC「Inter-Integrated Circuit 集成电路总线」是一种串行通信总线,应用于板载低速设备间的通讯。由飞利浦公司开发的这一通讯协议,其目的就是为了简化系统硬件设计,减少设备间的连线。IIC 串行总线有两根信号线,一根是双向的数字线SDA,另一根是时钟线SCL,每个IIC设备都有自己的地址,IIC总线上多个设备间通过设备地址进行区别。

带 I2C 模块的 1602 屏幕背面如图所示。模块上有一颗可调电阻,用于调节显示的对比度。(购买链接,如果你新拿到一块屏幕无论怎么调试都不见显示,记得调节一下这里)

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

安装驱动库

在 Arduino IDE 中点击「Sketch」—「Include Library」—「Manage Libraries」,查找「LiquidCrystal_I2C」,选择最新版本进行安装。

连接电路

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

编程

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

/*
 * LCD1602 IIC驱动
 */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

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

void setup()
{‌‌
  lcd.init(); //初始化LCD
  lcd.backlight(); //打开背光
}

void loop()
{‌‌
  lcd.setCursor(0,0);//设置显示位置
  lcd.print("  HELLO WORLD!");//显示字符数据
  lcd.setCursor(0,1);//设置显示位置
  lcd.print("ARDUINO.NXEZ.COM");//显示字符数据
}

连接开发板,设置好对应端口号和开发板类型,将上面的代码上传到 Arduino 上即可。

坐沙发

发表评论