Modul 4 (Project Demo)

MODUL 4 ( PROJECT DEMO )

 
[KEMBALI KE MENU SEBELUMNYA]



Alarm Anti Maling

1. Judul [kembali]
Alarm Anti Maling

2. Tujuan [kembali]
Rancangan ini digunakan untuk mendeteksi adanya maling di museum. Alarm ini diletakkan di sekitar barang yang dipajang di museum.

3. Daftar Alat dan Komponen [kembali]

-          Arduino uno

-          Sensor ultrasonic

-          Sensor infrared

-          Motor servo

-          LCD 16 x 2

-          LED red

-          LED green

-          Buzzer

-          Baterai 12v

-          Relay

-          Transistor

-          Diode

-          Resistor

-          Lampu

-          Sumber AC

-          Potensiometer

-          Logicstate



4. Landasan Teori [kembali]

1. Komunikasi UART
UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.

Cara Kerja Komunikasi UART

Gambar 1. Komunikasi UART

Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.

2. Arduino Uno
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip 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 2. 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.

3. Sensor Ultrasonik

Gambar 3. Sensor Ultrasonik

Sensor ini merupakan sensor ultrasonik siap pakai, satu alat yang berfungsi sebagai pengirim, penerima, dan pengontrol gelombang ultrasonik. Alat ini bisa digunakan untuk mengukur jarak benda dari 2cm - 4m dengan akurasi 3mm. Alat ini memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo. Pin Vcc untuk listrik positif dan Gnd untuk ground-nya. Pin Trigger untuk trigger keluarnya sinyal dari sensor dan pin Echo untuk menangkap sinyal pantul dari benda.

Gambar 4. Pantulan Ultrasonik

Cara menggunakan alat ini yaitu: ketika kita memberikan tegangan positif pada pin Trigger selama 10uS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz. Selanjutnya, sinyal akan diterima pada pin Echo. Untuk mengukur jarak benda yang memantulkan sinyal tersebut, maka selisih waktu ketika mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut.

Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04
Gambar 5. Visualisasi Sinyal

Nilai jarak dapat diperoleh melalui rumus berikut ini:

Jarak (cm) = Lama Waktu Pantul (uS) / 29.034 / 2

Rumus jarak didapat dari pembagian lama waktu pantul dengan kecepatan gelombang ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi dua kali jarak tempuh antara sensor dengan objek. Yaitu pada saat gelombang dipancarkan dari transmitter ke objek dan pada saat gelombang memantul ke receiver ultrasonik.

Grafik Respon Sensor:

Gambar 6. Grafik Respon


4. Sensor Infrared
Gambar 7. Infrared

Sensor IR (Infrared) adalah sebuah sensor yang dapat mendeteksi rintangan menggunakan cahaya inframerah yang dipantulkan. Sensor ini mempunyai dua bagian utama yaitu IR emitter dan IR receiver. Emitter bertugas memantulkan inframerah ke rintangan atau objek kemudian akan dipantulkan dan diterima oleh receiver. Ketika inframerah mengenai sebuah objek, kondisinya akan LOW dan begitu juga sebaliknya.

Dalam komponen tersebut terdapat 2 sensor infrared yang masing-masing berfungsi sebagai pemancar dan penerima, bentuknya seperti LED kecil, dari gambar diatas dapat dilihat Infrared yang berwarna biru berfungsi sebagai pemancar cahaya, dan yang berwarna hitam berfungsi sebagai penerima cahayanya

Gambar 8. Pemancar dan Penerima Infrared

Dari gambar diatas dapat kita pahami bahwa ketika sensor dihadapkan dengan benda yang dapat merefleksikan cahaya maka cahaya, maka cahaya akan diteruskan kepada sensor receiver. Jika sensor dihadapkan dengan benda yang tidak dapat merefleksikan cahaya, maka cahaya InfraRed tidak akan diteruskan.

