#define trigPin 13
#define echoPin 12
#define SOUND_SPEED 0.034 //define sound speed in cm/uS
#define CM_TO_INCH 0.393701
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //LiquidCrystal I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);
long duration;
float distanceCm;
float distanceInch;
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
lcd.init();
lcd.backlight();
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm = duration * SOUND_SPEED/2;
distanceInch = distanceCm * CM_TO_INCH;
Serial.print("Distance (cm): ");
Serial.println(distanceCm);
Serial.print("Distance (inch): ");
Serial.println(distanceInch);
lcd.setCursor(0,0); lcd.print("distanceCm : ");
lcd.setCursor(14,0); lcd.print(distanceCm);
if(distanceCm<=0){
lcd.setCursor(0,2); lcd.print("*");
}
else if(distanceCm>=0 && distanceCm<=25 ){
lcd.setCursor(0,2); lcd.print("** ");
}
else if(distanceCm>=26 && distanceCm<=50 ){
lcd.setCursor(0,2); lcd.print("*** ");
}
else if(distanceCm>=51 && distanceCm<=75 ){
lcd.setCursor(0,2); lcd.print("**** ");
}
else if(distanceCm>=76 && distanceCm<=101 ){
lcd.setCursor(0,2); lcd.print("***** ");
}
else if(distanceCm>=102 && distanceCm<=126 ){
lcd.setCursor(0,2); lcd.print("****** ");
}
else if(distanceCm>=127 && distanceCm<=151 ){
lcd.setCursor(0,2); lcd.print("******* ");
}
else if(distanceCm>=152 && distanceCm<=177 ){
lcd.setCursor(0,2); lcd.print("******** ");
}
else if(distanceCm>=178 && distanceCm<=202 ){
lcd.setCursor(0,2); lcd.print("********* ");
}
else if(distanceCm>=203 && distanceCm<=227 ){
lcd.setCursor(0,2); lcd.print("********** ");
}
else if(distanceCm>=228 && distanceCm<=252 ){
lcd.setCursor(0,2); lcd.print("*********** ");
}
else if(distanceCm>=253 && distanceCm<=277 ){
lcd.setCursor(0,2); lcd.print("************ ");
}
else if(distanceCm>=278 && distanceCm<=302 ){
lcd.setCursor(0,2); lcd.print("************* ");
}
else if(distanceCm>=303 && distanceCm<=327 ){
lcd.setCursor(0,2); lcd.print("************** ");
}
else if(distanceCm>=328 && distanceCm<=352 ){
lcd.setCursor(0,2); lcd.print("*************** ");
}
else if(distanceCm>=353 && distanceCm<=378 ){
lcd.setCursor(0,2); lcd.print("**************** ");
}
else if(distanceCm>=379 && distanceCm<=403 ){
lcd.setCursor(0,2); lcd.print("***************** ");
}
else{lcd.setCursor(0,2); lcd.print("***************** ");
}
}