// Ade Tirta Rahmat Hidayat - 1103203212
#define RED_PIN D6
#define GREEN_PIN D5
#define BLUE_PIN D3
#define TRIG_PIN D7
#define ECHO_PIN D8
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
long duration;
float distance;
// Mengirimkan sinyal trigger
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Membaca durasi dari sinyal echo
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration * 0.034) / 2;
Serial.print("Distance: ");
Serial.println(distance);
// Pengaturan LED berdasarkan jarak yang terukur
if (distance <= 120) { // Jarak <= 120 cm, LED cyan menyala (campuran hijau + biru)
digitalWrite(RED_PIN, HIGH); // Mematikan merah
digitalWrite(GREEN_PIN, LOW); // Menyalakan hijau
digitalWrite(BLUE_PIN, LOW); // Menyalakan biru
} else if (distance > 120 && distance < 260) { // Jarak > 120 cm dan < 260 cm, LED magenta menyala (campuran merah + biru)
digitalWrite(RED_PIN, LOW); // Menyalakan merah
digitalWrite(GREEN_PIN, HIGH); // Mematikan hijau
digitalWrite(BLUE_PIN, LOW); // Menyalakan biru
} else if (distance >= 260) { // Jarak >= 260 cm, LED biru menyala
digitalWrite(RED_PIN, HIGH); // Mematikan merah
digitalWrite(GREEN_PIN, HIGH); // Mematikan hijau
digitalWrite(BLUE_PIN, LOW); // Menyalakan biru
}
delay(500);
}