Dari hasil percobaan yang dilakukan, keluaran dari sensor akan bernilai high ketika dihadapkan dengan warna yang tidak dapat merefleksikan cahaya, misalnya dengan warna hitam. kemudian pada saat dihadapkan dengan benda/warna yang tidak dapat merefleksikan cahaya keluaran dari sensor bernilai LOW.

Grafik Respon Infrared:

Gambar 9. Grafik Respon Infrared


5. Motor Servo

Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.

Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan sederhananya begini, posisi poros output akan di sensor untuk mengetahui posisi poros sudah tepat seperti yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol loop tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup, seperti penyetelan suhu pada AC, kulkas, setrika dan lain sebagainya.

Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio kontrol, robot, pesawat, dan lain sebagainya.

Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC lebih dapat menangani arus yang tinggi atau beban berat, sehingga sering diaplikasikan pada mesin-mesin industri. Sedangkan motor servo DC biasanya lebih cocok untuk digunakan pada aplikasi-aplikasi yang lebih kecil. Dan bila dibedakan menurut rotasinya, umumnya terdapat dua jenis motor servo yang dan terdapat di pasaran, yaitu motor servo rotation 180⁰ dan servo rotation continuous.

Motor servo standard (servo rotation 180⁰) adalah jenis yang paling umum dari motor servo, dimana putaran  poros outputnya terbatas hanya 90⁰ kearah kanan dan 90⁰ kearah kiri. Dengan kata lain total putarannya hanya setengah lingkaran atau 180⁰.

Motor servo rotation continuous merupakan jenis motor servo yang sebenarnya sama dengan jenis servo standard, hanya saja perputaran porosnya tanpa batasan atau dengan kata lain dapat berputar terus, baik ke arah kanan maupun kiri.

Prinsip Kerja

Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam).
Gambar 10. Pulsa Motor Servo

Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya (rating torsi servo). Namun motor servo tidak akan mempertahankan posisinya untuk selamanya, sinyal lebar pulsa kendali harus diulang setiap 20 ms (mili detik) untuk menginstruksikan agar posisi poros motor servo tetap bertahan pada posisinya.

6. LCD 16x2

Gambar 11. 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 12. Penampang Komponen 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.


7. LED

Gambar 13. LED

LED (Light Emitting Diode) atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. Pada praktikum ini digunakan LED berwarna hijau yang terbuat dari bahan semikonduktor Aluminium Gallium Phosphide (AlGaP) dengan wavelength 550-570 nm dan LED merah dengan panjang gelombang 620-740 nm.

Bentuk LED mirip dengan sebuah bohlam (bola lampu) yang kecil dan dapat dipasangkan dengan mudah ke dalam berbagai perangkat elektronika. Berbeda dengan Lampu Pijar, LED tidak memerlukan pembakaran filamen sehingga tidak menimbulkan panas dalam menghasilkan cahaya.

Cara kerja dari LED, seperti dikatakan sebelumnya, LED merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.

LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).

LED atau Light Emitting Diode yang memancarkan cahaya ketika dialiri tegangan maju ini juga dapat digolongkan sebagai Transduser yang dapat mengubah Energi Listrik menjadi Energi Cahaya.

8. Buzzer
Gambar 14. Buzzer

Buzzer Listrik adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Pada umumnya, Buzzer yang merupakan sebuah perangkat audio ini sering digunakan pada rangkaian anti-maling, Alarm pada Jam Tangan, Bel Rumah, peringatan mundur pada Truk dan perangkat peringatan bahaya lainnya. Jenis Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric, hal ini dikarenakan Buzzer Piezoelectric memiliki berbagai kelebihan seperti lebih murah, relatif lebih ringan dan lebih mudah dalam menggabungkannya ke Rangkaian Elektronika lainnya. Buzzer yang termasuk dalam keluarga Transduser ini juga sering disebut dengan Beeper.

9. Baterai
Gambar 15. Baterai

