上个推送,我们学习了I2C功能的基础知识。而且知道了使用很多器件都需要安装库。本次,我们一起来做一个实例,用arduino驱动1602液晶屏

1602代表屏幕有16列,2行。传统的驱动方式占用了大量的IO口。但是通过I2C转换模块转换后,只要2条数据线和2条电源线就可以驱动。节省了大量的资源。

arduino怎么接oled(arduino的I2C通讯3驱动1602液晶屏)(1)

引脚说明

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程序进行了变化,同样封装在一系列函数中,只要简单的调用就可以实现。大大简化了程序员的工作量。

,