● online
- Raspberry Pi Pico Microcontroller Board
- USB To RS485 High Speed Converter RS-485 RS 485 Ad
- B0505S-1W 5V to 5V converter DC DC power module co
- Kabel Jumper 10cm Dupont Pelangi 10 cm Male to Mal
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe
- 5V 700mA (3.5W) Isolated switch Power Supply Modul
- Power module DC DC 9A 300W Step Down Buck Converte
- LDR Sensor 5mm Cahaya 5528 Light Dependent Resisto
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Tutorial Pembacaan Data LDR dengan Arduino Uno
LDR (Light Dependent Resistor) adalah sensor cahaya yang berbasis nilai resistansi. Semakin banyak intensitas cahaya yang diterima maka semakin kecil nilai resistansinya. Dan sebaliknya jika intensitas cahaya yang diterima sedikit nilai resistansinya akan semakin besar. Sebagai gambaran, bentuk sensor cahaya LDR dapat dilihat pada gambar di bawah ini

Untuk dapat lebih memahami prinsip kerja sensor cahaya LDR, kita coba akan mengambil data datanya melalui Arduino Uno. Data sensor LDR tersebut kemudian digunakan sebagai kontrol untuk menyalakan atau mematikan LED secara otomatis. Selain itu nilai analog output dari LDR akan ditampilkan di LCD 20×4. Baiklah, mari kita buat eksperimen sederhana untuk membuat sistem tersebut. Dalam percobaan kali ini hal-hal yang perlu disiapkan adalah:
Alat dan Bahan Percobaan LDR-Arduino Uno
- Arduino Uno
- Sensor LDR
- Resistor 220 Ω
- Resistor 10K Ω
- LCD 20×4 (dengan modul I2C)
- Kabel jumper male to female secukupnya
Selanjutnya mari kita buat rangkaian seperti pada gambar berikut ini:

Selanjutnya buka software IDE Arduino Anda (jika belum punya bisa diunduh di arduino.cc), dan copy-kan listing program sebagai berikut :
#include <Wire.h> // Memanggil library wire.h
#include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C
LiquidCrystal_I2C lcd(0x27, 20, 4); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4)
#define ldr A0 // Deklarasi LDR pada pin A0
#define led A1 // Deklarasi LED pada pin A1 Arduino Uno
int nilai; // Variabel nilai
void setup() {
pinMode(led, OUTPUT); // Deklarasi LED sebagai Output
pinMode(ldr, INPUT); // Deklarasi LDR sebagai Input
Serial.begin(9600); // Baud komunikasi serial pada 9600
lcd.init(); // instruksi untuk memulai LCD
lcd.begin(20,4); // instruksi untuk menggunakan lcd 20x4
lcd.backlight(); // instruksi untuk mengaktifkan lampu latar LCD
}
void loop() {
nilai = analogRead(ldr); // Instruksi membaca nilai analog LDR
Serial.print("Nilai LDR: "); // Menampilkan Nilai analog LDR pada Serial Monitor
Serial.println(nilai);
delay(1000);
lcd.setCursor(4, 0); // Menampilkan nilai analog pada LCD 20x4
lcd.print("Tutorial LDR");
lcd.setCursor(3, 1);
lcd.print("Dengan LCD 20x4");
lcd.setCursor(0, 2);
lcd.print("Nilai Analog: ");
lcd.print(nilai);
delay(1000);
if (nilai < 800) { // LED On jika nilai analog lebih kecil dari 800
digitalWrite(led, HIGH); // Instruksi menyalakan LED
Serial.print("LED ON");
lcd.setCursor(0,3);
lcd.print("LED : ON ");
}
else {
digitalWrite(led, LOW); // LED Off ika nilai analog lebih besar dari 900
Serial.print("LED OFF"); // Instruksi mematikan LED
lcd.setCursor(0,3);
lcd.print("LED : OFF ");
}
}
Upload sketch (program di atas) dengan menekan tombol upload atau melalui shortkey CTRL+U, pastikan pengaturan board pada Arduino Uno. Kemudian aktifkan tools ‘Serial Monitor’ di Arduino IDE melalui menu tools | Serial Monitor. Pastikan kabel USB antara laptop dan Arduino tetap terpasang. Setelah program selesai diunggah perhatikan nilai analog pada serial monitor, LCD 20×4 dan kondisi LED.

