#include <LiquidCrystal.h>
const int trigpin = 3;
const int echopin = 4;
const int gledpin = 12;
const int rledpin = 13;
LiquidCrystal lcd{7,6,5,4,9,8};
const int buzzerpin = 10;
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
pinMode(gledpin, OUTPUT);
pinMode(rledpin, OUTPUT);
pinMode(buzzerpin, OUTPUT);
noTone(buzzerpin);
}
void loop() {
long duration;
int distance;
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
digitalWrite(trigpin, LOW);
duration = pulseIn(echopin,HIGH);
distance = duration / 29 /2;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("distance = ");
lcd.print(distance);
lcd.print(" cm");
if(distance < 100){
int tonefreq = map(distance, 0, 20, 200, 2000);
tone(buzzerpin,tonefreq);
digitalWrite(rledpin, HIGH);
digitalWrite(gledpin, LOW);
lcd.setCursor(0,1);
lcd.print("STOP!");
}
else{
noTone(buzzerpin);
digitalWrite(rledpin, LOW);
digitalWrite(gledpin, HIGH);
lcd.setCursor(0,1);
lcd.print("Move");
}
delay(100);
}