Mengukur Intensitas Cahaya dengan LDR dan Arduino

Untuk mengukur intensitas cahaya dibutuhkan sensor cahaya yang peka terhadap perubahan intensistas cahaya. Salah satu sensor cahaya yang dapat digunakan adalah LDR atau Light Dependent Resistor. LDR mempunyai karakteristik berubah nilai resistansinya sesuai intensitas cahaya yang mengenainya.

Untuk mengukur intensitas cahaya menggunakan Arduino, Anda harus mengubah perubahan resistansi LDR menjadi perubahan tegangan (DC) karena Arduino hanya mengukur tegangan, tidak bisa mengukur resistansi. Oleh karena dibutuhkan rangkaian sederhana ‘pembagi tegangan’ yang komponennya adalah LDR dan resistor (variabel resistor) yang dihubungkan secara seri dan ditenggah-tengahnya diumpankan ke pin Analog Arduino. Untuk lebih jelasnya silahkan dilihat gambar rangkaiannya pada gambar di bawah  :

Rangkaian LDR-Mengukur Intensitas Cahaya dengan LDR dan Arduino

Komponen yang dibutuhkan :
– LDR
– Variabel resistor (potensiometer atau trimpot) 10 KΩ
– beberapa kabel jumper
– Arduino (Uno atau tipe yang lain). Pada percobaan kali ini saya menggunakan Arduino Mega ADK, karena kebetulan Arduino Uno-nya sedang dipake project lain 🙂
– senter, untuk memanipulasi intensitas cahaya yang akan diukur (bisa menggunakan smartphone Android/iPhone yang sudah diinstal aplikasi ‘Flash Light’ atau sejenisnya)
– protoboard

Rangkai komponen di atas sesuai gambar rangkaian di protoboard. Kurang lebih jadinya seperti gambar di bawah

prototipe rangkaian LDR dengan Arduino

Dengan mengatur besaran VR (Variabel Resitor) Anda akan mendapatkan rentang tegangan dari 0V – 5V tergantung intensitas cahaya di LDR. LDR mempunyai sifat semakin banyak cahaya yang diterimanya (saat terang), nilai resistansinya semakin kecil. Dengan demikian, dengan rangkaian di atas, maka tegangan yang diterima pin analog Arduino akan semakin besar (ingat rumus rangkaian pembagi tegangan). Hal kebalikannya juga berlaku : jika intensitas cahaya yang diterima LDR kecil (saat gelap), maka nilai resistansi LDR akan besar, sehingga tegangan yang diterima pin analog Arduino akan mengecil. Dengan membuat program/sketch handler di sisi Arduino, tegangan tadi dapat diukur melalui besaran digital representasinya, karena pin analog Arduino memiliki ADC 10 bit di internalnya. Mengenai ADC internal ini dan cara mengukur tegangan analog menggunakan Arduino dapat dibaca di artikel ini.

Untuk lebih jelasnya, silahkan copy dan paste sketch di bawah ke Arduino IDE Anda. Setelah itu upload sketch ke Arduino. Aktifkan jendela Serial Monitor untuk melihat besaran angka digital sebagai representasi tegangan yang masuk ke pin analog A0.

int input=0;

void setup() {
Serial.begin(9600);
}

void loop() {
input=analogRead(A0);
Serial.println(input);
delay(1000);
}

Setelah sketch berhasil diunggah ke Arduino, dan sudah terlihat angka-angka di jendela Serial Monitor, manipulasilah cahaya yang mengenai LDR menggunakan senter (atau aplikasi Android/iPhone). Kemudian perhatikan angka-angka yang tertera di Serial Monitor akan naik turun sesuai dengan intensitas cahaya yang diterima LDR.

mengukur intensitas cahaya dengan LDR dan Arduino

5 1 vote
Article Rating

Leave a Reply

61 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Agvion

raspberri pi bisa gak mas?

Alvian Nugraha M S

Permisi, mau tanya untuk cara kerja rangkaian pembagi tegangan agar bisa menghasilkan tegangan untuk dimasukkan ke dalam arduino, bagaimana yaa??
terima kasih

Zaipul rahmat

Mohon ilmu nya mas, bagaimana jika kita ingin pembacaan tegangan input nya cuma saat tertentu. Misal hanya saat pin 1 berlogika high, jika pin satu berlogika o pembacaan 0. itu sketch nya gimana ya mas. Terimakasih sebelum nya

Toni

Selamat malam gan.
Mau nanya gan tentang codingan sensor LDR. Misalkan saya punya 3 sensor LDR dengan satu output motor.
sensor LDR 1 mendeteksi cahaya matahari, Motornya HANYA bergerak beberapa detik lalu mati dan motor akan bergerak lagi setelah LDR 2 mendeteksi dan seterusnya, untuk codingan nya gimana iya gan ?

Toni

Bagaimana iya mas, ketika sensor LDR nya ditempat pada tempat yang terang atau langsung terkena cahaya matahari.
sensor LDR nya diberi batas nilai, setelah sampai batas yang diinginkan motor bergerak dan diberi delay dan motor mati. Tapi kenapa meskipun sudah diberi delay, motor tetap bergerak dan delay baru aktif bila sensor LDRnya dibuat gelap. Masalahnya “Yang saya inginkan motor hidup sesuai dengan delay yang di inginkan dan kemudian mati, meskipun batas nilai yang diinginkan masih sama” , itu gimana iya mas?

Toni

