Laporan Akhir Modul 4 Praktikum Mikroprosesor dan Mikrokontroler





PROJECT DEMO
Otomatisasi Kestabilan Intensitas Cahaya pada Kandang Ayam dengan Sensor LDR

1. Tujuan 
Merancang kandang ayam yang dapat mengatur dan mempertahankan intensitas cahaya di dalamnya secara otomatis.












1.        Light Dependent Resistor (LDR)

Light Dependent Resistor atau disingkat dengan LDR adalah jenis Resistor yang nilai hambatan atau nilai resistansinya tergantung pada intensitas cahaya yang diterimanya. Nilai Hambatan LDR akan menurun pada saat cahaya terang dan nilai Hambatannya akan menjadi tinggi jika dalam kondisi gelap. Dengan kata lain, fungsi LDR (Light Dependent Resistor) adalah untuk menghantarkan arus listrik jika menerima sejumlah intensitas cahaya (Kondisi Terang) dan menghambat arus listrik dalam kondisi gelap.
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.

Bagian-bagian LDR:


Grafik respon LDR :

Intensitas cahaya berbanding terbalik dengan resistansi LDR

 

2.        LED

LED adalah suaatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.

 

3.        Buzzer


Buzzer Elektronika adalah sebuah komponen elektronika yang dapat menghasilkan getaran suara berupa gelombang bunyi. Buzzer elektronika akan menghasilkan getaran suara ketika diberikan sejumlah tegangan listrik dengan taraf tertentu sesuai dengan spesifikasi bentuk dan ukuran buzzer elektronika itu sendiri. Pada umumnya, buzzer elektronika ini sering digunakan sebagai alarm karena penggunaannya yang cukup mudah yaitu dengan memberikan tegangan input maka buzzer elektronika akan menghasilkan getaran suara berupa gelombang bunyi yang dapat didengar manusia.

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)

Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk

menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter).



Gambar Penampang komponen penyusun LCD

Keterangan:

1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.

2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).

3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).

4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).

5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.

6. Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.

Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia.

 


Kaki-kaki yang terdapat pada LCD


5.        Arduino

Arduino adalah kit elektronik atau papan rangkaian elektronik open sourcyang di dalamnya terdapat komponen utama yaitu sebuachip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.

Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :

 

Gambar 1.4. 1 Arduino Uno

 

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

RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory)

ROM

ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.


a. Master


Flowchart Master

b. Slave
Flowchart Slave

[kembali]

5. Listing Program 
a. Master
#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. 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);
}
Prinsip Kerja :

Rangkaian ini menggunakan dua buah sensor LDR, dua buah Arduino UNO, LCD 16x2, lima buah LED, dan sebuah sounder. LDR 1 terhubung ke pin analog A0 pada Arduino master, sedangkan LDR 2 terhubung ke pin analog A1. Rangkaian simulasi ini menggunakan dua arduino dengan komunikasi I2C (Inter Intergrated Circuit), artinya proses pertukaran data sepenuhnya diatur oleh arduino master. Pada kondisinya, LDR 1 diletakkan di luar ruangan, sedangkan LDR 2 diletakkan di dalam ruangan. Intensitas cahaya yang diterima oleh sensor LDR 1 akan ditampilkan pada LCD dan mempengaruhi lima LED yang ada di dalam kotak, sedangkan intensitas cahaya yang diterima LDR 2 akan mempengaruhi kondisi sounder.

Pada sensor LDR, semakin besar intensitas cahaya yang diterima, maka semakin kecil pula nilai hambatan pada LDR tersebut, sehingga arus listrik dapat mengalir. Besar nilai intensitas cahaya yang diterima pada LDR 1 akan dikirimkan melalui pin analog Arduino master dalam bentuk sinyal analog. Nantinya sinyal tersebut akan diubah ke bentuk sinyal digital dan dikirimkan datanya ke arduino slave untuk menampilkan keterangan pada LCD dan menghidupkan LED dengan ketentuan :

    • Pada LCD ditampilkan “DI LUAR TERANG” dan menghidupkan satu buah LED ketika nilai intensitas cahaya sangat tinggi.
    • Pada LCD ditampilkan “DI LUAR REDUP” dan menghidupkan dua buah LED ketika nilai intensitas cahaya cukup tinggi.
    • Pada LCD ditampilkan “DI LUAR GELAP” dan menghidupkan tiga buah LED ketika nilai intensitas cahaya sedikit.
    • Pada LCD ditampilkan “DI LUAR SANGAT GELAP” dan menghidupkan lima buah LED ketika nilai intensitas cahaya sangat sedikit atau tidak ada sama sekali.

