Modul 4 Project Demo Prak. Up & Uc

 [menuju akhir]



Modul 4 Project Demo





Rancangan ini digunakan untuk mendeteksi adanya maling di museum. Alarm ini diletakkan di sekitar barang yang dipajang di museum.

-          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


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

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 perusahaanAtmel. 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 :


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 ultrasonic

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.

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

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:

4.         Sensor 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

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:

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).

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 16 x 2

Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untukmenampilkan 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.




7.         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-570nm 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

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 12v

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

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.

Prinsip Kerja Relay

Pada dasarnya, Relay terdiri dari 4 komponen dasar  yaitu :

-          Electromagnet (Coil)

-          Armature

-          Switch Contact Point (Saklar)

-          Spring

Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :

-          Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi CLOSE (tertutup)

-          Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi OPEN (terbuka)

Berdasarkan gambar diatas, sebuah Besi (Iron Core) yang dililit oleh sebuah kumparan Coil yang berfungsi untuk mengendalikan Besi tersebut. Apabila Kumparan Coil diberikan arus listrik, maka akan timbul gaya Elektromagnet yang kemudian menarik Armature untuk berpindah dari Posisi sebelumnya (NC) ke posisi baru (NO) sehingga menjadi Saklar yang dapat menghantarkan arus listrik di posisi barunya (NO). Posisi dimana Armature tersebut berada sebelumnya (NC) akan menjadi OPEN atau tidak terhubung. Pada saat tidak dialiri arus listrik, Armature akan kembali lagi ke posisi Awal (NC). Coil yang digunakan oleh Relay untuk menarik Contact Poin ke Posisi Close pada umumnya hanya membutuhkan arus listrik yang relatif kecil.

11.     Transistor

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

12.     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 :

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

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.     Potensiometer

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.

                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.     Logicstate

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.


MASTER







SLAVE









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);

      }

   }

}

6. Rangkaian Simulasi[back]

Rangkaian sebelum disimulasikan

Ketika ada maling

Ketika aman

Project rangkaian ini dibuar bertujuan untuk mencegah terjadi pencurian barang di museum. Pada rangkaian ini menggunakan dua buah Arduino yang saling berkomunikasi, yaitu Arduino Master dan Arduino Slave. Kedua Arduino ini menggunakan komunikasi UART (Universal Asynchronous Receiver-Transmitter). UART sendiri adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. Rangkaian ini menggunakan 4 buah sensor Infrared dan 1 sensor Ultrasonik. Sensor Infrared sendiri diletakkan di sudut lemari kaca tempat barang museum dipajang, sedangkan sensor Ultrasonik dipasang dibagian atas dari lemari kaca. Output dari rangkaian ini berupa LCD, Motor Servo, LED Merah, LED Hijau, lampu sorot dan buzzer.

Di rangkaian ini sensor infrared terhubung  ke pin 6, 7, 8, 9 Arduino Master. Dan Pin 10 dan 13 dihubungkan ke sensor ultrasonik yaitu ke pin trigger dan pin echo. LCD yang menjadi output terhubung ke Pin 2, 3, 4, 5, 11, dan 12 Arduino Master. Pin receiver Arduino Master dihubungkan ke pin receiver Arduino Slave dan pin transmitter dari Arduino Master dihubungkan ke pin transmitter Arduino Slave.  Pada Arduino Slave, pin PWM yaitu pin 9 dan 10 dihubungkan ke motor servo. Disini motor servo berfungsi untuk menurunkan barang di museum atau menutup pintu. Pin 4, 6, dan 7 dihubungkan ke resistor kemudian ke LED. Pin 2 dan 3 dihubungkan transistor, relay, dan buzzer. Pin A0 dihubungkan  ke transistor, dioda, relay, dan lampu.

Untuk listing program pada Arduino Master, pertama yaitu kita mendeklarasikan library LCD dan pin-pin yang digunakan pada Arduino Master. Lalu untuk fungsi void setup, yaitu fungsi yang ada pada void setup ini hanya akan dieksekusi sekali. Disini void setup akan mendeklarasian input dan output pada pin-pin Arduino Master sehingga pada LCD akan tampil tulisan “kelompok 11”.

Kemudian untuk fungsi void loop, fungsi yang akan dijalankan secara berulang, dilakukan pembacaan terhadap masukan sensor infrared ke arduino, mengirim logika LOW dan HIGH ke pin trigger pada sensor ultrasonik, dan melakukan perhitungan jarak sensor ultrasonik dengan rumus (duration/2)/29,1. Disini Duration adalah sinyal yang masuk ke pin echo. Lalu terdapat beberapa perulangan kondisi yang dideklarasikan dengan if dan else if. Untuk contoh seperti pada kondisi dimana semua Sensor Infrared berlogika HIGH dan pada Sensor Ultrasonik jarak yang terukur kurang dari 100 cm. Pada kondisi ini, akan ditampilkan tulisan “Ada Maling” pada LCD kemudian Arduino Master akan mengirim karakter “n” ke Arduino Slave, lalu Arduino Slave akan memberikan perintah pada output. Namun jika semua sensor Infrared berlogika LOW dan Sensor Ultrasonik jarak yang terukur besar dari 100 cm, maka akan ditampilkan tulisan “Aman” pada LCD,  lalu Arduino Master akan mengirim karakter “6” ke Arduino Slave.

Pada listing program slave, dideklarasikan library motor servo  dan pin pin pada Arduino yang digunakan. Kemudian pada void setup, yaitu fungsi yang dieksekusi sekali, dideklarasikan pin pin yang menjadi input atau output pada Arduino Slave. Untuk void lood, yaitu fungsi yang dieksekusi berulang.  Bagian pertama adalah program untuk menghidupkan lampu yang berfungsi sebagai lampu sorot. Kemudian Arduino Slave akan mngecek apakah ada data yang dikirimkan oleh Arduino Master. Jika ada, maka program akan mengeksekusi perulangan if dengan beberapa kondisi. Sebagai contoh yaitu Ketika Arduino Master mengirimkan data karakter “n”, maka LED merah akan hidup dan LED hijau akan mati. Pada kondisi ini buzzer akan berbunyi dan motor servo akan bergerak satu arah, yaitu menurukan barang museum dan menutup pintu.

 


download file rangkaian di sini
download video di sini
download program arduino master di sini
download program arduino slave di sini
download library arduino uno di sini
download library sensor ultrasonik di sini
download library sensor infrared di sini
download datasheet arduino di sini
download datasheet sensor ultrasonik di sini
download datasheet sensor infrared di sini
download datasheet dioda 1N4007 di sini
download datasheet transistor 2N2222 di sini
download datasheet LCD di sini
download datasheet motor servo di sini
download html di sini


Tidak ada komentar:

Posting Komentar

MIKROPROSESOR DAN MIKROKONTROLER BAHAN PRESENTASI UNTUK MATAKULIAH MIKROPROSESOR DAN MIKROKONTROLER 2020 Oleh : MUHA...