本帖最后由 AllBlue 于 2016-7-27 16:58 编辑
很多人驱动IIC LCD1602 都会出现第一行黑方块全黑,第二行没显示的问题,那这究竟是什么原因呢?
原因:液晶没有进行初始化操作
如何解决:
1、硬件连接是否正确?
IIC液晶只需要4根线,其实只需要检查2根线(因为你的液晶已经点亮,电源没错),即SDA 和 SCL 接线是否正确(SDA — A4、 SCL — A5 )
2、确定硬件没有问题后,再确定程序是否下载进去?
再次下载程序,确定下载完成后,点击arduino UNO上的复位按钮!
3、还是没反应,确定IIC接口通信地址是否正确!
如何确定IIC接口地址呢,看手册。
先确定你芯片型号!默认芯片为PCF8574,A0 A1 A2 连接高电平即为1,所以地址默认:0X27
没有库文件在这里下载:http://www.yfrobot.com/thread-2263-1-1.html
确定好地址后,下载程序:
[C] 纯文本查看 复制代码
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup(){
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
}
void loop(){
lcd.init();
lcd.setCursor(0,0);
lcd.print("8888888888888888");
lcd.setCursor(0,1);
lcd.print("HHHHHHHHHHHHHHHH");
delay(1000);
lcd.setCursor(0,0);
lcd.print("HHHHHHHHHHHHHHHHH");
lcd.setCursor(0,1);
lcd.print("0000000000000000");
delay(1000);
}
4、上面的方法解决不了。如果手边有空余的控制板,可以换个控制板试试!
5、如果真的解决不了,联系厂家,返厂检测(出厂都测试好的,一般不会有问题)!
ps:如果你出现的问题是两行都全黑,或者都没显示,可以检查下背面电位器有没有被调过!
|