Kamis, 09 Maret 2017

Tutorial Belajar Arduino Part 13: Sensor Cahaya

Salah satu jenis sensor cahaya adalah LDR (Light Dependent Resistor). Dengan sensor ini, kita bisa membuat alat yang berkaitan dengan cahaya seperti jemuran otomatis, tracking arah sumber cahaya matahari, lampu otomatis (untuk rumah, aquarium, dll), atau sebagai pengatur intensitas cahaya lampu untuk tananaman di dalam ruangan, dan banyak lagi lainnya. Di pasaran ada LDR yang berukuran 4 mm dan 11 mm. Pada Gambar di bawah ini adalah LDR dengan ukuran 11 mm.





Cara Kerja LDR
LDR disebut juga sebagai photoresistor sebab alat ini akan memiliki resistansi yang akan berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam kondisi gelap, resistansi LDR bisa mencapai 10 M ohm, tapi dalam kondisi terang, resistansi LDR turun hingga 1 K ohm bahkan bisa kecil lagi (Gambar 6.2 dan 6.3). Sifat inilah yang membuat LDR bisa dimanfaatkan sebagai sensor cahaya.

LDR terbuat dari sebuah cakram semikonduktor seperti kadmium sulfida dengan dua buah elektroda pada permukaannya. Pada saat intensitas cahaya yang mengenai LDR sedikit, bahan dari cakram LDR tersebut menghasilkan elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya ada sedikit elektron untuk mengangkut muatan elektrik. Artinya saat intensitas cahaya yang mengenai LDR sedikit maka LDR akan memiliki resistansi yang besar.

Gambar Resistansi LDR diterangi lampu


Gambar Resistansi LDR ketika lampu dihalangi kertas

Sedangkan pada saat kondisi terang, maka intensitas yang mengenai LDR banyak. Maka energi cahaya yang diserap akan membuat elektron bergerak cepat sehingga lepas dari atom bahan semikonduktor tersebut. Dengan banyaknya elektron bebas, maka muatan listrik lebih mudah untuk dialirkan. Artinya saat intensitas cahaya yang mengenai LDR banyak maka LDR akan memiliki resistansi yang kecil dan menjadi konduktor yang baik.

Gambar di atas adalah resistansi pada LDR dalam kondisi terang dan kondisi gelap. Dalam kondisi terang, resistansi masih kisaran 1K
ohm, dan ketika cahaya sedikit terhalangi sehingga agak gelap, maka resistansi meningkat hingga puluhan kilo ohm. Karakteristik inilah yang bisa kita manfaatkan untuk mengaktifkan relay dan menghidupkan lampu.

Rangkaian Dasar LDR

Gambar Rangkaian pembagi tegangan
Ketika ingin menjadikan LDR sebagai sensor, maka kita bisa mengacu pada rangkaian resistor sebagai pembagi tegangan. Dengan menggabungkan antara LDR dengan resistor (atau potensiometer), maka kita bisa mendapatkan variasi tegangan (pada V1 atau V2) yang nantinya menjadi inputan pada pin analog Arduino.



Tegangan pada V1 atau V2 dapat dihitung berdasarkan hukum ohm dan aturannya pada rangkaian seri. Pada rangkaian tersebut, arus pada semua titik dalam rangkaian tersebut nilainya sama sehingga kita bisa menghitung V1 atau V2 tanpa mengetahui arus yang mengalir. Lalu bagaimana cara menghitung V1 dan V2?

Pada rangkaian, ada 3 titik yang memiliki tegangan berbeda. Tegangan Vin, tegangan pada R1, dan tegangan pada R2. Berdasarkan hukum ohm, Vin, V1, dan V2 bisa dihitung dengan cara:

Jika ingin menghitung Vl, maka kita tinggal mensubstitusikan antara pers 1 dan pers 2.

Atau lebih umum dikenal dengan rumus :


Lalu jika ingin menghitung V2, maka rumusnya adalah:


Berdasarkan cara kerja rangkaian tersebut, maka rangkaian untuk sensor cahaya adalah sebagai berikut:



Berdasarkan Rangkaian, yang perlu Anda siapkan adalah resistor 10 K ohm, LDR, dan beberapa kabel jumper. Agar bisa coba- coba, silakan resistor 10 K ohm bisa Anda ganti dengan potensiometer 50 K atau 100 K, sehingga Anda lebih mudah ketika mencoba dengan resistansi yang berbeda. Potensiometer juga bisa digunakan untuk kalibrasi input pada Arduino.
1.        Salah satu kaki LDR disambungkan ke VCC pada Arduino
2.        Salah satu kaki Resistor disambungkan ke GND pada arduino
3.        Sambungkan sisa kaki LDR dan sisa kaki resistor, kemudian sambungan tersebut dihubungkan ke pin A0 pada board Arduino

Program Sensor Cahaya

// Sketch Program sensor cahaya
// pin A0 ke LDR
const int pinLDR = A0;
void setup() {
 Serial.begin(9600);
 pinMode(pinLDR, INPUT);
}
int dataLDR = 0;
void loop() {
 dataLDR = analogRead(pinLDR);
 Serial.print("dataLDR : ");
 Serial.print(dataLDR);
 Serial.print(" Kondisi : ");
 if(dataLDR < 150){
 Serial.println("GELAP");
 }else if(dataLDR < 300){
 Serial.println("REDUP");
 }else if(dataLDR < 450){
 Serial.println("TERANG");
 }else{
 Serial.println("SILAU");
 }
 delay(1000);
}

Program pada Sketch Program sensor cahaya akan membaca nilai tegangan pada sensor dan mengirimkannya ke komputer melalui komunikasi serial. Dengan Arduino, kita bisa membuat berbagai logika untuk sensor cahaya sehingga aplikasi dari LDR ini bisa diperluas dan dibuat lebih kompleks diintegrasikan dengan berbagai sistem.

Tidak ada komentar:

Posting Komentar