I2C LCD1602液晶显示屏无法显示怎么解决?
本帖最后由 Forgotten 于 2021-2-24 19:22 编辑上传程序到主控板后发现LCD液晶显示屏后显示屏无反应,如下图:
分析问题:
可能情况一:I2C LCD液晶显示屏供电电压不够,供电电压5V,尝试给屏幕VCC供电5V。
可能情况二:对比度设置有问题,使用螺丝刀调节背面的对比度调节旋钮,如文字能显示说来则调节至更清晰即可。
可能情况三:I2C LCD液晶显示屏引脚接错,请检查是否SDA对应A4,SCL对应A5。(对于Arduino uno因为A4A5与I2C的scl和sda复用,如果使用I2C设备,那么A4 A5就不能再接其他东西了)
可能情况三:初始化语句中的地址写错,df商城中的I2C LCD1602液晶模块地址一般默认为0x20,若将短路帽拔掉地址则为0x27。具体使用说明可点此查看详情:https://wiki.dfrobot.com.cn/index.php/(SKU:DFR0063)IIC_LCD1602_display_module_兼容Gadgeteer
若依旧无法显示,那么怎么判断LCD液晶显示屏的地址呢?此时可直接通过串口进行地址打印,具体操作如下:
1、选择点击mind+软件左下角的扩展,如下图所示:
2、选择功能模块中的IIC地址扫描,如下图所示:3、通过串口读取扫描到的IIC设备地址,程序如下图:本文中主要使用df商城中的I2C LCD1602液晶模块进行地址读取并为大家演示,具体如下图:
I2C LCD1602 液晶显示屏:
我们可以发现上图读出的地址并不是唯一的,因此需要大家慢慢尝试读出的地址哪个是自己显示屏的初始化地址。
以上如果没有解决问题,可至mind+官方QQ群交流问题:671877416
好教程 能否添加 LCD2004液晶模块(Arduino兼容)模块,有个教程更好,现在学习这块 我的是microbit,也是遇到的相同的问题。最终解决了。
首先,液晶LCD屏幕的电源必须是5V,3v不行。这是多次试验的结果。
且,LCD屏幕的电源的0v和microbit主板的0v,必须接通,即共地。
这2个都接好了,就剩下地址的问题了。
关于地址的确定方法:
按照楼主的办法,用mind+写一段程序,读取扫描到的i2c的地址。建立一个string的变量,然后把读到的这个地址赋值到string的变量中,显示在microbit的屏幕上。用来确认LCD的I2C地址。
我的截图中的程序就是类似的办法。 不过,我在i2c通讯线上还挂了一个12864显示器,此显示器地址是60,已经测试好了的。然后,将读到的所有i2c的地址全部显示到12864显示器上。就好判断多了。
读到的是30 39 60三个地址,(显示的是0x1E0X3C等16进制数),其中,30是microbit内部自带的一个i2c设备,60是12864显示器,39就是我的1602显示器了。
还有一种常见问题是使用Arduino uno,A4 A5与I2C的SCL和SDA引脚复用的,所以如果A4 A5接了东西就会出现无法正常显示的情况。 我正在用uno,很久前买的散件的oled 1306小屏。按照操作流程mind+直接初始化0x3c以后,进行显示,屏幕不亮,这种情况请问是啥原因。用的配置确实都不是咱家的
插线方式 5v+gnd, SDA和SCL都正常连接在面包板上。通过这种形式的代码就不亮。
如果是arduino直接刷demo是没问题。所以不太了解原因,也想和大佬请教下
页:
[1]