Monday, July 27, 2026

DKS.... Testing guna Copilot utk buat coding...

 


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... 

No comments:

Post a Comment