Project Demo
Otomatisasi Kestabilan Intensitas Cahaya pada Kandang Ayam dengan Sensor LDR
Merancang kandang ayam yang dapat mengatur
dan mempertahankan intensitas cahaya di dalamnya secara otomatis.
1. Light Dependent Resistor (LDR)
Prinsip kerja LDR sangat sederhana tak jauh berbeda dengan variable resistor pada umumnya. LDR dipasang pada berbagai macam rangkaian elektronika dan dapat memutus dan menyambungkan aliran listrik berdasarkan cahaya. Semakin banyak cahaya yang mengenai LDR maka nilai resistansinya akan menurun, dan sebaliknya semakin sedikit cahaya yang mengenai LDR maka nilai hambatannya akan semakin membesar. Naik turunnya nilai Hambatan akan sebanding dengan jumlah cahaya yang diterimanya. Pada umumnya, Nilai Hambatan LDR akan mencapai 200 Kilo Ohm (kΩ) pada kondisi gelap dan menurun menjadi 500 Ohm (Ω) pada Kondisi Cahaya Terang.
LDR (Light Dependent Resistor) yang merupakan Komponen Elektronika peka cahaya ini sering digunakan atau diaplikasikan dalam Rangkaian Elektronika sebagai sensor pada Lampu Penerang Jalan, Lampu Kamar Tidur, Rangkaian Anti Maling, Shutter Kamera, Alarm dan lain sebagainya.
2.
LED
3. Buzzer
Pada dasarnya, setiap buzzer elektronika memerlukan input berupa tegangan listrik yang kemudian diubah menjadi getaran suara atau gelombang bunyi yang memiliki frekuensi berkisar antara 1 - 5 KHz. Jenis buzzer elektronika yang sering digunakan dan ditemukan dalam rangkaian adalah buzzer yang berjenis Piezoelectric (Piezoelectric Buzzer). Hal itu karena Piezoelectric Buzzer memiliki berbagai kelebihan diantaranya yaitu lebih murah, relatif lebih ringan dan lebih mudah penggunaannya ketika diaplikasikan dalam rangkaian elektronika.
Efek Piezoelektrik (Piezoelectric Effect) ditemukan pertama kali oleh dua orang ilmuwan Fisika pada tahun 1880 bernama Pierre Curie dan Jacques Curie yang berasal dari kebangsaan Perancis. Penemuan tersebut kemudian dikembangkan oleh sebuah perusahaan Jepang menjadi Piezoelectric Buzzer dan mulai populer digunakan pada tahun 1970-an.
Dalam rangkaian elektronika, piezoelectric buzzer dapat digunakan pada tegangan listrik sebesar 6 volt hingga 12 volt dan dengan tipikal arus sebesar 25 mA. Buzzer yang termasuk dalam keluarga Transduser ini sering disebut juga dengan Beeper.
4. Liquid Crystal Display (LCD)
5. Arduino
Microcontroller
ATmega328P |
Operating Voltage 5 V |
Input Voltage (recommended) 7 – 12 V |
Input Voltage (limit) 6 – 20 V |
Digital I/O Pins 14
(of which 6 provide PWM output) |
PWM Digital I/O Pins 6 |
Analog Input Pins 6 |
DC Current per I/O Pin 20 mA |
DC Current for 3.3V Pin 50 mA |
Flash Memory
32 KB of which 0.5 KB used by bootloader |
SRAM
2 KB |
EEPROM 1 KB |
Clock Speed
16 MHz |
BAGIAN-BAGIAN ARDUINO UNO
POWER USB
Digunakan untuk menghubungkan Papan Arduino
dengan komputer lewat koneksi USB.
POWER JACK
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5
- 12 V.
Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.
Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan
nilai logika ( 0 atau 1 ). Pin berlabel " ~ "
adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat
digunakan untuk menghasilkan PWM.
Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk
membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan
mengubahnya menjadi nilai digital.
LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik
dengan baik.
BAGIAN-BAGIAN PENDUKUNG
RAM
ROM
6. Komunikasi Inter Integrated Circuit (I2C)
Pada I2C,
data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address
Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi
Stop.
#include <Wire.h>
#define SLAVE_ADDR 9
int analogPin [] = {0,1};
byte pin[]={11};
int val = 0;
int vel = 1;
void setup() {
Wire.begin();
Serial.begin(9600);
pinMode(11,OUTPUT);
}
void loop() {
{ delay(50);
val = map(analogRead(0), 0,1023, 255, 1);
Serial.println(val);
Wire.beginTransmission(SLAVE_ADDR);
Wire.write(val);
Wire.endTransmission();
}
vel=map(analogRead(1), 0,1023, 255, 1);
Serial.println(vel);
if (vel>120){
digitalWrite(11,vel);
}
else{
digitalWrite(11,LOW);
}
}
b. Arduino Slave
#include<Wire.h>
#include<LiquidCrystal.h>
#define SLAVE_ADDR 9
LiquidCrystal lcd (2,3,4,5,6,7);
byte pin []={8,9,10,12,13};
int rd;
int br;
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
lcd.begin(16,2);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
}
void receiveEvent(int howMany)
{
{
rd=Wire.read();
Serial.println(rd);
}
}
void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
void receiveEvent();
{
while(0<Wire.available())
{
rd=Wire.read();
}
br=map(rd,1,255,1,255);
}
if (br<80)
{
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("TERANG");
}
else if (br<100){
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("REDUP ");
}
else if (br<120){
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DILUAR");
lcd.setCursor(0,1);
lcd.print("GELAP ");
}
else {
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DI LUAR");
lcd.setCursor(0,1);
lcd.print("SANGAT GELAP");
}
delay(50);
}
Rangkaian modul 4 ini bertujuan untuk merancang kandang ayam yang dapat mengatur dan mempertahankan intensitas cahaya di dalamnya secara otomatis. Pada simulasi rangkaian ini digunakan 2 buah arduino uno, 2 buah sensor LDR (Light Dependent Resistor), 5 buah LED (Light Emitting Diode), 1 buah LCD (Liquid Crystal Display), dan 1 buah sounder. Prinsip kerja rangkaian simulasi secara umum ialah LDR 1 pada rangkaian ini berfungsi untuk mendeteksi cahaya di luar kandang ayam, sedangkan LDR 2 digunakan untuk mendeteksi cahaya di dalam kandang ayam. Cahaya yang diterima LDR 1 dibedakan ke lima kondisi yaitu terang, redup, gelap, dan sangat gelap, kondisi ini kemudian ditampilkan di LCD dan kemudian mempengaruhi jumlah LED yang hidup. Apabila LDR 1 menerima cukup cahaya maka pada LCD akan diberitahukan bahwa ‘di luar cahaya terang’ dan hanya 1 buah LED yang hidup. Jika cahaya yang diterima LDR 1 redup maka akan hidup 2 buah LED, Jika cahaya yang diterima LDR 1 gelap maka akan hidup 3 buah LED, dan jika cahaya yang diterima LDR 1 sangat gelap maka akan hidup kelima LED. Apabila cahaya diluar sangat gelap dan kelima LED telah hidup namun cahaya di dalam kandang ayam tidak dirasakan oleh sensor LDR 2 atau dengan kata lain di dalam kandang ayam gelap maka sounder akan hidup.
Arduino master dan slave pada rangkaian simulasi ini dihubungkan menggunakan komunikasi I2C (Inter Integrated Circuit) yang merupakan komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data, yaitu dengan menghubungkan kedua pin A4 (SDA/Serial data) dan A5 (SCL/Serial clock) kedua arduino. LDR 1 dihubungkan ke pin input analog A0 dan LDR 2 ke pin input A1 arduino master. Output pada rangkaian simulasi ini ada tiga yaitu LCD, LED, dan sounder. LED dihubungkan ke pin digital arduino slave yaitu pin 8, 9, 10, 12, dan 13. LCD dihubungkan ke pin digital arduino slave yaitu pin 0, 1, 2, 3, 4, 5, 6, 7. Sounder dihubungkan ke pin digital arduino master yaitu pin 11. Nilai intensitas cahaya yang diterima oleh LDR 1 akan mempengaruhi resistansi LDR tersebut. akibatnya tegangan yang di lewatkan oleh LDR 1 akan berubah sesuai dengan perubahan resistansi LDR1 akibat intensitas cahaya yang ia terima. Tegangan yang dilewatkan akan dibaca oleh pin A0 arduino master dan pada arduino akan diubah menjadi nilai digital. Rentang data yang dihasilkan dari nilai digital tersebut yaitu antara 1-1024, sedangkan data yang dapat dibaca arduino hanya rentang 0-255, maka untuk mengubah rentang nilai digital tersebut dilakukan mapping. Hasil mapping ini akan di beri nama variabel map pada listing program arduino dan dikirimkan ke arduino slave. Kemudian variable map akan menajdi variable br. Kemudian pada listing program slave diberikan kondisi berikut.
if (br<80), maka pada LCD ditampilkan di luar terang dan hanya 1 buah LED yang hidup.
else if (br<100), maka pada LCD ditampilkan di luar redup dan 2 buah LED yang hidup.
else if (br<120), maka pada LCD ditampilkan di luar gelap dan hanya 2 buah LED yang hidup.
Selain itu maka ditampilkan di luar sangat gelap dan hidup kelima LED
Download Video Praktikum click here
Download Program Arduino Master click here
Tidak ada komentar:
Posting Komentar