LiquidCrystal 1602 print只显示首字母

2016-01-301.6万
AI 快速预览详细 收起
本文讨论了在使用Arduino和LiquidCrystal_I2C库时遇到的LCD只显示首字母的问题。通过具体的代码示例和接线图,详细介绍了故障排查的方法。首先,检查I2C地址是否正确设置,然后确认初始化步骤是否完整。这些步骤可以帮助新手快速定位并解决问题,避免自行排查的繁琐过程。


刚开始接触Arduino一周,完全是照着论坛里的“基础教程”在学。我昨天做到项目九的时候发现只显示首字母。
比如这样的HelloWorld:
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
  4. void setup()
  5. {
  6.   lcd.init();                      // initialize the lcd
  7.   // Print a message to the LCD.
  8.   lcd.backlight();
  9.   lcd.print("Hello, world!");
  10. }
  11. void loop()
  12. {
  13. }
复制代码
上传了就只显示一个H,(结果和接线如图1)。我也试着换了别的LiquidCrystal_I2C的库,都有一样的问题。请各位前辈多多指点啊!!

wp_20160130_10_19_12_pro.jpg (64.64 KB, 下载次数: 5091)

Fig. 1

Arduino LiquidCrystal 1602 显示问题 > 故障排查_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
congzlwag
congzlwag
作者
已查明,跟IDE有关系。换成Arduino 1.0.6正常了!多谢三楼和五楼的支持!
Cain
Cain
表示你这代码,在我的设备上运行的好好的。。。我的环境和你说下,这里下载的库文件https://wiki.dfrobot.com.cn/index.php/(SKU:DFR0063)IIC_LCD1602_display_module_%E5%85%BC%E5%AE%B9Gadgeteer1.0.6版本的IDE,另外地址记得改
congzlwag
congzlwag
作者
回复Cain
什么地址记得改啊?0x20?
还有就是库文件放在哪里有关系么?一般是该放在哪里啊?我看“文档”里有个arduino/libraries,arduino的安装位置里还有个libraries,arduino/hardware里面还有个libraries。。。
我用的IDE是Arduino 1.6.7会不会有跟这个有关系?
congzlwag
congzlwag
作者
查到可能是print函数的问题,但还没明白哪里的问题。如果在LiquidCrystal_I2C库里,通过调用write来重新写一个lcdprint(const String),就完整的显示了。
但我写的函数只能解决字符串的显示,数据的显示如果用print还是只显示第一个字符。
我感觉是print的问题,但是全部重新写一遍也不是个事儿啊!还请大神多多指教!
dsweiliang
dsweiliang
帮顶
congzlwag
congzlwag
作者
求不要沉。有没有人遇到过同样的情况啊?需要什么细节我都还可以提供。
- 没有更多了 -