Perumpamaan saya pake 3 buah LDR dan 1led. Saya sudah mencoba dengan cara membandingkan ketiga nilai LDR dan led menyala sesuai yang diinginkan, tetapi kenapa led tetap menyala ketika selalu terkena cahaya matahari padahal sudah diberi delay untuk mati.
Permasalahannya “jika ketiga LDR “selalu” disinari cahaya matahari, bagaimana source code untuk membuat agar lampu ‘HANYA SEKALI’ menyala sekian detik lalu mati dan tidak menyala lagi. Lampu akan menyala kembali jika nilai LDR2 mencapai nilai yang diinginkan dan lampu HANYA SEKALI’ menyala sekian detik lalu mati dan tidak menyala lagi dan seterusnya. Itu gimana iya mas ?
Mohon pencerahannya mas
Makasih

sukmo

Kalo mau menampilkan nilai lux ke lcd gmn mas?? Dengan menggunakan ldr…Terimakasih

sukmo

Iya mas nanti tak coba, mau tanya lagi mas hehe misal mau mengatur intensitas cahaya lampu hingga 500 – 600 lux tapi nilai ldr-nya itu diambil dr lampu tersebut & lampu mencapai lux 500 – 600 gmn ya..

Terima Kasih

sukmo

Untuk mengatur intensitas cahaya lampu dengan sumber cahaya-nya bukan dari cahaya ruang melainkan dri cahaya lampu itu sendiri bisakah??

Toni

mau nanya mas ajie. untuk program dasarnya, sensor ldr dan led. mohon bantuannya mas.
bagaimana cara ketika sensor ldr SUDAH mencapai nilai yang diinginkan, led menyala sekian detik lalu mati (“nilai ldr masih dalan nilai yang diinginkan”)

beri saya contoh programnya mas ajie.
makasih.

Umam

mau tanya mas aji. sya menggunakan sensor hujan dan sensor ldr. sensor hujan sbg input dimisalkan sbg pushbutton dan ldr sbg output yg nilai ny di tmpilkan di lcd(input). msalahnya adl brpa nilai resistor dan intensitas cahaya (gelap) (terang) yg tepat utk bsa menggerakan motor dc putar cw dan ccw. terimakasih

eki

mass saya menggunakan 1 ldr,esp8266 dan motor DC 12volt
ingin kalau ada cahaya terik dia nutup kalau agak mendung engga itu gmn ya mass

Dwiki

gan saya mau tanyak , hasil dari sensor ldr itu cara bacanya gimana ya gan ?

dwiki

ada program adruino untuk menghitung nya gak gan ?

Dwiki

gan misalnya sensor ldr keluarin data 900 cara menghitung berapa intensitas cahaya nya gimana ya gan ?

sukmo

Mas aji mau tanya, untuk mengkonversi nilai intensitas cahaya sesuai tutorial di atas ke dlm lux gmn yahh??

sukmo

Iya mas…mau tanya lagi mas aji jika tutorial di atas tipe sensor ldr-nya menggunakan output digital bisa??

Hendro

Mas tanya ya.
1 arduino.
2 sensor bh1750.
1tampilan pakai lcd 16×2
Skemanya dan Programnya gimana ya.
Terimakasih mas

RENI

halo kakak,bisa bantu metode apa yang bisa membedakan terang dan gelap,rentang nilainya berapa.karena saya menggunakan sensor cahaya ldr

Hendro

Maaf mas.
Ya nanya…
Sekalian di ajarin dan dibikinin….
Harganya sampai berapa ?

Terimakasih.

Hendro

Terimakasih mas.
Saya coba dulu.

M.athoiillah

mas saya mau nanya,saya pngen mengaktifkan servo makai ldr,dalm batas range tertentu servo di aktifkan,if(ldr>=100&&ldr <=200){//servoaktif},saya pengen nanya,kalau pengen ditambah waktu gmn ya??misal gini jadi nilai ldr harus dalm batas range dan dalm waktu 5 detik,kalau kurang dari 5 detik maka servo tdk membuka

M.athoiillah

waktu 5 detik dihitung sejak nilai ldr masuk batas range,

Siti Roudhotul Hasanah

selamat malam , permisi mas ajie …
mau nnya mas gimana ya cara mengkonversi sensor ldr nilai serial monitor kesatuan lumen / lux? dengan sketch dengan batas nilai < 300. dan batas nilai awal tidak terkena cahaya yaitu 1021 dan jika terkena cahaya yaitu 38 . gimana ya mas mengkonversi nilai serial monitor bit ke lumen mas ? terimakasih mas ..

Siti Roudhotul Hasanah

oh gitu ya mas .. jadi biar lebih simple kita bandingkan saja ya mas … oh ya mas kira2 cahaya api berapa lumen ya mas ukurannya ?

Siti Roudhotul Hasanah

oh terimaksih ya mas 🙂

vina

ka… kalo nampilin nilainya di lcd beda lagi kan ka kodingannya
makasih ka

Ilham Ahmad Munawar

Maaf mas mau tanya . Mohon minta ilmu nya dong kalo kecerahan led nya tergantung dari input sensor ldr , codingan nya gimana ya

wafiq

Mas mau tanya, untuk otomatisasi dimmer cahaya berbasis android bisa menggunakan arduino apa tidak,,?

Ve

Mas saya masih bingung untuk program menampilkan nilai intensitas cahaya ke lcd 16×2. mas tolong program nya kaya gimana kalo nilainya di tampilkan ke LCD. kebetulan TA saya ada kaitannya dengan in.trimakasih

rahma

jka coding dimasukkan untuk software Eclipse gimana ya mas

fathur

numpang tanya mas, ada yg tau bagaimana menampilkan satuan lux(lumens dari hasil pembacaan modul LDR?

fina

kak mau nanya saya pakai sensor ldr 5 buah, untuk menampil nilai lux dan jam nya di lcd itu programnya gmna ya kak?

61
0
Would love your thoughts, please comment.x
()
x