Isnin, 27 Julai 2026... boring2 den try guna Copilot utk buatkan coding arduino
tolong buatkan coding utk arduino Mega, inputs ialah ultrasonic sensor (hc-sr04) utk ukur jarak objek dalam meter. output ialah 4 biji Led warna merah, biru, kuning dan hijau. kalau jarak objek ialah 30 cm lampu merah menyala, kalau jarak objek ialah 20 cm lampu biru menyala, kalau objek ialah 10 cm lampu LED kuning menyala, dan kalau jarak objek di bawah 5 cm lampu hijau akan menyala.
hasilnye...
// HC-SR04
const int trigPin = 8;
const int echoPin = 9;
// LED
const int ledMerah = 22;
const int ledBiru = 23;
const int ledKuning = 24;
const int ledHijau = 25;
long duration;
float distanceCm;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledMerah, OUTPUT);
pinMode(ledBiru, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
}
void loop() {
// Hantar denyutan ultrasonic
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca masa pantulan
duration = pulseIn(echoPin, HIGH);
// Kira jarak dalam cm
distanceCm = duration * 0.0343 / 2;
Serial.print("Jarak: ");
Serial.print(distanceCm);
Serial.println(" cm");
// Tutup semua LED dahulu
digitalWrite(ledMerah, LOW);
digitalWrite(ledBiru, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, LOW);
// Logik LED
if (distanceCm <= 30 && distanceCm > 20) {
digitalWrite(ledMerah, HIGH);
}
else if (distanceCm <= 20 && distanceCm > 10) {
digitalWrite(ledBiru, HIGH);
}
else if (distanceCm <= 10 && distanceCm > 5) {
digitalWrite(ledKuning, HIGH);
}
else if (distanceCm <= 5) {
digitalWrite(ledHijau, HIGH);
}
delay(200);
}
siap membetulkan den lagi...