#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define Tring 4
#define Echo 3
#define R 9
#define G 10
#define B 11
long width , distance ;
void setup()
{
Serial.begin(9600);
pinMode(Tring , OUTPUT);
pinMode(Echo, INPUT);
pinMode(R,OUTPUT);
pinMode(G,OUTPUT);
pinMode(B,OUTPUT);
lcd.init();
lcd.backlight();
}
void loop()
{
int dist = US_Reader ();
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("Distance is : ");
lcd.setCursor(5,1);
lcd.print(dist);
lcd.print(" cm ");
if(dist<50)
RGB(1,0,0);
if (dist > 50 && dist<250)
RGB(0,1,0);
if (dist>250)
RGB(0,0,1);
delay(1000);
}
int US_Reader ()
{
digitalWrite(Tring , 0);
delayMicroseconds(2);
digitalWrite(Tring , 1);
delayMicroseconds(10);
digitalWrite(Tring , 0);
width = pulseIn(Echo , 1);
distance = width/58.2 ;
return distance;
}
void RGB(int r , int g, int b)
{
digitalWrite(R,r);
digitalWrite(G,g);
digitalWrite(B,b);
}