const int trigPin = 7;
const int echoPin = 6;
const int ledR = 9;
const int ledG = 10;
const int ledB = 11;
const int buzzer = 5;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledR, OUTPUT);
pinMode(ledB, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
long durationindigit, distanceincm;
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(2);
digitalWrite(trigPin,LOW);
durationindigit = pulseIn(echoPin, HIGH);
distanceincm = (durationindigit * 0.034) / 2;
if(distanceincm > 100){ // 101 - infinity
analogWrite(ledR, 255);
analogWrite(ledG, 255);
analogWrite(ledB, 255);
tone(buzzer, 1000);
delay(1000);
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
noTone(buzzer);
delay(1000);
}
else if(distanceincm <= 100 && distanceincm > 70){
analogWrite(ledR, 0);
analogWrite(ledG, 255);
analogWrite(ledB, 0);
tone(buzzer, 300);
}
else if(distanceincm <= 70 && distanceincm > 40){
analogWrite(ledR, 0);
analogWrite(ledG, 255);
analogWrite(ledB, 255);
tone(buzzer, 600);
}
else if(distanceincm >= 0 && distanceincm <= 10){
analogWrite(ledR, 255);
analogWrite(ledG, 255);
analogWrite(ledB, 255);
tone(buzzer, 1000);
delay(1000);
analogWrite(ledR, 0);
analogWrite(ledG, 0);
analogWrite(ledB, 0);
noTone(buzzer);
delay(1000);
}
else if(distanceincm <= 40 && distanceincm >= 11){
analogWrite(ledR, 255);
analogWrite(ledG, 255);
analogWrite(ledB, 255);
tone(buzzer, 900);
}
}