Battery adalah sebuah alat yang dapat merubah energi kimia yang disimpannya menjadi energi Listrik yang dapat digunakan oleh suatu perangkat elektronik. Dalam betrai ion litium berpindah dari elektroda negatif ke melalui elektrolit ke elektroda positif selama pengosongan dan kembali pada saat pengisian. Baterai Li-ion menggunakan senyawa litium selingan sebagai bahan di elektroda positif dan biasanya grafit di elektroda negatif.

10. Relay
Gambar 16. Relay

Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. 

11. Transistor

Gambar 17. Transistor

Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung arus (switching), stabilisasi tegangan, dan modulasi sinyal.

12. Dioda

Gambar 18. Dioda

Dioda (Diode) adalah Komponen terbuat dari bahan semikonduktor dan mempunyai fungsi untuk menghantarkan arus listrik ke satu arah tetapi menghambat arus listrik dari arah sebaliknya. Karena sifatnya yang dapat menghantarkan arus listrik ke satu arah (forward bias) dan menghambat arus listrik dari arah sebaliknya (reverse bias), dioda sering digunakan sebagai penyearah atau catu daya.

13. Resistor

Resistor merupakan salah satu komponen yang paling sering ditemukan dalam Rangkaian Elektronika. Hampir setiap peralatan Elektronika menggunakannya. Pada dasarnya Resistor adalah komponen Elektronika Pasif yang memiliki nilai resistansi atau hambatan tertentu yang berfungsi untuk membatasi dan mengatur arus listrik dalam suatu rangkaian Elektronika. Resistor atau dalam bahasa Indonesia sering disebut dengan Hambatan atau Tahanan dan biasanya disingkat dengan Huruf “R”. Satuan Hambatan atau Resistansi Resistor adalah OHM (Ω).

Cara menghitung nilai resistor :

Nilai Resistor yang berbentuk Axial adalah diwakili oleh Warna-warna yang terdapat di tubuh (body) Resistor itu sendiri dalam bentuk Gelang. Umumnya terdapat 4 Gelang di tubuh Resistor, tetapi ada juga yang 5 Gelang.

Gelang warna Emas dan Perak biasanya terletak agak jauh dari gelang warna lainnya sebagai tanda gelang terakhir. Gelang Terakhirnya ini juga merupakan nilai toleransi pada nilai Resistor yang bersangkutan.

Tabel dibawah ini adalah warna-warna yang terdapat di Tubuh Resistor :

Perhitungan :

14. Lampu
Lampu Listrik adalah suatu perangkat yang dapat menghasilkan cahaya saat dialiri arus listrik. Arus listrik yang dimaksud ini dapat berasal tenaga listrik yang dihasilkan oleh pembangkit listrik terpusat (Centrally Generated Electric Power) seperti PLN dan Genset ataupun tenaga listrik yang dihasilkan oleh Baterai dan Aki.
Simbol Lampu :
Gambar 19. Simbol Lampu

Seiring dengan perkembangan Teknologi, Lampu Listrik juga telah mengalami berbagai perbaikan dan kemajuan. Teknologi Lampu Listrik bukan saja Lampu Pijar yang ditemukan oleh Thomas Alva Edison saja namun sudah terdiri dari berbagai jenis dan Teknologi. Pada dasarnya, Lampu Listrik dapat dikategorikan dalam Tiga jenis yaitu Incandescent Lamp (Lampu Pijar), Gas-discharge Lamp (Lampu Lucutan Gas) dan Light Emitting Diode (Lampu LED).

15. Sumber AC

Gambar 20. Sumber AC

