为什么做温湿度实验时,12C LCD1602液晶模块只是亮了2个数.....-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 532|回复: 4

[未解决] 为什么做温湿度实验时,12C LCD1602液晶模块只是亮了2个数.....

[复制链接]
发表于 2022-6-7 21:45 | 显示全部楼层 |阅读模式
本帖最后由 arduino! 于 2022-6-7 22:23 编辑

在做温湿度实验时,屏幕上只显示了几个字符,而且串口上一直是Time out和Checksum error。不懂为什么会怎样。求大佬解答
以下为代码:

#include <dht11.h>   
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20,16,2);  

dht11 DHT;
#define DHT11_PIN 4

void setup(){
  lcd.init();                 
  lcd.backlight();           
  Serial.begin(9600);      


  Serial.println("Type,\tstatus,\tHumidity(%),\tTemperature(C)");

  lcd.print("Humidity(%): ");   
  lcd.setCursor(0, 1);           
  lcd.print("Temp(C): ");         
}

void loop(){
  int chk;     
  Serial.print("DHT11, \t");     

  
  chk = DHT.read(DHT11_PIN);   
  switch (chk){   
    case DHTLIB_OK:  
                Serial.print("OK,\t");
                break;
    case DHTLIB_ERROR_CHECKSUM:
                Serial.print("Checksum error,\t");
                break;
    case DHTLIB_ERROR_TIMEOUT:
                Serial.print("Time out error,\t");
                break;
    default:
                Serial.print("Unknown error,\t");
                break;
  }


  Serial.print(DHT.humidity,1);
  Serial.print(",\t");
  Serial.println(DHT.temperature,1);

  
  lcd.setCursor(12, 0);
  lcd.print(DHT.humidity,1);
  lcd.setCursor(8, 1);
  lcd.print(DHT.temperature,1);

  delay(1000);
}


@]}DMDM09$$DD9BBYIJUJ@B.png
QQ截图20220607221335.png
 楼主| 发表于 2022-6-7 22:29 | 显示全部楼层

那怎么做勒,才接触没几天,不太懂
发表于 2022-6-7 22:50 | 显示全部楼层
arduino! 发表于 2022-6-7 22:29
那怎么做勒,才接触没几天,不太懂

换个库或者改下库
发表于 2022-6-9 14:34 | 显示全部楼层
你试下把  液晶显示屏的地址改成 0x3f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2025-1-1 19:57 , Processed in 0.085517 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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