极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 33140|回复: 17

1602只显示16个方块

[复制链接]
发表于 2015-1-8 22:25:02 | 显示全部楼层 |阅读模式
本帖最后由 Alfers 于 2015-1-8 22:29 编辑


连线如图片,测量温湿度,但是LCD只显示第一行的16个方块。程序如下。连线检查过N次无误。
  1. /*
  2. * LCD RS pin to digital pin 12
  3. * LCD Enable pin to digital pin 11
  4. * LCD D4 pin to digital pin 5
  5. * LCD D5 pin to digital pin 4
  6. * LCD D6 pin to digital pin 3
  7. * LCD D7 pin to digital pin 2
  8. * LCD R/W pin to ground
  9. * 10K resistor:
  10. * ends to +5V and ground
  11. * wiper to LCD VO pin (pin 3)
  12. */
  13. #include <LiquidCrystal.h>
  14. #include <dht11.h>
  15. #define DHT11PIN 8
  16. dht11 DHT11;
  17. // initialize the library with the numbers of the interface pins
  18. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

  19. void setup() {
  20.   pinMode(DHT11PIN,OUTPUT);
  21.   // set up the LCD's number of columns and rows:
  22.   lcd.begin(16, 2);
  23. }

  24. void loop() {
  25.   int chk = DHT11.read(DHT11PIN);
  26.   lcd.setCursor(0, 0);
  27.   lcd.print("Tep: ");
  28.   lcd.print((float)DHT11.temperature, 2);
  29.   lcd.print("C");
  30.   // set the cursor to column 0, line 1
  31.   // (note: line 1 is the second row, since counting begins with 0):
  32.   lcd.setCursor(0, 1);
  33.   // print the number of seconds since reset:
  34.   lcd.print("Hum: ");
  35.   lcd.print((float)DHT11.humidity, 2);
  36.   lcd.print("%");
  37.   delay(200);
  38. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-1-9 07:56:29 | 显示全部楼层
先确认 1602 是否是好用的
回复 支持 反对

使用道具 举报

发表于 2015-1-9 09:16:53 | 显示全部楼层
显示效果发张图片,看看
回复 支持 反对

使用道具 举报

发表于 2015-1-9 09:46:34 | 显示全部楼层
灰度原因。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-9 09:50:39 | 显示全部楼层
dingoslove 发表于 2015-1-9 09:16
显示效果发张图片,看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-1-9 12:35:30 | 显示全部楼层
LCD不显示的问题不清楚,但是DHT的写法很有问题:
1.21行的pinMode(DHT11PIN,OUTPUT);
不是要读数据么,为什么要设成OUTPUT?

2.16行的dht11 DHT11;
感觉写反了,一般的写法是DHT11 myDHT11(10);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-9 12:51:12 | 显示全部楼层
Pyrrhus 发表于 2015-1-9 12:35
LCD不显示的问题不清楚,但是DHT的写法很有问题:
1.21行的pinMode(DHT11PIN,OUTPUT);
不是要读数据么,为 ...

还是木有解决。anyway, THX!!
回复 支持 反对

使用道具 举报

发表于 2015-1-9 13:51:51 | 显示全部楼层
调一下LCD的对比度试一下
回复 支持 反对

使用道具 举报

发表于 2015-1-9 17:28:52 | 显示全部楼层
先點個Hello World試試看
回复 支持 反对

使用道具 举报

发表于 2015-1-9 20:17:20 | 显示全部楼层
用 I2C 模块吧 好多的
回复 支持 反对

使用道具 举报

发表于 2015-1-10 22:10:17 | 显示全部楼层
Pyrrhus 发表于 2015-1-9 12:35
LCD不显示的问题不清楚,但是DHT的写法很有问题:
1.21行的pinMode(DHT11PIN,OUTPUT);
不是要读数据么,为 ...

同意楼上观点
回复 支持 反对

使用道具 举报

发表于 2015-1-10 22:11:24 | 显示全部楼层
应该是初始化问题
回复 支持 反对

使用道具 举报

发表于 2015-1-10 22:12:02 | 显示全部楼层
感觉应该有个read指令
回复 支持 反对

使用道具 举报

发表于 2015-1-11 01:09:07 | 显示全部楼层
我碰到过这个问题,但我用的是I2C模块,我觉得有共性,你可以参考下本论坛
i2C 1602 [ LCD1602转接板 Arduino IIC ]没显示一例
http://www.geek-workshop.com/thread-10950-1-1.html

我也是觉得你的LCD设置有问题,希望对你有帮助
回复 支持 反对

使用道具 举报

发表于 2015-1-16 09:53:36 | 显示全部楼层
我试了一下,没有问题。你调整一下对比度应该就可以了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-18 09:33 , Processed in 0.055406 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表