Sensor Cahaya (Photodioda) dengan Arduino
Assalamualaikum
warahmatullahi wabarakatuh
Photodioda
merupakan komponen semi konduktor yang peka terhadap cahaya,
Photodioda terbagi dua yaitu photodioda yang peka terhadap cahaya
yang tampak dan photodioda yang peka terhadap cahaya yang tak tampak.
Di pasaran biasanya
photodioda yang peka terhadap cahaya yang tampak berwana bening dan
photodioda yang peka terhadap cahaya yang tidak tampak (IR) bisanya
dipasaran berwarna hitam.
Untuk membedakan polaritas dari photodioda dengan cara melihat kaki-kaki dari photodioda yang pendek merupakan positif (+) yang lebih panjang negatif (-), atau kalau pada photidioda yang bening kita dapat melihat lempengan di dalalam kepalanya, lempengan yang paling besar merupakan positif (+) dan yang kecil negatif (-). Memang Photodioda berbeda dengan LED kalau LED kebalikan dari Photodioda.
Berikut untuk rangkaiannya:
Untuk peletakan
resistor dapat diletakkan sesudah photodioda atau sebelum photodioda
jika berpegangan dengan vcc awal dari sebuah rangkaian, peletakan
resistor akan berdampak pada pembacaan jika peletakan resistor
sesudah photodioda maka semakin terang cahaya semakin kecil tegangan
yang di baca arduino jika peletakan resistor sebelum arduino maka
semakin terang cahaya maka semakin besar tegangan yang dibaca
arduino.
Untuk nilai dari
resistor dapat disesuaikan dengan kegunaan. Biasa saya menggunkan 4,7
k (4k7) .
Berkut koneksi sensor dengan Arduino:
- Kaki positif photodioda terhubung dengan 5V pada arduino
- Kaki negatif photodioda terhubung dengan pin A5 pada Arduino
- Resistor terhubung dengan GND pada ardunino
program
//*********************************
//*program pembacaan
nilai dari sensor cahaya
//*dengan menggunkan
photodioda
//*************************************
int pin = A5; //
deklarasikan pin sebagia A5
void setup(){
pinMode(pin,
INPUT); // deklarasikan pin sebagai INPUT
Serial.begin(9600); // inisialisasi kecepatan transferdata antara
arduino dengan komputer 9600
}
void loop(){
int data =
analogRead(pin); //pembacaan nilai tegangan yang dibaca dari sensor
Serial.println(data); // tampilkan pembacaan di layar komputer
delay(100); //beri
tundaan
}
jika ingin
menambakan keputusan dari data yang didapat dari sensor kita bisa
menambahkan perintah percabangan.
Misal:
if (data>130)
hiduplampu;
else if (data<120)
matilampu;
semoga tulisan ini
dapat membantu teman-teman yang lagi belajar arduino....
doesn't work. i get output analog like wave
ReplyDeleteyes
Deletedo you mean the analog input is not stable?,
ReplyDeletemaybe you test on outside, because the photodiode sensor value will change base on infrared,
thank you