Anda di halaman 1dari 6

Sensor Cahaya

LDR dan Photodioda

Sensor cahaya merupakan sensor yang dapat membaca kondisi kecerahan sebuah
ruangan. Intensitas cahaya dalam ruangan dapat bersumber dari lampu atau pantulan
cahaya matahari dari luar melalui jendela. Jenis sensor cahaya yang paling banyak
digunakan adalah sensor LDR, Photodioda dan Phototransistor. Meskipun bentuk dari
kedua sensor ini berbeda namun keduaya memiliki fungsi yang sama. Kedua sensor ini
sering digunakan pada robot line follower (robot pengikut garis).

Gambar 1. Jenis Sensor Cahaya


Prinsip Keja Sensor Cahaya

Gambar 2. Prinsip kerja sensor Cahaya

 Berdasarkan gambar di atas, dapat kita lihat bahwa sensor akan menerima lebih banyak
cahaya jika bila obstacle mendekati warna putih.

Gambar 3. Perbedaan warna permukaan yang dideteksi sensor

 Apabila Garis terang, maka sinyal LED dapat dipantulkan. Bila cahaya LED memantul pada
garis dan diterima oleh basis fototransistor maka phototransistor menjadi saturasi (on)
sehingga tegangan output (Vout) menjadi sama dengan VCE saturasi atau mendekati 0
Volt. Sebaliknya jika tidak terdapat pantulan maka basis phototransistor tidak mendapat
arus bias sehingga fototransistor menjadi cut-off (C-E Open). dengan demikian nilai Vout
sama dengan VCC (5 Volt).

Gambar 4. Rangkaian elektronik sensor

 Agar dapat diinterfacekan ke mikrokontroler, tegangan output harus selalu berada pada
level 0 atau VCC. Output rangkaian gambar di atas masih memiliki kemungkinan tidak
pada kondisi ideal bila intensitas pantulan cahaya LED pada garis lemah, misalnya karena
perubahan warna atau lintasan yang kotor. Untuk mengatasi hal tersebut ditambahkan
rangkaian pembanding yang membandingkan output sensor dengan suatu tegangan
threshold yang dapat diatur dengan memutar trimmer potensio (10 K). Rangkaian
lengkapnya seperti pada gambar 5. LED pada output berguna sebagai indikator logika
output sehingga kerja sensor mudah diamati.

Gambar 5. Rangkaian interface sensor dengan driver


Alat dan Bahan
1. Arduino Uno 1 buah
2. Sensor Cahaya LDR 6 buah
3. Breadboard
4. Resistor 10K 6 buah
5. Kabel Jumper Secukupnya
6. Software Simulasi Elektronik
7. Arduino IDE
Skema Rangkaian Sensor Cahaya
Gambar berikut ini memperlihatkan koneksi kabel antara sensor dengan arduino.

Gambar 6. Rangkaian Sensor Cahaya Menggunakan Op-Amp

Gambar 7. Rangkaian Sensor Cahaya dengan Arduino serial dan LCD


Langkah Kerja
1. Buatlah rangkaian simulasi seperti pada gambar 6 dan gambar 7
2. Simpan file tersebut sesuai nama gambar
3. Buka Aplikasi Arduino IDE
4. Buatlah program pembacaan sensor cahaya seperti pada listing program di bawah
5. Lakukan compile pada program yang telah di buat dan pastikan tidak ada yang error
6. Upload program tersebut kedalam Arduino melalui simulasi rangkaian elektronika
#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
#define LDR1 A0
#define LDR2 A1
#define LDR3 A2
#define LDR4 A3
#define LDR5 A4
#define LDR6 A5
unsigned int Low=100;
unsigned int high=500;
unsigned int Mid=300;
unsigned int Sensor[6].Ref[6],s[6],Nilai[6];

