#include <LiquidCrystal.h>
#define ledMerah 13
#define ledKuning 12
#define ledHijau 11
#define pinBuzzer 4
#define ECHO_PIN 2
#define TRIG_PIN 3
LiquidCrystal lcd(10, 9, 8, 7, 6, 5);
int potpin = 0;
int val;
float readDistanceCM() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(ledHijau, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledMerah, OUTPUT);
pinMode(pinBuzzer, OUTPUT);
//lcd.begin();
lcd.begin(16, 2);
// you can now interact with the LCD, e.g.:
lcd.print("SMK Negeri 8");
lcd.setCursor(0, 1);
lcd.print("Tangerang");
delay(10000);
}
void loop() {
float distance = readDistanceCM();
Serial.print("Measured distance: ");
Serial.print(readDistanceCM());
delay(100);
if(distance <= 50){
digitalWrite(ledMerah, HIGH);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, LOW);
digitalWrite(pinBuzzer, HIGH);
Serial.println("LED Merah Hidup, Buzzer Hidup");
Serial.println("Speaker Buzzer Hidup");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LED Merah Hidup");
lcd.setCursor(0, 1);
lcd.print("Buzzer Hidup");
}
else if(distance > 100 && distance <=200){
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, HIGH);
digitalWrite(ledHijau, LOW);
digitalWrite(pinBuzzer, LOW);
Serial.println("LED Kuning Hidup, Lainnya Mati");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LED Kuning Hidup");
lcd.setCursor(0, 1);
lcd.print("Lainnya Mati");
}
else if(distance > 200){
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, HIGH);
digitalWrite(pinBuzzer, LOW);
Serial.println("LED Hijau Hidup, Lainnya Mati");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LED Hijau Hidup");
lcd.setCursor(0, 1);
lcd.print("Lainnya Mati");
}
delay(2500);
}