7944浏览
查看: 7944|回复: 4

[求助] 关于1602显示器 显示问题 求帮助

[复制链接]
问题:1602显示器 显示距离 当显示到三位数例如199时,突然距离变小到两位数或者一位数例如18时,以前显示的三位数最后一位还在并没有消失,这是为什么?

凌风清羽  中级技匠

发表于 2016-3-30 17:36:57

有代码吗?
回复

使用道具 举报

丁丁  中级技师
 楼主|

发表于 2016-3-31 09:31:52


#include <dht11.h>         
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20,16,2);  //设置LCD的地址为0x20,可以设置2行,每行16个字符
dht11 DHT;
#define DHT11_PIN 4
#define ECHOPIN 2                           
#define TRIGPIN 3

void setup(){
lcd.init();                 // LCD初始化设置
lcd.backlight();           // 打开LCD背光
Serial.begin(9600);       // 设置串口波特率9600
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);

Serial.println("Hum(%),\tTem(C),\tDis,\tLig");
lcd.print("H:  ");   //LCD屏显示” Humidity(%):”
lcd.print("T:  ");        //LCD屏显示”Temp(C):”
lcd.print("D:  ");
lcd.print("L:  ");
}
void loop(){
  int chk;     //chk用于存储DHT11传感器的数据
  chk = DHT.read(DHT11_PIN);
  int val;
  val=analogRead(0);
  digitalWrite(TRIGPIN, LOW);                   // Set the trigger pin to low for 2uS
  delayMicroseconds(2);
  digitalWrite(TRIGPIN, HIGH);                  // Send a 10uS high to trigger ranging
  delayMicroseconds(10);
  digitalWrite(TRIGPIN, LOW);                   // Send pin low again
  int distance = pulseIn(ECHOPIN, HIGH);        // Read in times pulse
  distance= distance/58;                        // Calculate distance from time of pulse              
  int val1;
  val1=analogRead(3);//Read Gas value from analog 0

//串口显示温湿度值
Serial.print(DHT.humidity,1);
Serial.print(",\t");
Serial.print(DHT.temperature,1);
Serial.print(",\t ");
Serial.print(distance,DEC);
Serial.print(",\t ");
Serial.println(val1,DEC);

//LCD显示温湿度值  
lcd.setCursor(0, 1);
lcd.print(DHT.humidity,1);
lcd.setCursor(4, 1);
lcd.print(DHT.temperature,1);
lcd.setCursor(8, 1);
lcd.print(distance,DEC);
lcd.setCursor(12, 1);
lcd.print(val1,DEC);
delay(1000);
}
回复

使用道具 举报

丁丁  中级技师
 楼主|

发表于 2016-3-31 16:46:55

已找到原因,谢谢   我想问下如果模拟端口A4 A5已经占用  怎么把1602的接线端口改成别的如改成A0 A1?求大神帮忙
回复

使用道具 举报

20060606  高级技匠

发表于 2020-8-19 05:11:28

丁丁 发表于 2016-3-31 16:46
已找到原因,谢谢   我想问下如果模拟端口A4 A5已经占用  怎么把1602的接线端口改成别的如改成A0 A1?求大 ...

用软件模拟iic
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail