Laporan Praktikum Sistem Embedded Modul ARDX CIRC-09 – Foto resistor
Apa yang kita lakukan?
Mendapatkan inputan dari potensiometer bisa berguna untuk eksperimen yang dikendalikan manusia, tapi gimana kalau kita mau eksperimen yang dikendalikan lingkungan? Kita menggunakan prinsip yang hampir sama, tapi dibandingkan menggunakan potensiometer, kita pakai photo resistor (light dependent resistor / sensor cahaya). Arduino gak bisa merasakan resistansi langsung (dia merasakan voltage), jadi kita membuat voltage divider.
Rangkaian :
Code (bisa didapatkan di http://ardx.org/CODE09)
/* * A simple programme that will change the intensity of * an LED based * on the amount of light incident on * the photo resistor. * */ //PhotoResistor Pin int lightPin = 0; //the analog pin the photoresistor is //connected to //the photoresistor is not calibrated to any units so //this is simply a raw sensor value (relative light) //LED Pin int ledPin = 9; //the pin the LED is connected to //we are controlling brightness so //we use one of the PWM (pulse width // modulation pins) void setup() { pinMode(ledPin, OUTPUT); //sets the led pin to output } /* * loop() - this function will start after setup * finishes and then repeat */ void loop() { int lightLevel = analogRead(lightPin); //Read the // lightlevel lightLevel = map(lightLevel, 0, 900, 0, 255); //adjust the value 0 to 900 to //span 0 to 255 lightLevel = constrain(lightLevel, 0, 255);//make sure the //value is betwween //0 and 255 analogWrite(ledPin, lightLevel); //write the value }
Coding ini menghasilkan LED yang akan mati kalau sensor mendeteksi cahaya.
Gak jalan?
- LED tetap gak nyala
Inilah kesalahan yang terus kita bikin yang terus terusan ngabisin waktu. Coba aja mereka bisa bikin LED yang bisa ditukar PIN nya.
Coba putar LED nya, baru coba lagi. - Sensornya gak merespon perubahan cahaya
Karena tempat merakitnya memang sempit, mungkin aja salah rakit. Coba rakit ulang. - Masih gak jalan juga?
Mungkin kamu berada di ruangan yang terlalu terang, atau terlalu gelap. Coba matiin lampu. Atau kalau ada senter (di lab sini adanya laser), coba pakai.
Lebih lanjut : http://ardx.org/CIRC09
Tugas kampus : Ketika lasernya kena sensor, LEDnya hidup. Kalau lasernya dimatikan, lampunya mati. Tampilkan keluaran sensor pada Serial Monitor.
void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); //sets the led pin to output } void loop() { int lightLevel = analogRead(lightPin); Serial.print(lightLevel); Serial.print("\n"); lightLevel = map(lightLevel, 0, 300, 255, 0); lightLevel = constrain(lightLevel, 0, 255);//make sure the //value is betwween //0 and 255 analogWrite(ledPin, lightLevel); //write the value }
Hasil :
from
via WordPress
Komentar
Posting Komentar