Sumber arus listrik AC kependekan dari Alternating Current, dikenal dengan arus bolak-balik karena merupakan sumber arus yang dihasilkan oleh generator dan PLN. Arus AC ini dikatakan bolak-balik karena arus yang mengalir tidak tetap yaitu dari positif ke negatif dan dari negatif ke positif. Arus listrik AC akan membentuk suatu gelombang yang dinamakan dengan gelombang sinus atau lebih lengkapnya sinusoida. Di Indonesia sendiri listrik bolak-balik (AC) dipelihara dan berada dibawah naungan PLN, Indonesia menerapkan listrik bolak-balik dengan frekuensi 50Hz. Tegangan standar yang diterapkan di Indonesia untuk listrik bolak-balik 1 (satu) fasa adalah 220 volt.


16. Potentiometer
Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya. Gambar dibawah ini menunjukan Struktur Internal Potensiometer beserta bentuk dan Simbolnya.
Gambar 21. Potensiometer

Pada dasarnya bagian-bagian penting dalam Komponen Potensiometer adalah :

- Penyapu atau disebut juga dengan Wiper

- Element Resistif

- Terminal

Prinsip Kerja:

Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur naik-turunnya Nilai Resistansi sebuah Potensiometer.

Elemen Resistif pada Potensiometer umumnya terbuat dari bahan campuran Metal (logam) dan Keramik ataupun Bahan Karbon (Carbon). Berdasarkan Track (jalur) elemen resistif-nya, Potensiometer dapat digolongkan menjadi 2 jenis yaitu Potensiometer Linear (Linear Potentiometer) dan Potensiometer Logaritmik (Logarithmic Potentiometer).

Fungsi

Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer sering digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai berikut :

- Sebagai pengatur Volume pada berbagai peralatan Audio/Video seperti Amplifier, Tape Mobil, DVD Player.

- Sebagai Pengatur Tegangan pada Rangkaian Power Supply

- Sebagai Pembagi Tegangan

- Aplikasi Switch TRIAC

- Digunakan sebagai Joystick pada Tranduser

- Sebagai Pengendali Level Sinyal

17. Logicstates
Gambar 22. Logicstate

Pemberi logika pada simulasi sensor. Pengertian logis, benar atau salah, dari sinyal biner yang diberikan.Sinyal biner adalah sinyal digital yang hanya memiliki dua nilai yang valid. Dalam istilah fisik, pengertian logis dari sinyal biner ditentukan oleh level tegangan atau nilai arus sinyal, dan ini pada gilirannya ditentukan oleh teknologi perangkat. Dalam sirkuit TTL, misalnya, keadaan sebenarnya diwakili oleh logika 1, kira-kira sama dengan +5 volt pada garis sinyal; logika 0 kira-kira 0 volt. Tingkat tegangan antara 0 dan +5 volt dianggap tidak ditentukan.
Karena hanya dua status logika, logika 1 dan logika 0, yang dimungkinkan, teknik aljabar Boolean dapat digunakan untuk menganalisis rangkaian digital yang melibatkan sinyal biner. Istilah logika positif diterapkan ke sirkuit di mana logika 1 ditetapkan ke level tegangan yang lebih tinggi; Dalam rangkaian logika negatif, logika 1 ditunjukkan dengan level tegangan yang lebih rendah.Lihat juga logika multinilai.


5. Flowchart [kembali]
MASTER











SLAVE



6. Listing Program [kembali]

MASTER

//MASTER

#include <LiquidCrystal.h>

#define trigPin 10

#define echoPin 13

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int S1 = 6;

int S2 = 7;

int S3 = 8;

int S4 = 9;

 

void setup()        //Semua kode dalam fungsi ini dieksekusi sekali

{

  lcd.begin(16, 2);

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(S1, INPUT);

  pinMode(S2, INPUT);

  pinMode(S3, INPUT);

  pinMode(S4, INPUT);

  Serial.begin(9600); //Set baud rate 9600

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("Kelompok 11");

  delay(1000);

}

 

void loop()         //Semua kode dalam fungsi ini dieksekusi berulang