void baca_sensor()
{
lcd.setCursor(0,0);
lcd.print(‘Pembacaan Sensor’);
sensor[0]=analogRead(A0);
sensor[1]=analogRead(A1);
sensor[2]=analogRead(A2);
sensor[3]=analogRead(A3);
sensor[4]=analogRead(A4);
sensor[5]=analogRead(A5);
ref[0]=200;ref[1]=200;ref[2]=200;ref[3]=200;ref[4]=200;ref[5]=200;
if (sensor[o]>ref[o]) {Nilai[o]=Low;} if (sensor[o]<ref[o])
{Nilai[0]=High;}
if (sensor[1]>ref[1]) {Nilai[1]=Low;} if (sensor[1]<ref[1])
{Nilai[1]=High;}
if (sensor[2]>ref[2]) {Nilai[2]=Low;} if (sensor[2]<ref[2])
{Nilai[2]=High;}
if (sensor[3]>ref[3]) {Nilai[3]=Low;} if (sensor[3]<ref[3])
{Nilai[3]=High;}
if (sensor[4]>ref[4]) {Nilai[4]=Low;} if (sensor[4]<ref[4])
{Nilai[4]=High;}
if (sensor[5]>ref[5]) {Nilai[5]=Low;} if (sensor[5]<ref[5])
{Nilai[5]=High;}

lcd.setCursor(5,1);
if (Nilai[0]>Mid) {S[0]=1; lcd.print('1');} if (Nilai[0]<Mid)
{S[0]=0; lcd.print('0');}
if (Nilai[1]>Mid) {S[1]=1; lcd.print('1');} if (Nilai[1]<Mid)
{S[1]=0; lcd.print('0');}
if (Nilai[2]>Mid) {S[2]=1; lcd.print('1');} if (Nilai[2]<Mid)
{S[2]=0; lcd.print('0');}
if (Nilai[3]>Mid) {S[3]=1; lcd.print('1');} if (Nilai[3]<Mid)
{S[3]=0; lcd.print('0');}
if (Nilai[4]>Mid) {S[4]=1; lcd.print('1');} if (Nilai[4]<Mid)
{S[4]=0; lcd.print('0');}
if (Nilai[5]>Mid) {S[5]=1; lcd.print('1');} if (Nilai[5]<Mid)
{S[5]=0; lcd.print('0');}
}
void setup() {
lcd.begin(16,2);
pinMode (LDR1, INPUT);pinMode (LDR2, INPUT);pinMode (LDR3, INPUT);
pinMode (LDR4, INPUT);pinMode (LDR5, INPUT);pinMode (LDR6, INPUT);
lcd.setCursor(0,0); lcd.print(‘Program Sensor’);
lcd.setCursor(0,1); lcd.print("Cahaya");
delay(1000);
lcd,clear();
}

void loop() {
baca_sensor();
}

Uji Coba System


Pada projek kali ini Arduino akan membaca nilai sensor cahaya secara analog kemudian
dikonversi ke digital melalui program dan ditampilkan ke LCD. Berikut ini adalah tampilan
program pembacaan sensor cahaya LDR.
Gambar 8. Tampilan Simulasi Pembacaan Sensor Cahaya

Pertanyaan Praktikum:
1. Listing program di atas telah kami ubah, silahkan mencari kesalahan program tersebut
sampai tidak ada error ketika dikompile!
2. Jelaskan prinsip kerja rangkaian sensor cahaya menggunakan Op-Amp!
3. Jelaskan fungsi penggalan program di bawah ini:
a. sensor[0]=analogRead(A0);
b. if (Nilai[2]>Mid) {S[2]=1; lcd.print('1');}
c. if (Nilai[3]<Mid) {S[3]=0; lcd.print('0');}
d. if (sensor[1]>ref[1]) {Nilai[1]=Low;}
e. if (sensor[4]<ref[4]) {Nilai[4]=High;}
4. Modifikasi Program sebelumnya agar dapat menampilkan data pembacaan analog
pada serial monitor!

Anda mungkin juga menyukai