//ULTRASONIC SENSOR
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
int echo = 12;
int trig = 13;
int duration = 0;
int distanceCm = 0;
int distanceInches = 0;
int ledr = 8;
int ledg = 7;
int ledb = 9;
int buzzer = 4;
void setup() {
// put your setup code here, to run once:
//int led = 13;
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trig,LOW);
delayMicroseconds(50);
digitalWrite(trig, HIGH);
delayMicroseconds(50);
digitalWrite(trig, LOW);
duration = pulseIn(echo,HIGH);
distanceCm = duration/29/2;
distanceInches = duration/74/2;
int randnum = random(300);
Serial.println("Distance:");
Serial.print(distanceCm);
Serial.print(" Cm & ");
Serial.print(distanceInches);
Serial.println(" Inches");
Serial.print("randnum: ");
Serial.println(randnum);
delay(500);
if(randnum < 50){
digitalWrite(ledr, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Distance: ");
lcd.print(distanceCm);
lcd.print(" Cm");
lcd.setCursor(1,1);
lcd.print("rnum: ");
lcd.print(randnum);
lcd.print(": Red");
delay(1000);
digitalWrite(ledr, LOW);
delay(1000);
}
else if(randnum > 50 && randnum < 200){
digitalWrite(ledg, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Distance: ");
lcd.print(distanceCm);
lcd.print(" Cm");
lcd.setCursor(1,1);
lcd.print("rnum: ");
lcd.print(randnum);
lcd.print(": Green");
delay(1000);
digitalWrite(ledg, LOW);
delay(1000);
}
else{
digitalWrite(9, HIGH);
digitalWrite(buzzer, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Distance: ");
lcd.print(distanceCm);
lcd.print(" Cm");
lcd.setCursor(1,1);
lcd.print("rnum: ");
lcd.print(randnum);
lcd.print(": Blue");
delay(1000);
digitalWrite(9, LOW);
digitalWrite(buzzer, LOW);
delay(1000);
}
}