Arduino 和LCD1602液晶屏 I2C接口不显示

引脚说明

GND ------ 地线 

VCC ------ 电源(5V or 3.3v 电源不同显示效果有点差别)

SDA ------ I2C 数据线

SCL ------ I2C 时钟线

 

接线方法

LCD1602 i2c模块                         Ardunio Uno

 

GND                           <------>        GND接地线

VCC                           <------>         5V 接电源

SDA                            <------>         A4

SCL                            <------>         A5

教程可以看

https://blog.csdn.net/ling3ye/article/details/51542424

1.很多人可能会碰到上传后背景灯亮了,但是只有上面一行有一整排字符块同时显示的尴尬问题,这是由于我们用的芯片的版本和楼主的不同所导致的,楼主用的是PCF8574的芯片,而我们用的是PCF8574AT的芯片,所以接口通讯地址是不一样的,PCF8574的地址是0x27,而我们用的PCF8574AT的地址是0x3f,一定要注意这点。或者用教程里头寻找设备地址的代码。

PCF8574AT可以在你的i2c模块上可以看到。

 

2.SDA接A4端口和SCL接A5端口是接的AREF区域的接口,大家不要误会认为是接4和5号这两个IO口,这是错误的连接,应该是直接接板上analog in区域的A4和A5口,不要接错了。而mega2560板上直接就有标着SDA、SCL的两个口,大家直接对号入座的连接就好了。

3.最后就是电位器必须要调一下,就能看到显示了。这个是我遇到不显示的关键。

setCursor()函数说明,对于lcd 1602第一个参数0-15, 定义列,第二个参数0-1, 定义行。

对于lcd 2004第一个参数0-19, 定义列,第二个参数0-3, 定义行。

setCursor()的方法来重新定位光标。移动光标,只需要调用setCursor()以行和列的位置。例如,对一个2x16 的显示屏:

lcd.setCursor(0, 0); // top left
lcd.setCursor(15, 0); // top right
lcd.setCursor(0, 1); // bottom left
lcd.setCursor(15, 1); // bottom right
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hu5566798

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值