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).
Daftar isi:
1. Alat dan Bahan yang Anda Butuhkan
Anda dapat menggunakan semua komponen dari kit Arduino dasar Anda:
- Arduino UNO (atau kompatibel)
- Photoresistor S528 (LDR): Sensor cahaya.
- LED (Hijau, Merah, atau Kuning).
- Resistor 10K Ohm: Diperlukan untuk rangkaian pembagi tegangan LDR.
- Resistor 220 Ohm: Wajib untuk melindungi LED agar tidak putus.
- 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.
Komponen | Terhubung ke | Keterangan |
LDR (Kaki 1) | 5V | Sumber daya. |
LDR (Kaki 2) | Pin Analog A0 & Resistor 10K (Satu kaki) | Titik pembacaan tegangan. |
Resistor 10K (Kaki 2) | GND | Ground rangkaian LDR. |
LED (Anoda/Kaki Panjang) | Resistor 220R (Satu kaki) | Lewat hambatan. |
Resistor 220R (Kaki lain) | Pin Digital 8 | Sinyal nyala/mati dari Arduino. |
LED (Katoda/Kaki Pendek) | GND | Ground rangkaian LED. |

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
- Upload Kode: Unggah sketch di atas ke papan Arduino Anda.
- Buka Serial Monitor: Atur baud rate ke 9600.
- 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.
- 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!