Tutorial Arduino Pemula: Membuat Lampu Malam Otomatis dengan Sensor Cahaya (LDR)

Setelah menguasai Cara Menampilkan Tulisan di LCD Menggunakan Arduino UNO (Lengkap + Kode) dan Tutorial Arduino: Cara Membuat Alat Ukur Suhu & Kelembaban (DHT11) dengan Serial Monitor, langkah selanjutnya adalah berinteraksi dengan dunia nyata menggunakan Input Analog sensor cahaya. Proyek paling fundamental untuk ini adalah membuat Lampu Malam Otomatis menggunakan Photoresistor (LDR).

Proyek ini mengajarkan bagaimana Arduino dapat mengambil data dari lingkungan (cahaya) dan membuat keputusan logis (menyalakan atau mematikan lampu).


1. Alat dan Bahan yang Anda Butuhkan

Anda dapat menggunakan semua komponen dari kit Arduino dasar Anda:

  1. Arduino UNO (atau kompatibel)
  2. Photoresistor S528 (LDR): Sensor cahaya.
  3. LED (Hijau, Merah, atau Kuning).
  4. Resistor 10K Ohm: Diperlukan untuk rangkaian pembagi tegangan LDR.
  5. Resistor 220 Ohm: Wajib untuk melindungi LED agar tidak putus.
  6. Breadboard dan Jumper Wires.

2. Rangkaian Elektronik (Wiring)

Proyek ini menggabungkan dua rangkaian penting: Input Analog (LDR) dan Output Digital (LED). Kami menggunakan konfigurasi “Pull-Down” untuk LDR, seperti yang ditunjukkan pada diagram.

KomponenTerhubung keKeterangan
LDR (Kaki 1)5VSumber daya.
LDR (Kaki 2)Pin Analog A0 & Resistor 10K (Satu kaki)Titik pembacaan tegangan.
Resistor 10K (Kaki 2)GNDGround rangkaian LDR.
LED (Anoda/Kaki Panjang)Resistor 220R (Satu kaki)Lewat hambatan.
Resistor 220R (Kaki lain)Pin Digital 8Sinyal nyala/mati dari Arduino.
LED (Katoda/Kaki Pendek)GNDGround rangkaian LED.
arduino sensor cahaya lampu
Sumber: https://www.tinkercad.com/things/kdIazTDaA6r

3. Kode Program Arduino (Sketch)

Kode ini bertugas membaca nilai LDR (0-1023) di Pin A0, membandingkannya dengan nilai ambang batas (threshold), dan mengendalikan LED di Pin 8.

Penting: Karena Anda berhasil menggunakan logika < dengan threshold 200, kami akan menggunakan kode tersebut (implikasinya adalah nilai LDR Anda rendah saat gelap).

// --- KONFIGURASI PIN ---
const int pinLDR = A0;   // Sensor LDR (Input Analog)
const int pinLED = 8;    // Lampu LED (Output Digital)

// --- NILAI AMBANG BATAS (THRESHOLD) ---
// Nilai ini memisahkan "Gelap" dari "Terang".
// Karena LDR Anda memberi nilai RENDAH saat Gelap,
// kita gunakan nilai ambang batas 200.
const int ambangBatasGelap = 200; 

void setup() {
  // Atur Pin LED sebagai OUTPUT
  pinMode(pinLED, OUTPUT); 
  
  // Mulai komunikasi Serial Monitor untuk debugging
  Serial.begin(9600); 
  Serial.println("Sistem Lampu Malam Otomatis Aktif.");
}

void loop() {
  // 1. Membaca nilai sensor (0 hingga 1023)
  int nilaiCahaya = analogRead(pinLDR); 

  // Tampilkan nilai di Serial Monitor untuk kalibrasi
  Serial.print("Nilai LDR: ");
  Serial.print(nilaiCahaya);
  
  // 2. Logika Kontrol: Jika nilai LDR lebih kecil dari ambang batas (Gelap)
  if (nilaiCahaya < ambangBatasGelap) {
    // KONDISI GELAP: Nyalakan Lampu
    digitalWrite(pinLED, HIGH); 
    Serial.println(" --> GELAP, Lampu NYALA");
  } else {
    // KONDISI TERANG: Matikan Lampu
    digitalWrite(pinLED, LOW);
    Serial.println(" --> TERANG, Lampu MATI");
  }
  
  delay(100); // Jeda singkat agar tidak terlalu cepat membaca
}

4. Kalibrasi dan Pengujian

  1. Upload Kode: Unggah sketch di atas ke papan Arduino Anda.
  2. Buka Serial Monitor: Atur baud rate ke 9600.
  3. Kalibrasi:
    • Terang: Berikan cahaya ke LDR. Lihat angkanya di Serial Monitor. (Seharusnya lebih besar dari 200). Lampu MATI.
    • Gelap: Tutup LDR dengan jari Anda atau matikan lampu ruangan. Lihat angkanya. (Seharusnya lebih kecil dari 200). Lampu NYALA.
  4. Jika lampu menyala terlalu sensitif, Anda dapat menyesuaikan nilai ambangBatasGelap (misalnya menjadi 150 atau 300) hingga sesuai dengan kondisi ruangan Anda.

Kesimpulan dan Pengembangan Lanjutan

Selamat! Anda telah menguasai proyek Input Analog yang sangat penting. Proyek ini menunjukkan bagaimana kita dapat menggunakan data sensor (LDR) untuk mengontrol output (LED) secara otomatis.

Untuk pengembangan selanjutnya, Anda dapat mencoba:

  • Mengganti LED dengan Relay 5V: Gunakan data LDR untuk mengontrol lampu AC rumah Anda (perlu hati-hati dan supervisi!).
  • Menggunakan PWM: Alih-alih menyalakan dan mematikan LED, gunakan perintah analogWrite() untuk membuat LED meredup secara bertahap saat hari mulai gelap (fading light).
  • Gabungkan Sensor: Gunakan LDR untuk mengaktifkan lampu, lalu gunakan DHT11 untuk memastikan lampu mati jika ruangan menjadi terlalu panas.

Selamat bereksperimen, dan jangan ragu untuk berbagi pengalaman debugging Anda di kolom komentar!

Photo of author

Thoha Firdaus

Seorang yang suka mengajar, nulis di blog, buat video youtube, mencari hal yang baru.

Facebook Twitter Instagram Youtube

PENTING: Bantu kami memblokir iklan yang berbau sensitif dan pornografi dengan mengirimkan screenshot ke email: mail[et]thoha.id.

Tinggalkan komentar