#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int TrigPin = 4;// # define trigpin 4
const int Echopin = 2;//# define echopin 2
long duration;
int distance;
#define rled 16
#define gled 17
#define buz 18
void setup()
{
Serial.begin(9600);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("us__distance__!");
delay(2000);
lcd.clear();
pinMode(TrigPin, OUTPUT );
pinMode(Echopin, INPUT);
pinMode(rled, OUTPUT );
pinMode(gled, OUTPUT );
pinMode(buz, OUTPUT);
}
void loop()
{
digitalWrite(TrigPin , LOW);
delayMicroseconds(2);
digitalWrite(TrigPin , HIGH);
delayMicroseconds(100);
digitalWrite(TrigPin , LOW);
duration = pulseIn(Echopin,HIGH);
distance = duration*0.034/2;
Serial.print("dist:");
Serial.print(distance);
Serial.println(" cm");
lcd.setCursor(0,0);
lcd.print("DIST : ");
lcd.setCursor(4,0);
lcd.println( distance);
if (distance<100 )
{
digitalWrite(rled, HIGH);
digitalWrite(buz, HIGH);
tone(buz,1000);
delay(500);
digitalWrite(gled, LOW);
lcd.setCursor(0,1);
lcd.print("__DANGER__!");
}
else
{
digitalWrite(rled, LOW);
digitalWrite(buz, LOW);
digitalWrite(gled, HIGH);
lcd.setCursor(0,1);
lcd.print("__ SAFE__ !");
}
}