#include <Arduino.h>
#define ECHOPIN 4 // Pin TRIG sensor HC-SR04
#define TRIGPIN 2 // Pin ECHO sensor HC-SR04
//#define LEDPIN 19 // Pin LED pada ESP32
#define redPin 18
#define yellowPin 19
#define greenPin 21
long duration;
float distanceCm;
float distanceInch;
void setup()
{
Serial.begin(115200); // Starts the serial communication
pinMode(redPin,OUTPUT);
pinMode(yellowPin,OUTPUT);
pinMode(greenPin,OUTPUT);
// pinMode(LEDPIN,OUTPUT);
pinMode(TRIGPIN,OUTPUT);
pinMode(ECHOPIN,INPUT);
}
void loop()
{
// Kirim pulsa ke TRIG pin selama 10 mikrodetik
digitalWrite(TRIGPIN,HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN,LOW); // Pastikan TRIG pin sedang LOW
// Baca durasi pulsa dari pin ECHO
long duration = pulseIn(ECHOPIN,HIGH);
// Hitung jarak berdasarkan durasi pulsa
float distance = duration * 0.034 / 2;
// Tampilkan jarak pada Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Atur LED berdasarkan jarak yang terukur
if (distance < 100)
{
digitalWrite(greenPin,HIGH); // Aktifkan LED jika jarak kurang dari 10 cm
}
else
{
digitalWrite(greenPin,LOW); // Matikan LED jika jarak 10 cm atau lebih
}
if (distance < 250)
{
digitalWrite(yellowPin,HIGH); // Aktifkan LED jika jarak kurang dari 10 cm
}
else
{
digitalWrite(yellowPin,LOW); // Matikan LED jika jarak 10 cm atau lebih
}
if (distance < 500)
{
digitalWrite(redPin,HIGH); // Aktifkan LED jika jarak kurang dari 10 cm
}
else
{
digitalWrite(redPin,LOW); // Matikan LED jika jarak 10 cm atau lebih
}
void setColor()
{
analogWrite(redPin,red);
analogWrite(yellowPin,yellow);
analogWrite(greenPin,green);
}
delay(300); // Tunggu 1 detik sebelum membaca sensor lagi
}