上个推送,我们学习了I2C功能的基础知识。而且知道了使用很多器件都需要安装库。本次,我们一起来做一个实例,用arduino驱动1602液晶屏
1602代表屏幕有16列,2行。传统的驱动方式占用了大量的IO口。但是通过I2C转换模块转换后,只要2条数据线和2条电源线就可以驱动。节省了大量的资源。
引脚说明
GND ------ 地线
VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别)
SDA ------ I2C 数据线
SCL ------ I2C 时钟线
接线方法
LCD1602 i2c模块 Ardunio Uno
GND <------> GND接地线
VCC <------> 5V 接电源
SDA <------> A4
SCL <------> A5
模块背面的蓝色电位器可以调整液晶背光。
这个例程,要用到一个外部库:LiquidCrystal_I2C-master 这个库,需要自行下载安装。不懂得可以找找博主上一篇文章。
下载地址是 https://github.com/marcoschwartz/LiquidCrystal_I2C
文件夹说明:
LiquidCrystal_I2C-master ——LCD1602 I2C库(库需要复制在arduino的库目录里)
LS_LCD1602 ——主程序
程序如下:
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //引用I2C库
LiquidCrystal_I2C lcd(0x3F,16,2);//设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
void setup()
{
lcd.init(); // 初始化LCD
lcd.backlight(); //设置LCD背景亮度
}
void loop()
{
lcd.setCursor(0,0); //设置显示指针:在第0行、第0列开始显示第一个字符(就是屏幕的左上角)
lcd.print("LCD1602 iic Test"); //输出字符到LCD1602上
lcd.setCursor(0,1); //在第1行,第0列开始输出(就是屏幕的左下角)
lcd.print(" by L.L."); //空格是为了让字符居中
delay(1000);
}
相对于前面的原理讲解,是不是很简单?实际上,这个库是把I2C程序进行了变化,同样封装在一系列函数中,只要简单的调用就可以实现。大大简化了程序员的工作量。
,