{

   long duration, distance;

   digitalWrite(trigPin, LOW);

   delayMicroseconds(2);

   digitalWrite(trigPin, HIGH);

   delayMicroseconds(10);

   digitalWrite(trigPin, LOW);

   duration = pulseIn(echoPin, HIGH);

   distance = (duration/2) / 29.1;

   int S1 = digitalRead(6);

   int S2 = digitalRead(7);

   int S3 = digitalRead(8);

   int S4 = digitalRead(9);

    if (S1 == HIGH)

  {

    Serial.print("a");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (S2==HIGH)

  {

    Serial.print("b");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (S3==HIGH)

  {

    Serial.print("c");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (S4==HIGH)

  {

    Serial.print("d");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (distance < 100)

  {

    Serial.print("e");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (S1 == HIGH && S2 == HIGH)

  {

    Serial.print("f");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S3 == HIGH)

  {

    Serial.print("g");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S4 == HIGH)

  {

    Serial.print("h");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S1 == HIGH && distance <100)

  {

    Serial.print("i");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

     else if (S2 == HIGH && S3 == HIGH)

  {

    Serial.print("j");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S2 == HIGH && S4 == HIGH)

  {

    Serial.print("k");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (S2 == HIGH && distance <100)

  {

    Serial.print("l");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S3 == HIGH && S4 == HIGH)

  {

    Serial.print("m");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

    else if (S3 == HIGH && distance <100)

  {

    Serial.print("n");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S4 == HIGH && distance <100)

  {

    Serial.print("o");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S2==HIGH && S3 == HIGH)

  {

    Serial.print("p");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S2==HIGH && S4 == HIGH)

  {

    Serial.print("q");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S2==HIGH && distance < 100)

  {

    Serial.print("r");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S3==HIGH && S4 == HIGH)

  {

    Serial.print("s");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S3==HIGH && distance < 100)

  {

    Serial.print("t");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S4==HIGH && distance < 100)

  {

    Serial.print("u");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S2 == HIGH && S3==HIGH && S4 == HIGH)

  {

    Serial.print("v");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S2 == HIGH && S3 ==HIGH && distance < 100)

  {

    Serial.print("w");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S2 == HIGH && S4 == HIGH && distance < 100)

  {

    Serial.print("x");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S3 == HIGH && S4 == HIGH && distance < 100)

  {

    Serial.print("y");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S2 == HIGH && S3 == HIGH && S4 == HIGH)

  {

    Serial.print("z");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S2 == HIGH && S3 == HIGH && distance < 100)

  {

    Serial.print("1");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S2 == HIGH && S4 == HIGH && distance < 100)

  {

    Serial.print("2");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S1 == HIGH && S3 == HIGH && S4 == HIGH && distance < 100)

  {

    Serial.print("3");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else if (S2 == HIGH && S3 == HIGH && S4 == HIGH && distance < 100)

  {

    Serial.print("4");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

   else if (S1 == HIGH && S2==HIGH && S3==HIGH && S4==HIGH && distance < 100)

  {

    Serial.print("5");

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("ADA MALING");

    delay(10);

  }

  else {

    Serial.print("6");

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("AMAN");

    delay(10);

  }

}

 

SLAVE

//SLAVE

#include <Servo.h>

#define relay1 2

#define led1 4

#define relay2 7

#define led2 8

#define relay3 A0

#define led3 6

Servo servo1;

Servo servo2;

 

void setup()    //Semua kode dalam fungsi ini dieksekusi sekali

{

  //Deklarasi LED sebagai output

  pinMode(led1,OUTPUT);

  pinMode(relay1, OUTPUT);

  pinMode(led2,OUTPUT);

  pinMode(relay2, OUTPUT);

  pinMode(relay3,OUTPUT);

  pinMode(led3,OUTPUT);

  servo1.attach(9);

  servo2.attach(10);

  Serial.begin(9600);           //Set baud rate 9600

}

 

void loop()                          //Semua program dalam fungsi ini dieksekusi berulang

{

  digitalWrite(relay3, HIGH);

  if(Serial.available()>0)

  {

    int data = Serial.read();

    if(data=='a')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

      }

    else if(data=='b')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

      }

    else if(data=='c')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

      }

    else if(data=='d')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

      }

    else if(data=='b')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='e')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='f')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='g')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='h')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='i')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='j')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='k')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='l')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='m')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='n')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='o')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='p')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='q')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='r')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='s')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='t')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='u')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='v')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='w')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='x')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='y')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='z')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='1')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='2')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='3')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='4')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }

    else if(data=='5')//Jika data yang dikirimkan berlogika

    {

      //ADA MALING

      servo1.write(5);

      servo2.write(5);

      digitalWrite(led1, HIGH);

      digitalWrite(relay1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(relay2, HIGH);

      digitalWrite(led3, LOW);

      delay(500);

    }                          

    else

    {

      //AMAN

      servo1.write(95);

      servo2.write(95);

      digitalWrite(led1, LOW);

      digitalWrite(relay1, LOW);

      digitalWrite(led2, LOW);

      digitalWrite(relay2, LOW);

      digitalWrite(led3, HIGH);

      delay(500);

      }

   }

}