Pada gambar di atas terlihat saat nilai analog LDR diangka 600 (tidak mendapat intensitas cahaya) maka LED aktif dan berdasarkan Gambar 4 terlihat saat nilai analog LDR lebih besar dari 800 (mendapat intensitas cahya) maka LED akan OFF. Hal ini sesuai dengan instruksi di bawah ini.
if (nilai < 800) { // LED On jika nilai analog lebih kecil dari 800
digitalWrite(led, HIGH); // Instruksi menyalakan LED
Serial.print("LED ON");
lcd.setCursor(0,3);
lcd.print("LED : ON ");
}
else {
digitalWrite(led, LOW); // LED Off ika nilai analog lebih besar dari 900
Serial.print("LED OFF"); // Instruksi mematikan LED
lcd.setCursor(0,3);
lcd.print("LED : OFF ");
}
Program di atas mengendalikan LED untuk ON / OFF berdasarkan nilai analog, jika nilai analog LDR kurang dari 800 maka LED akan aktif, namun jika nilai analog di atas 800 maka LED akan aktif.
LED di sini sebagai indikator saja, untuk implementasi riil bisa digantikan dengan relay atau SSR (Solid State Relay) atau dengan aktuator lain sesuai sistem Anda
Jika hasil percobaan Anda telah sesuai dengan hasil pada tutorial ini maka Anda telah berhasil mengendalikan LED berdasarkan data analog LDR serta mengaplikasikan LDR sebagai sensor cahaya. Anda dapat mengembangkan percobaan ini sesuai dengan keinginan dan kebutuhan Anda. Demikian tutorial kali ini semoga bermanfaat untuk Anda.
Tags: Sensor LDR
Tutorial Pembacaan Data LDR dengan Arduino Uno
Pada postingan sebelumnya sudah membahas tentang kontrol relay menggunakan Arduino di sini. Nah untuk kali ini saya akan membahasnya... selengkapnya
Motor jadi salah satu komponen elektronik yang seru buat kita pelajari, dengan motor kita bahkan bisa buat mobil mainan yang... selengkapnya
Raspberry Pi tidak hanya bisa menyalakan LED atau membaca tombol, tapi juga bisa menghasilkan suara menggunakan komponen bernama buzzer. Buzzer... selengkapnya
7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat... selengkapnya
Water level merupakan sensor yang berfungsi untuk mendeteksi ketinggian air dengan output analog kemudian diolah menggunakan mikrokontroler. Cara kerja... selengkapnya
Flame sensor sangat sensitif terhadap nyala api (cahaya) dan radiasi di sekitarnya. Sensor ini dapat mendeteksi sumber cahaya biasa... selengkapnya
Hallo kali ini saya akan membahas mengenai relay lagi yaitu relay 2 channel. Di pasaran, relay ini sudah menggunakan... selengkapnya
Arduino Pro Mini merupakan jenis Arduino yang berukuran kecil dibandingkan dengan Nano, Unodan Mega. Dengan ukuran yang kecil ini... selengkapnya
Motor servo merupakan salah satu aktuator yang paling sering digunakan dalam dunia robotika, terutama untuk gerakan yang membutuhkan ketelitian posisi.... selengkapnya
Oke kali ini akan membahas seputar sensor fingerprint, dimana fungsi dari fingerprint ini adalah sebagai validasi data identitas dengan... selengkapnya
Specifications: 1. supports sampling costs (KHz): 8/11.025/12/16/22.05/24/32/44.1/48 2. 24-bit DAC output, dynamic range aid: 90dB, SNR aid: 85dB 3. fully… selengkapnya
Rp 17.800Features – Calibrated directly in Celsius (Centigrade) – Linear + 10.0 mV/C scale factor – 0.5C accuracy guaranteeable (at +25C)… selengkapnya
Rp 8.0002000W SCR Electronic Voltage Regulator Speed Controller Dimmer Thermostat Aplikasi : Kontrol temperature heater, kontrol kecepatan fan/bor tangan/gurinda tangan, kompor… selengkapnya
Rp 19.500Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300Kabel jumper Dupont untuk jumper Arduino atau Raspeberry Pi 20 cm Female to female 1 lembar = 40 kabel
Rp 11.300Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.300Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800Dual Volt Amp Meter Digital Ampere Meter Voltmeter 10A 0-100V Ammeter Dilengkapi dengan pengukuran Voltmeter dan Amperemeter dalam 1 display… selengkapnya
Rp 26.500sg90 towerpro penggerak pada robot-robot kecil, dan bisa digunakan sebagai alat untuk hobi membuat robot dsb, dengan berat sekitar 9g… selengkapnya
Rp 15.500

Saat ini belum tersedia komentar.