IIC/TWI LCD2004液晶模块(Arduino兼容)

184 thumb P 1385536935425.jpg
目录

1 概述
2 技术规格
3 接口定义
4 地址设置
5 连线图
6 库函数
7 示例代码
8 相关资料

概述
Arduino控制器的控制端口数量实在是有限,连接几个传感器,通讯设备什么的,你就会发现端口不够用了,还想扩展一个液晶显示器,怎么办?
为了解决上述问题,我们开发的I2C接口的LCD显示器,I2C只需两根线就可以实现数据显示,还可以串联多个I2C设备。标准IIC接口,除了Arduino可以使用之外,其他单片机同样可以进行驱动控制。
I2C/TWI LCD2004模块来自DFRobot相当酷的一款I2C接口的LCD显示器,采用I2C的通讯接口驱动。LCD2004能够为您的MCU控制器节省大量的数字引脚,也为你的Arduino控制器系统的显示开发节省大量的软件开发时间成本,只要2根信号线就可以搞定全部链接。这款LCD显示器拥有4x20字节的STN白色字符显示及炫酷的蓝色背光灯。平整的设计能够让它快速整合到你的项目中,既美观,又功能强大。
我们提供Arduino平台下的全套使用教程和代码库。当然,该LCD还兼容其他单片机平台,接线同样很简单。不同于市面上的LCD2004,DFRobot的这款产品还能够同其他I2C LCD屏串联,并通过板子后面的跳帽选择地址。该模块的另外一大福利是带有两个Windows Gadgeteer的接口。国内仅有DFRobot一家的LCD系列产品具备这种扩展,为广大Gadgeteer平台的开发用户解决了燃眉之急。

技术规格
工作电压:5V
I2C设备地址:0x20~0x27(出厂默认0x20,短接帽全插上)
通讯接口:I2C/TWI
液晶参数:4行,每行20个字符
具有蓝色背光灯,白色字符,供电指示灯,电位器用于调节显示器对比度
点尺寸:0.55 x 0.55mm
字符尺寸:2.96 x 4.75mm
尺寸:98 x 60 x 24mm
重量:75g

接口定义
I2C LCD Module V1.1 4.jpg

地址设置
注意:短路帽插上表示0,短接帽拔掉表示1!

A2

A1

A0

地址

0x20

1

0x21

1

0x22

1

1

0x23

1

0x24

1

1

0x25

1

1

1

0x26

1

1

1

0x27

连线图
在你的Arduino连接SDA的引脚4和SCL的引脚5

I2C LCD 连线图
请注意V1.2的接口,它与老版本的LCD module的接口不同,请参考历史版本
库函数
LiquidCrystal()
begin()
clear()
home()
setCursor()
write()
print()
cursor()
noCursor()
blink()
noBlink()
display()
noDisplay()
scrollDisplayLeft()
scrollDisplayRight()
autoscroll()
noAutoscroll()
leftToRight()
rightToLeft()
createChar()

示例代码
首先下载LiquidCrystal_I2Cv1-1 library,然后安装该库,安装完后重启Arduino IDE!

//DFRobot.com
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args) write(args);
#else
#define printByte(args) print(args,BYTE);
#endif

uint8_t bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4};

LiquidCrystal_I2C lcd(0x20,20,4); // set the LCD address to 0x20 for a 20 chars and 4 line display(All jumpers should be connected!)

void setup()
{
// Serial.begin(57600);
lcd.init(); // initialize the lcd
lcd.backlight();

lcd.createChar(0, bell);
lcd.createChar(1, note);
lcd.createChar(2, clock);
lcd.createChar(3, heart);
lcd.createChar(4, duck);
lcd.createChar(5, check);
lcd.createChar(6, cross);
lcd.createChar(7, retarrow);
lcd.home();

lcd.setCursor(0, 0);
for(int i = 0;i < 20; i++) lcd.printByte(6);
lcd.setCursor(0, 1);
lcd.printByte(6);
lcd.print(" Hello world ");
lcd.printByte(6);
lcd.setCursor(0, 2);
lcd.printByte(6);
lcd.print(" i ");
lcd.printByte(3);
lcd.print(" arduinos! ");
lcd.printByte(6);
lcd.setCursor(0, 3);
for(int i = 0;i < 20; i++) lcd.printByte(6);
// lcd.clear();

}

void loop()
{

}

如果要使用库自带的样例代码,注意需要修改初始化语句,需要把: LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display 改成: LiquidCrystal_I2C lcd(0x20,20,4); // set the LCD address to 0x20 for a 20 chars and 4 line display(All jumpers should be connected!) 因为默认的初始化语句是给LCD1602用的!

相关资料
Arduino I2C LCD库(兼容Arduino IDE 1.0以及以上版本)
LCD数据手册CN
PCA8574数据手册
原理图

Nextredirectltr.png购买 IIC/TWI LCD2004液晶模块(Arduino兼容)(SKU:DFR0154)

标签: Arduino传感器