7. Rangkaian Simulasi [kembali]

Rangkaian Sebelum Disimulasikan

Gambar 23. Rangkaian sebelum disimulasikan

Ketika Ada Maling
Gambar 24. Rangkaian Ketika ada maling

Ketika Kondisi Aman

Gambar 25. Rangkaian Ketika Kondisi aman


8. Video Simulasi [kembali]




9. Analisa [kembali]

Rangkaian project demo ini merupakan rangkaian simulasi alarm anti maling yang digunakan untuk mencegah terjadinya pencurian barang berharga yang terdapat pada suatu museum. Rangkaian ini menggunakan komunikasi UART. UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal. Pada rangkaian alarm anti maling ini menggunakan 2 buah arduino yang berfungsi sebagai master dan slave, 4 buah sensor infrared, dan 1 buah sensor ultrasonik. Sensor infrared diletakkan pada empat sudut lemari kaca masing – masing 1 untuk setiap sudutnya tempat diletakkannya barang berharga yang di pajang pada museum tersebut sedangkan sensor ultrasonik akan diletakkan pada bagian atas lemari kaca. Untuk hasil output dari sensor ini ditampilkannya tulisan pada LCD, selanjutnya berbunyi atau tidaknya buzzer, kemudian pergerakan motor servo, dan hidupnya LED red, LED green, dan lampu sorot yang tergantung terhadap kondisi yang terjadi.

Pada simulasi ini menggunakan 2 arduino yang bertindak sebagai master dan slave yang menggunakan komunikasi antar arduino yaitu Komunikasi Serial Wireless yang berkomunikasi secara Asynchronous Receiver Transmitter (UART). Berdasarkan prinsip dari komunikasi UART pin receiver dan transmitter dari arduino master akan dihubungkan ke pin receiver dan transmitter dari arduino slave. Pada rangkaian ini pin 6, 7, 8, dan 9 pada arduino master dihubungkan pada masing-masing sensor infrared. Selanjutnya Pin 10 dan 13 arduino master dihubungkan ke pin trigger dan echo dari sensor ultrasonik. Selanjutnya Pin 2, 3, 4, 5, 10, dan 11 arduino master dihubungkan ke LCD untuk menampilkan output. Kemudian untuk arduino slavenya, pin 9 dan 10 dihubungkan ke motor servo. Pin 4, 6, dan 7 dihubungkan ke LED melalui resistor. Pin 2 dan 3 dihubungkan ke buzzer sedangkan pin A0 dihubungkan ke lampu dengan sebelumnya melewati dioda, transistor, dan relay.

