#include <HCSR04.h>
#include <Wire.h>
#include <LCD_I2C.h>
const byte echoPin = 2;
const byte triggerPin = 3;
const byte Red_Led = 6;
const byte Yellow_Led = 7;
const byte Green_Led = 8;
LCD_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Distance: ");
pinMode(Red_Led,1);
pinMode(Yellow_Led,1);
pinMode(Green_Led,1);
HCSR04.begin(triggerPin, echoPin);
}
void loop() {
double* distances = HCSR04.measureDistanceCm();
lcd.setCursor(0, 1);
lcd.print(distances[0]);
lcd.println(" cm");
if(distances[0] <= 100){
digitalWrite(Red_Led,1);
digitalWrite(Yellow_Led,0);
digitalWrite(Green_Led,0);
tone(14, 262, 100);
delay(250);
tone(14, 262, 100);
}
else if((distances[0] > 100) && (distances[0] < 200)){
digitalWrite(Red_Led,0);
digitalWrite(Yellow_Led,1);
digitalWrite(Green_Led,0);
tone(14, 262, 100);
delay(500);
tone(14, 262, 100);
}
else if(distances[0] >= 200){
digitalWrite(Red_Led,0);
digitalWrite(Yellow_Led,0);
digitalWrite(Green_Led,1);
}
}