Belajar Menggunakan Sensor Cahaya di Arduino

Dalam tutorial Belajar Menggunakan Sensor Cahaya di Arduino ini kita akan menggunakan photoresistor, kita akan mencari tahu bagaimana cara untuk melakukan pengaturan pada sebuah photoresistor. Selain itu, tutorial ini juga menjelaskan mengenai bagaimana Anda bisa menggunakan peralatan ini untuk mendeteksi pergantian cahaya dengan mudah. Perangkat ini bisa digunakan dalam berbagai proyek untuk mengukur cahaya.

Tutorial ini sangat sederhana. Namun, tutorial ini diharapkan bisa menjelaskan cara untuk menggunakan photoresistor dalam proyek Anda berikutnya.

Anda bahkan tidak akan membutuhkan banyak peralatan karena sebagian besar peralatan yang mendasar sudah Anda miliki jika Anda membeli elektronik kit starter.

Tutorial yang satu ini juga akan menunjukkan mengapa pin analog Arduino begitu hebat jika dibandingkan dengan Raspberry Pi karena rangkaian dari Arduino ini memang lebih sederhana.

Merancang Sirkuit Sensor Cahaya di Arduino

Sirkuit yang perlu kita bangun pada hakikatnya cukup mendasar dan Anda pun tidak akan mendapatkan kesulitan ketika mengaturnya. Di sini akan dijelaskan secara singkat bagaimana menyebutkan setiap bagian yang ada di dalamnya dari awal hingga akhir hingga cara menyatukannya.

Komponen elektronika Sensor cahaya atau yang lebih dikenal dengan Photoresistor adalah peralatan yang digunakan dalam sirkuit untuk mengetahui seberapa terang atau gelapnya sirkuit tersebut. Jika gelap, resistor akan memiliki resistansi yang tinggi hingga mencapai 10 Megohms. Jika cahaya terang, resistansi yang terjadi mungkin akan memberikan perlawanan beberapa ohm saja.

Anda bisa mengetahui perlawanan yang diberikan dengan melihat lembar yang tersedia dalam data perangkat. Ini akan merujuk pada lux penerangan dan memberikan resistensi pada jumlah lux tertentu.

Equipment Wajib

  • Arduino Uno
  • 1 x Photo Resistor
  • 1 x 220 Ohm Resistor
  • Breadboard
  • Breadboard wire

Equipment Pilihan

  • 3 x 100 Ohm Resistor
  • 1 x Red LED
  • 1 x Green LED
  • 1 x Yellow LED

LED yang terdapat dalam sirkuit akan mewakili jumlah hambatan pada photoresistor. Warna hijau akan terjadi jika berada pada resisten yang rendah (Lots of light). Warna kuning jika terdapat resistansi menengah di LDR (Shady). Lalu, warna merah jika resistansi tinggi (gelap).

1. Pertama-tama, sambungkan pin 5v dari Arduino ke positive rail pada breadboard

2. Kemudian, sambungkan ground (GND) PIN dari Arduino ke negative rail pada Breadboard Anda

3. Kemudian, tempatkan photoresistor pada breadboard

  • Sambungkan salah satu ujung photoresistor pada positive rail
  • Ambillah kawat pada ujung lainnya untuk dikembalikan pada input Analog A0 pada Arduino Board
  • Terakhir, kembalikan kawat pada analog input, tambahkan resistor 220 Ohm yang terhubung pada negative rail pada breadboard.

4. Letakkan LED 3 pada breadboard, masing-masing terdapat LED Green, LED Yellow, dan LED Red yang telah Anda siapkan dalam daftar peralatan.

  • Pada masing-masing LED ini, tambahkanlah resistor 100 Ohm pada negative pin di LED dan sambungkanlah kembali pada Negative rail pada Breadboard Anda.
  • Sekarang, tempatkan kembali kawat pada Arduino dari setiap LED positive pins pada pin Arduino yang tepat. Pada tutorial ini, RED LED harus menuju ke Pin 4, Yellow Red ke Pin 3, dan Green LED ke pin 2