Pada rangkaian ini resistor dihubungkan sebelum LED karena resistor berperan sebagai hambatan, hal ini bertujuan agar arus yang mengalir menuju LED sesuai dengan kapasitas tegangan dari LED. Selanjutnya untuk buzzer dan lampu digunakan transistor dan relay. Transistor pada rangkaian ini berfungsi sebagai switch. Saat tegangan pada kaki basis transistor bernilai > 0,7 V maka arus akan mengalir dari kaki kolektor ke kaki emitor, sehingga menyebabkan transistor ON dan relay akan hidup. Dan begitu juga sebaliknya, jika tegangan pada kaki basis transistor < 0,7 V maka arus tidak mengalir dari kaki kolektor ke kaki emitor, sehingga menyebabkan transistor OFF dan relay tidak hidup

Untuk listing program pada master, bagian pertama yaitu mendeklarasikan library LCD serta pin-pin yang digunakan pada arduino master. Selanjutnya fungsi void setup, semua fungsi yang ada pada void setup hanya dieksekusi sekali. Untuk rangkaian ini, void setup akan mendeklarasian input dan output pada pin-pin arduino master sehingga pada LCD akan tampil tulisan yaitu “kelompok 11”. Selanjutnya untuk fungsi void loop, merupakan fungsi yang akan diajalankan secara berulang. akan dilakukan pembacaan terhadap input dari sensor infrared yang menuju ke arduino, kemudian akan mengirim sinyal LOW dan HIGH ke pin trigger pada sensor ultrasonik, dan melakukan perhitungan jarak dengan menggunkan rumus (duration/2)/29,1. Duration diperoleh dari sinyal yang masuk ke pin echo. Terdapat beberapa kondisi yang di if dan else if yang ditulis untuk mendeklarasikan beberapa kondisi pada sensor. Sebagai contoh apabila semua sensor infrared berlogika LOW dan pada ultrasonik jarak yang terukur besar dari 100 cm, maka pada LCD akan tampil tulisan “Aman” kemudian arduino master akan mengirim karakter “6” ke arduino slave. Untuk contoh selanjutnya jika pada kondisi 3 sensor infrared berlogika HIGH dan pada ultrasonik jarak yang terukur kurang dari 100 cm. Pada kondisi ini, pada LCD akan menampilkan tulisan “Ada maling” kemudian arduino master akan mengirim karakter “1” ke arduino slave yang nantinya akan memberikan perintah output berupa menghidupkan LED red dan buzzer.

Untuk listing program slave, pertama mendeklarasikan library motor servo dan pin-pin arduino yang digunakan. Pada fungsi void setup, deklarasikan penggunaan pin-pin arduino slave baik sebagai input atau output. Pada fungsi void loop, pada bagian pertama terdapat program untuk menghidupkan lampu yang digunakan sebagai lampu sorot. Kemudian arduino slave akan memeriksa apakah ada data yang dikirim dari arduino master, jika ada akan masuk ke perulangan if. Sebagai contoh, jika arduino master mengirim karakter “6”, maka LED green akan hidup, kedua LED red akan mati, kedua motor servo tidak akan bergerak, dan kedua buzzer tidak berbunyi. Apabila arduino master mengirim karakter “1”, maka LED green akan mati, kedua LED red akan hidup, kedua buzzer akan berbunyi, dan kedua motor servo akan bergerak ke satu arah untuk menutup pintu dan menurunkan benda museum untuk diamankan.


10. Link Download [kembali]

Download file rangkaian - Disini

Download video simulasi - Disini

Download program arduino master - Disini

Download program arduino slave - Disini

Download library arduino uno -Disini

Download library sensor ultrasonik - Disini

Download library sensor infrared - Disini

Download datasheet arduino - Disini

Download datasheet sensor ultrasonik - Disini

Download datasheet sensor infrared - Disini

Download datasheet dioda 1N4007 - Disini

Download datasheet transistor 2N2222 - Disini

Download datasheet LCD - Disini

Download datasheet motor servo - Disini

Download HTML - Disini


Tidak ada komentar:

Posting Komentar