#include <LiquidCrystal.h>
#include<NewPing.h>
LiquidCrystal lcd(1, 2, 4, 5, 6, 7);
const int contrast = 55;
const int RED_LED = 10;
const int BUZZER = 11;
const int TRIGGER = 12;
const int ECHO = 13;
const int MAX_DISTANCE = 30; // centimetres;
const int ALARM_DISTANCE = 5; // centimetres;
NewPing sonar(TRIGGER, ECHO, MAX_DISTANCE);
void setup() {
// put your setup code here, to run once:
// Serial.begin(9600);
pinMode(RED_LED, OUTPUT);
pinMode(BUZZER, OUTPUT);
analogWrite(9, contrast);
lcd.begin(16, 2);
}
void loop() {
// put your main code here, to run repeatedly:
int distance = sonar.ping_cm();
lcd.clear();
if (distance == 0) {
distance = sonar.ping_cm();
digitalWrite(RED_LED, LOW);
digitalWrite(BUZZER, LOW);
lcd.print("No Obstructions");
} else {
if (distance <= ALARM_DISTANCE) {
// too close. sound alarm;
digitalWrite(RED_LED, HIGH);
digitalWrite(BUZZER, HIGH);
lcd.setCursor(0, 1);
lcd.print("TOO CLOSE");
} else {
lcd.print(distance);
lcd.print(" cm");
digitalWrite(RED_LED, LOW);
digitalWrite(BUZZER, LOW);
}
}
delay(250);
}