IIC1602显示数据不正确
我用HY-SRF05测数据显示在IIC1602上,可是数据老和串口上的不一样,什么原因?程序如下:#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);// set the LCD address to 0x27 for a 16 chars and 2 line display
int i;
int inputPin=3;// define ultrasonic signal receiver pinECHO to D3
int outputPin=4; // define ultrasonic signal transmitter pinTRIG to D4
void setup()
{
Serial.begin(9600);
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();//是否背光
lcd.setCursor(0,0);
lcd.print("Hello, world!");
}
void loop()
{
digitalWrite(outputPin, LOW);
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // Pulse for 10μs to trigger ultrasonic detection
delayMicroseconds(10);
digitalWrite(outputPin, LOW);
int distance = pulseIn(inputPin, HIGH);// Read receiver pulse time
i= distance/58; // Transform pulse time to distance
Serial.println(i);
lcd.setCursor(0,1);
lcd.print("s=0");
lcd.print(i/10);
delay(40);
} 如何不正确呢?是现实的问题还是什么问题?一般来说我在每次显示之前会用lcd.clear()做一次屏幕的刷新,然后再显示新的数据。这样就不会有旧的数据干扰新的数据,尤其是旧数据比较长而新数据比较短的时候。 lcd.clear();是不是放在显示程序前,另外如果要一行连续写几个不同的量的话,是否就直接添加cd.print();?
页:
[1]