一、LCD2004A液晶模块简介
二、LCD2004A液晶模块与Arduino开发板连接
1,引脚说明
GND ------ 地线
VCC ------ 电源5V
SDA ------ I2C 数据线
SCL ------ I2C 时钟线
2,接线说明
LCD2004A------UNO
VCC------------5v
GND-----------GND
SDA------------SDA
SCL-------------SCL
三、LCD2004A液晶模块与Arduino开发板接线图
四、LCD2004A液晶模块与Arduino开发板测试
测试步骤:按照上面的连接步骤连接好后,打开Arduino程序,可看到下图:
编译后LCD2004A液晶模块显示结果如图:
五、测试代码
//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(0x3F,20,4); // set the LCD address to 0x3F for a 20 chars and 4 line display
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.print(" www.eeskill.com ");
lcd.setCursor(0, 2);
lcd.print(" cepark.taobao.com ");
lcd.setCursor(0, 3);
for(int i = 0;i < 20; i++) lcd.printByte(6);
}
void loop()
{
}
六、注意事项
1,LED2004A的vcc引脚必须接5V,接3.3V时液晶屏显示不清楚。
2,若加载arduino程序后出现找不到文件库,应下载后按步骤到“项目->Include Library->Add Zip Library”添加到工作文件中。
3,若添加后仍然报错,找不到库文件,则直接将下载的库文件放到路径C:\Program Files\Arduino\libraries下面就可以了。
4,若出现Arduino:1.6.5 (Windows XP), 板:"Arduino/Genuino Uno"collect2.exe: error: ld returned 5 exit status编译错误。则将所使用arduino版本更换为arduino 1.0版本即可。
5,该LCD2004A模块是一个模块还是两个模块?
答:该模块是通过LCD2004屏和I2C 模块焊接结合的,可以直接买焊接好的,也可以分开买,不过就需要点动手能力。
6,无法正常显示?
刚上电的时候,总是显示一个个方块,如图
这情况一般是地址错误,需要用寻找设备地址。运行 ScanIICAddress代码即可在端口出显示设备地址。如下图:
找到后将代码修改为LiquidCrystal_I2C lcd(0x3F,20,4); 即可。