//Lab14 Ultrasonic_sensor+LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
// set the LCD address to 9x27 for a 16 chars and 2 line display
float cm;
float inches;
long readUltrasonicDistance(int triggerpin, int echopin)
{
pinMode(triggerpin, OUTPUT); // Clear the trigger
digitalWrite(triggerpin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerpin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerpin, LOW);
pinMode(echopin, INPUT);
// Reads the echo pin, and returns
// the sound wave travel time in microseconds
return pulseIn(echopin, HIGH);
}
void setup()
{
Serial.begin(9600);
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.print("--> Distance<--");
delay(3000);
lcd.clear();
}
void loop()
{
cm = 0.0344/2* readUltrasonicDistance(3, 2);
inches = (cm / 2.54);
/*
Serial.print("Inches ");
Serial.print(inches, 1);
Serial.print("It");
Serial.print("cm ");
Serial.print1n(cm, 1);
*/
lcd.setCursor(0,0);
lcd. print("Inches");
lcd.setCursor(4,0);
lcd.setCursor(12,0);
lcd.print("cm");
lcd.setCursor(1,1);
lcd.print(inches, 1);
lcd.setCursor(11,1);
lcd.print(cm, 1);
lcd.setCursor(14,1);
delay(2000);
lcd.clear();
}