#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int trigger = 6;
int echo = 5;
long duration;
long distance;
int buzzer = 3;
int led = 13;
int red= 11;
int green= 10;
int blue= 9;
void setup() {
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
Serial.begin(9600);
lightc(255,225,0);
delay(3000);
lcd.init(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
} //END SETUP ============
void loop() {
myUltrasonic(); //CALL THE SELF DEFINED FUNCTION
Serial.print("Distance: "); //FOR DEBUGGING
Serial.println(distance); //FOR DEBUGGING
if (distance < 200) {
tone(buzzer, 1000);
lightc(255,0,0);
} else{
noTone(buzzer);
}
if(distance>200){
lightc(0,255,0);
}
else{
}
lcd.setCursor(0, 0);
lcd.print("distance");
lcd.setCursor(0, 1);
lcd.print(distance);
delay(500);
} ////END LOOP ============
void myUltrasonic(){
digitalWrite(trigger, LOW);
delayMicroseconds(5);
digitalWrite(trigger, HIGH);
delayMicroseconds(13);
digitalWrite(trigger, LOW);
duration = pulseIn(echo, HIGH);
distance = (duration * 0.0343) / 2;
} //END UNTRASONIC FUNCTION =====
void lightc(int r,int g,int b){
analogWrite(red,r);
analogWrite(green,g);
analogWrite(blue,b);
}// END LIGHTC FUNCTION==========