● online
- Arduino Nano V3 Atmega328P CH340G 5V 16Mhz
- DS3231SN DS3231 SN I2C RTC Module & Baterai Mo
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A
- 0.66 inch OLED display LCD module IIC/I2C Wemos D1
- Motor servo MG996R TowerPro Metal Gear
- Compatible Arduino Uno R3 SMD CH340 Atmega328P Pin
- Compatible Arduino Pro Mini 5V 16Mhz - Atmega328 -
- 5V 700mA (3.5W) Isolated switch Power Supply Modul
- 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
Oke Hallo semua pada kesempatan kali ini kita akan belajar mendeteksi kemiringan suatu benda. Sensor yang digunakan adalah tilt... selengkapnya
Pada postingan artikel kali ini akan mengupas tentang penggunaan LCD 20×4 pada Arduino. Maksud dari 20×4 adalah lcd ini... selengkapnya
LCD 128×64 merupakan sebuah display yang diatur berdasarakn graphic (pixel) bukan karakter. Jadi kita bisa memposisikan pada setiap titik... selengkapnya
LED RGB adalah lampu led yang mempunyai 3 warna utama yaitu RED/merah, GREEN/hijau dan BLUE/biru. Namun dengan kombinasi dari... selengkapnya
Jumpa lagi dengan tutorial mengenai thingspeak, kali ini akan dibahas cara menampilkan data suhu pada Thingspeak menggunakan ESP-01 dan... selengkapnya
Oke pada artikel kali ini membahas telegram kembali menggunakan sensor DHT untuk mendeteksi suhu dan kelembaban. Jadi nanti akan... selengkapnya
Oke sekarang kita akan belajar menyalakan LED dengan Blynk NodeMCU. Tentunya anda semua sudah menginstal aplikasi Blynk kan ya…... selengkapnya
Motor servo adalah salah satu jenis motor listrik yang memiliki feedback berupa sensor posisi. Dengan adanya feedback tersebut, motor... selengkapnya
Pada tutorial ini akan dijelaskan bagaimana memulai menggunakan NodeMCU Esp8266 pada Arduino IDE. Meskipun pada tutorial sebelumnya sudah menggunakan... selengkapnya
Sensor TDS meter adalah perangkat elektronika yang digunakan untuk mengukur partikel terlarut dalam air, partikel terlarut termasuk zat organik... selengkapnya
Modul sensor tegangan AC bolak balik 3 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 57.000Kabel Jumper Dupont Pelangi 10 cm male to male 1 lembar = 40 kabel
Rp 13.000Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.900sg90 towerpro penggerak pada robot-robot kecil, dan bisa digunakan sebagai alat untuk hobi membuat robot dsb, dengan berat sekitar 9g… selengkapnya
Rp 15.500Kabel Jumper Dupont Pelangi 10 cm female to female 1 lembar = 40 kabel
Rp 9.000Features: It is of high power density, high efficiency, high-reliability, small size and lightweight. It can isolate unsteady single-way voltage… selengkapnya
Rp 18.500Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.90012V2A switching power supply power adapter 12V power supply 2A power supply
Rp 33.500 Rp 35.000Deskripsi Produk “LED Dot Matrix Display dengan 32×8 pixel, berwarna Merah, menggunakan IC MAX7219 sebagai driver dan dapat dikoneksikan ke… selengkapnya
Rp 47.500Spesifikasi: 50mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 75.000
Saat ini belum tersedia komentar.