Perbedaan jumlah LED yang hidup tersebut akan menjadi nilai inputan atau intensitas cahaya untuk LDR 2. Nilai intensitas cahaya yang diterima tersebut nantinya akan masuk ke pin analog A1 arduino master sebagai sinyal analog. Pada Arduino master, sinyal tersebut akan dibandingkan menjadi sinyal digital dan dikeluarkan melalui pin 11 menuju sounder. Semakin banyak LED yang hidup, maka semakin tinggi intensitas cahaya yang diterima LDR 2, sehingga sounder akan diam. Sebaliknya, ketika LED yang hidup semakin sedikit, maka semakin sedikit pula intensitas cahaya yang diterima LDR 2, sehingga sounder akan mengeluarkan suara. 


Rangkaian ini bertujuan untuk mengotomasisasi dalam menstabilkan cahaya dalam sebuah kandang anak ayam. Terdapat dua buah sensor LDR yang diletakkan di luar kandang (LDR 1) dan di dalam kandang (LDR 2). Adanya dua buah arduino UNO menandakan bahwa digunakan komunikasi untuk menjalankan rangkaian tersebut, yang mana jenis komunikasi yang digunakan adalah I2C. Artinya, proses pertukaran data sepenuhnya diatur oleh arduino master. Intensitas cahaya yang diterima oleh sensor LDR 1 akan ditampilkan pada LCD dan mempengaruhi lima LED yang ada di dalam kotak, sedangkan intensitas cahaya yang diterima LDR 2 akan mempengaruhi speaker.

Ketika keadaan di luar kandang anak ayam terang, maka LDR 1 akan menerima sejumlah intensitas cahaya. Sesuai dengan prinsip kerjanya, semakin besar intensitas cahaya yang diterima, maka semakin kecil pula nilai hambatan pada LDR 1, sehingga arus listrik dapat mengalir. Besar nilai intensitas cahaya yang diterima pada LDR 1 akan dikirimkan melalui pin analog Arduino master dalam bentuk sinyal analog. Nantinya sinyal tersebut akan diubah ke bentuk sinyal digital dan dikirimkan datanya ke arduino slave. Sinyal yang dikeluarkan tersebut akan ditampilkan pada LCD dan mempengaruhi jumlah LED yang hidup dengan ketentuan :

a. Pada LCD ditampilkan “DI LUAR TERANG” dan menghidupkan satu buah LED ketika nilai intensitas cahaya sangat tinggi.

b. Pada LCD ditampilkan “DI LUAR REDUP” dan menghidupkan dua buah LED ketika nilai intensitas cahaya cukup tinggi.

c. Pada LCD ditampilkan “DI LUAR GELAP” dan menghidupkan tiga buah LED ketika nilai intensitas cahaya sedikit.

d. Pada LCD ditampilkan “DI LUAR SANGAT GELAP” dan menghidupkan lima buah LED ketika nilai intensitas cahaya sangat sedikit atau tidak ada sama sekali.

Sesuai dengan prinsip kerja LCD, ketika arus listrik diterapkan pada molekul kristal cair, molekul cenderung terlepas. Ini menyebabkan sudut cahaya yang melewati molekul kaca terpolarisasi dan juga menyebabkan perubahan sudut filter polarisasi atas. Akibatnya sedikit cahaya diperbolehkan melewati kaca terpolarisasi melalui area tertentu dari LCD. Dengan demikian, area tertentu akan menjadi gelap dibandingkan dengan yang lain. Begitupula dengan LED yang memiliki prinsip kerja mirip dengan diode 2 kutub, yang mana LED akan memancarkan cahaya ketika dialiri forward bias atau arus maju.

Perbedaan jumlah LED yang hidup di dalam kotak tersebut akan menjadi nilai inputan atau intensitas cahaya untuk LDR 2. Nilai intensitas cahaya yang diterima tersebut nantinya akan masuk ke pin analog arduino master sebagai sinyal analog. Pada Arduino master, sinyal tersebut akan dibandingkan menjadi sinyal digital dan dikeluarkan melalui pin 11 menuju speaker. Semakin banyak LED yang hidup, maka semakin tinggi intensitas cahaya yang diterima LDR 2, sehingga speaker akan diam. Sebaliknya, ketika LED yang hidup semakin sedikit, maka semakin sedikit pula intensitas cahaya yang diterima LDR 2, sehingga speaker akan mengeluarkan suara.

Download Rangkaian Simulasi [di sini]
Download Video Simulasi [di sini]
Download Program Arduino Master [di sini]
Download Program Arduino Slave [di sini]
Download Data Sheet Sensor LDR [di sini]
Download Library Arduino [di sini]
Download HTML [di sini]

Tidak ada komentar:

Posting Komentar