Cara Membuat Lampu Otomatis dengan Sensor LDR dan Arduino — Simulasi Online

Lampu malam otomatis menyala sendiri saat ruangan gelap. Template ini memakai modul sensor LDR yang pin AO-nya dibaca di A0: begitu cahaya turun melewati ambang gelap, LED di D13 menyala.

Board: Arduino Uno3 komponen
Rangkaian simulasi Lampu malam otomatis (LDR) dengan Arduino Uno di NOVIOT

Komponen yang dipakai

  • Arduino Uno
  • LED
  • Resistor
  • Modul sensor cahaya (LDR)

Cara kerja

  1. Modul LDR disambungkan ke 5V dan GND, pin AO-nya ke pin analog A0.
  2. analogRead(A0) membaca tingkat cahaya: ruangan gelap menghasilkan nilai ADC kecil.
  3. Jika nilai cahaya di bawah ambang 135, program menganggapnya gelap dan menyalakan LED D13.
  4. Geser nilai Cahaya pada panel sensor LDR di simulator untuk melihat LED menyala dan mati bergantian.

Konsep yang dipelajari

Sensor cahaya LDRanalogRead dan nilai ambang (threshold)Otomatisasi lampuKondisi if dan else

Kode program

/*
  Lampu malam otomatis: LED menyala saat gelap, mati saat terang.
  Rangkaian: modul sensor LDR (VCC -> 5V, GND -> GND, AO -> A0),
             D13 -> LED -> 220 Ohm -> GND.
  Geser "Cahaya" pada modul LDR di panel Properti dan perhatikan LED D13.
*/
const int PIN_LDR = A0;
const int PIN_LED = 13;
// Ambang gelap dalam satuan ADC (0..1023), BUKAN lux!
// 135 ADC ≈ 350 lux: di bawah nilai ini dianggap gelap (LED menyala),
// di atasnya dianggap terang (LED mati). Geser slider ILLUMINATION (LUX)
// pada modul LDR untuk mencoba — perhatikan nilai "cahaya" di Serial Monitor.
const int BATAS_GELAP = 135;

void setup() {
  pinMode(PIN_LED, OUTPUT);
  Serial.begin(9600);
  Serial.println(F("Lampu malam siap. Gelapkan LDR untuk menyalakan LED."));
}

void loop() {
  // Gelap -> hambatan LDR besar -> tegangan di AO turun -> nilai ADC kecil.
  int cahaya = analogRead(PIN_LDR);
  bool gelap = cahaya < BATAS_GELAP;
  digitalWrite(PIN_LED, gelap ? HIGH : LOW);

  Serial.print(F("cahaya="));
  Serial.print(cahaya);
  Serial.print(F(" gelap="));
  Serial.println(gelap ? F("ya") : F("tidak"));
  delay(500);
}

Template Arduino Uno lainnya