diagram sensor cahaya arduino
diagram sensor cahaya arduino

Coding Untuk Sirkuit Sensor Cahaya Arduino

1. Mulailah dengan meluncurkan Arduino IDE. Jika ada proyek yang sudah dibuka di dalam Arduino IDE, simpan dengan menekan Ctrl + S dan kemudian buat file baru dengan menekan Ctrl + N.

2. Dalam sketsa file dengan penulisan kode berikut ini, kami akan menjelaskan masing-masing sesi kode sehingga Anda akan tahu cara kerjanya, serta bagaimana Anda bisa menggantinya sesuai dengan kebutuhanya.

Sebelum mulai melakukan sesuatu, pertama-tama kita perlu mengatur semua variabel. Untuk program ini, dibutuhkan empat variabel untuk menyimpan nomor pin dan satu variabel untuk menyimpan nilai pin analog. Semua variabel adalah bilangan bulat karena kita hanya perlu menyimpan data numerik.

int greenLedPin = 2;
int yellowLedPin = 3;
int redLedPin = 4;
int lightSensorPin = A0;
int analogValue = 0;

Pada bagian kode ini, Anda akan mengatur semua pin LED untuk bertindak sebagai output dengan memanfaatkan fungsi pinMode (). Anda tidak perlu khawatir tentang pengaturan pin analog.

void setup() {
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin,OUTPUT);
pinMode(redLedPin,OUTPUT);
}

The Loop Function sangat sederhana sehingga Anda tidak akan kesulitan untuk memahaminya. Pertama, Anda akan mendapatkan nilai dari pin analog ini pada photoresistor. Setelah Anda mendapatkan nilainya, Anda dapat membandingkan dan menyalakan LED yang relevan. Misalnya, led RED adalah ketika Dark, Yellow untuk keadaan teduh dan Green ketika terang. Setelah ini, tunggulah selama 200 ms untuk mengubah semua LED ke rendah dan silahkan periksa lagi.

void loop(){
analogValue = analogRead(lightSensorPin);
if(analogValue < 50){
digitalWrite(redLedPin, HIGH);
}
else if(analogValue >= 50 && analogValue <= 100){
digitalWrite(yellowLedPin, HIGH);
}
else{
digitalWrite(greenLedPin, HIGH);
}
delay(200);
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
}

3. Setelah kode lengkap, Anda kini sudah dapat mengunggahnya ke Adruino, Anda dapat melakukan ini dengan mudah. Caranya ialah tekan tombol “Upload” dengan Adruino IDE. Tombol ini berada di sebelah tombol “Verify” (Tombol dengan tanda centang) jika Anda tidak yakin mana tombol yang dimaksud.

4. Dengan kode yang didorong ke Arduino Anda, Anda dapat melihat sirkuit Anda memiliki bermacam-macam tingkatan cahaya yang berbeda. Jika Anda tidak melihat reaksi apa pun, Anda dapat mencoba mengutak-atik nilai perbandingan yang kami gunakan dalam skrip kami.

Jika Anda mau, Anda bahkan dapat mengimplementasikan beberapa pemantauan serial untuk memeriksa nilai apa yang dikembalikan oleh photoresistor.

Coding Lengkap Sensor Cahaya di Arduino

int greenLedPin = 2;
int yellowLedPin = 3;
int redLedPin = 4;
int lightSensorPin = A0;
int analogValue = 0;
void setup() {
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin,OUTPUT);
pinMode(redLedPin,OUTPUT);
}
void loop(){
analogValue = analogRead(lightSensorPin);
if(analogValue < 50){
digitalWrite(redLedPin, HIGH);
}
else if(analogValue >= 50 && analogValue <= 100){
digitalWrite(yellowLedPin, HIGH);
}
else{
digitalWrite(greenLedPin, HIGH);
}
delay(200);
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
}

 

Submit Your Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *