● online
- LM35DZ Sensor Suhu - LM35
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A
- Dual Volt Amp Meter Digital Ampere Meter Voltmeter
- Kabel Jumper 20cm Dupont 20 cm Male to Male Pelang
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol
- E18-D80NK Infrared Obstacle Avoidance Sensor Proxi
- Compatible Arduino Pro Mini 5V 16Mhz - Atmega328 -
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F
- 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
Sebagai seorang programmer tentu saja harus mempunyai kemampuan di bidang Bahasa pemograman karena landasan utama dalam membangun sebuah aplikasi... selengkapnya
Hallo apa kabar pada artikel ini saya berbagi cara kontrol led menggunakan potensiometer pada NodeMCU. Jadi nanti akan mengatur... selengkapnya
Alarm sangat diperlukan untuk keamanan tertentu, misalnya pada rumah, toko, maupun yang berupa barang-barang berharga lainnya dari pencuri. Tentunya... selengkapnya
Dalam dunia fotografi, mengambil foto yang bagus merupakan suatu keahlian yang harus di kuasai oleh seorang fotografer. Karena dengan... selengkapnya
Halo semuanya, pada kesempatan kali ini Saya ingin membahas tentang simulasi penggunaan sensor LDR (sensor cahaya) menggunakan Arduino untuk... selengkapnya
MPU6050 merupakan sebuah sensor yang berfungsi untuk mengukur percepatan suatu benda yang bergerak. Nah kali ini kita akan belajar... selengkapnya
Real Time Clock DS3231 adalah rangkaian elektronik yang berfungsi untuk menyediakan data waktu dan tanggal dengan tingkat presisi... selengkapnya
Sensor suara merupakan sensor yang dapat mengubah besaran suara menjadi besaran listrik dimana nilai diperoleh dari besarnya gelombang suara... selengkapnya
Semangat pagi, salam hangat dari saya untuk semua pengunjung indomaker.com. Kali ini kita akan belajar mengenai penggunaan timer relay... selengkapnya
Hallo kali ini saya akan membahas mengenai relay lagi yaitu relay 2 channel. Di pasaran, relay ini sudah menggunakan... selengkapnya
Microcontroller ATmega2560 chip usb : CH340 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limit) 6-20V Digital I/O Pins… selengkapnya
Rp 245.000Fitur: -Dapat mendeteksi api atau panjang gelombang sumber cahaya dalam 760nm ~ 1100nm – Api lebih ringan mendeteksi jarak 80cm… selengkapnya
Rp 9.000Features and Specs: Dual-Core, 32-bit ARM Cortex M0+ Processor Clocked at 48MHz (default), configurable max to 133MHz. Ready with USB… selengkapnya
Rp 82.900Temperature and humidity transmitter SHT20 sensor industrial grade high precision temperature and humidity monitoring Modbus RS485 (MD02) MODBUS debugging assistant… selengkapnya
Rp 96.800This is the new MEGA2560 R3. In addition to all the features of the previous board, the MEGA now uses… selengkapnya
Rp 299.000Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800Micro SD Card Shield For WeMos D1 Mini TF WiFi ESP8266 Compatible SD Wireless Module For Arduino For WeMos D1… selengkapnya
Rp 8.900Kabel jumper Dupont untuk jumper Arduino atau Raspberry Pi 20 cm Male to Male 1 lembar = 40 kabel
Rp 11.300Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900
Saat ini belum tersedia komentar.