UAS NO. 2




Lock Door System

1.     1. Dapat memahami cara kerja dan aplikasi Mikrokontroller 

2.  2. Mengimplementasikan Lock Door System menggunakan touch sensor, ultrasonic sensor dan keypad sebagai kunci pembuka pintu berbasis Arduino

3.     3. Mengimplementasikan komunikasi UART pada Lock Door System


 

1.     Arduino Uno

2.     Arduino Mega

3.     Ultrasonic Sensor

4.     LCD (LM016L)

5.     Papan Breadboard

6.     Jumper

7.     Touch Sensor

8.     Keypad

9.     Adaptor AC/DC 1 Volt




1.     Arduino Uno

Gambar 1.Arduino Uno

Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya. Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.

Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi  untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino.

SPESIFIKASI

Arduino Uno

Microcontroller

ATmega328P

Operating Voltage     

5V

Input Voltage (recommended)

7-12V

Input Voltage (limit)  

6-20V

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

(ATmega328P)

SRAM

2 KB (ATmega328P)

EEPROM       

1 KB (ATmega328P)

Clock Speed   

16 MHz

LED_BUILTIN

13

Length

68.6 mm

Width

53.4 mm

Weight

Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal (otomatis). Daya Eksternal (non-USB) dapat berasal baik dari AC-ke adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 V, jika diberi daya kurang dari 7 V kemungkinan pin 5 V Uno dapat beroperasi tetapi tidak stabil kemudian jika diberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.
Pin listrik adalah sebagai berikut:

a)     VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5volt koneksi USB atau sumber daya lainnya).

b)     5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.

c)     3v3. Sebuah pasokan 3,3volt dihasilkan oleh regulator on-board.

d)     GND. Ground pin.Input dan Output

Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode ()digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:

e)     Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.

f)      Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.

g)     PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().

h)     SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.

i)      LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off.

Arduino Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus:

j)      I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire.

k)     Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ().

l)      Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.

Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. Atmega328 menyediakan UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah Atmega8U2 sebagai saluran komunikasi serial melalui USB dan sebagai port virtual com untuk perangkat lunak pada komputer. Firmware ’8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf.

Perangkat lunak Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang akan dikirim komputer dari board Arduino. LED RX dan TX di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah SoftwareSerial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno. Atmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI


2.     Arduino Mega


Board Arduino Mega 2560 adalah sebuah Board Arduino yang menggunakan ic Mikrokontroler ATmega 2560.Board ini memiliki Pin I/O yang relatif banyak, 54 digital Input / Output,15 buah di antaranya dapat di gunakan sebagai output PWM, 16 buah analog Input, 4 UART. Arduino Mega 2560 di lengkapi kristal 16. Mhz Untuk penggunaan  relatif sederhana tinggal menghubungkan power dari USB ke PC / Laptop atau melalui Jack DC pakai adaptor 7-12 V DC.

Untuk lebih jelasnya dapat di lihat dari spesifikasi Arduino Mega 2560 di bawah ini :

Arduino Mega Pin/Out

 

Pin digital Arduino Mega2560 ada 54 Pin yang dapat di gunakan sebagai Input atau Output dan 16 Pin Analog berlabel A0 sampai A15 sebagai ADC, setiap Pin Analog memiliki resolusi sebesar 10 bit.Arduino Mega 2560 di lengkapi dengan pin dengan fungsi khusus,sebagai berikut :

  • Serial 4 buah : Port Serial : Pin 0 (RX) dan Pin 1 (TX) ;Port Serial 1 : Pin 19 (RX) dan Pin 18 (TX); Port Serial 2 : Pin 17 (RX) dan Pin 16 (TX); Port Serial 3 : Pin 15 (RX) dan Pin 14 (TX).Pin Rx di gunakan untuk menerima data serial TTL dan Pin (Tx) untuk mengirim data serial TTL
  • External Interrupts 6 buah : Pin 2 (Interrupt 0),Pin 3 (Interrupt 1), Pin 18 (Interrupt 5), Pin 19 (Interrupt 4), Pin 20 (Interrupt 3) dan Pin 21 (Interrupt 2)
  • PWM 15 buah : 2,3,4,5,6,7,8,9,10,11,12,13 dan 44,45,46 pin-pin tersebut dapat di gunakan sebagai Output PWM 8 bit
  • SPI : Pin 50 (MISO), Pin 51 (MOSI), Pin 52 (SCK), Pin 53 (SS) ,Di gunakan untuk komunikasi SPI menggunakan SPI Library
  • I2C : Pin 20 (SDA) dan Pin 21 (SCL) , Komunikasi I2C menggunakan wire library
  • LED : 13. Buit-in LED terhubung dengan Pin Digital 13

 

3.     Ultrasonic Sensor

sensor jarak yang umum digunakan dalam penggunaan untuk mendeteksi jarak yaitu sensor ultrasonik. Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya.

Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik). Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000 Hz. Karena kecepatan bunyi adalah 340 m/s, maka rumus untuk mencari jarak berdasarkan ultrasonik adalah :

Keterangan:
S = jarak antara sensor ultrasonik dengan benda (bidang pantul),
t = selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika gelombang pantul diterima receiver.
Berikut Algoritma membaca data ultrasonik:

  • Beri tegangan positif pada pin Trigger selama 10µS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz 
  • Selanjutnya, sinyal akan diterima pada pin Echo 
  • Rumus untuk menghitung jaraknya adalah S = (0.034 *t) /2 cm.


Bentuk diagram waktu cara kerja sensor ultrasonik dapat dilihat pada Gambar dibawah ini


 

4.     LCD (LM016L)




Gambar 14.LCD

 

LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.

Teknologi Display LCD ini memungkinkan produk-produk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes).
LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.

Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah:

·                  Lapisan Terpolarisasi 1 (Polarizing Film 1)

·                  Elektroda Positif (Positive Electrode)

·                  Lapisan Kristal Cair (Liquid Cristal Layer)

·                  Elektroda Negatif (Negative Electrode)

·                  Lapisan Terpolarisasi 2 (Polarizing film 2)

·                  Backlight atau Cermin (Backlight or Mirror)

Dibawah ini adalah gambar struktur dasar sebuah LCD:


Gambar 15.Struktur LCD

LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight (Lampu Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent atau Light Emitting Diode (LED). Cahaya putih adalah cahaya terdiri dari ratusan cahaya warna yang berbeda. Ratusan warna cahaya tersebut akan terlihat apabila cahaya putih mengalami refleksi atau perubahan arah sinar. Artinya, jika beda sudut refleksi maka berbeda pula warna cahaya yang dihasilkan.

Backlight LCD yang berwarna putih akan memberikan pencahayaan pada Kristal Cair atau Liquid Crystal. Kristal cair tersebut akan menyaring backlight yang diterimanya dan merefleksikannya sesuai dengan sudut yang diinginkan sehingga menghasilkan warna yang dibutuhkan. Sudut Kristal Cair akan berubah apabila diberikan tegangan dengan nilai tertentu. Karena dengan perubahan sudut dan penyaringan cahaya backlight pada kristal cair tersebut, cahaya backlight yang sebelumnya adalah berwarna putih dapat berubah menjadi berbagai warna.

Jika ingin menghasilkan warna putih, maka kristal cair akan dibuka selebar-lebarnya sehingga cahaya backlight yang berwarna putih dapat ditampilkan sepenuhnya. Sebaliknya, apabila ingin menampilkan warna hitam, maka kristal cair harus ditutup serapat-rapatnya sehingga tidak adalah cahaya backlight yang dapat menembus. Dan apabila menginginkan warna lainnya, maka diperlukan pengaturan sudut refleksi kristal cair yang bersangkutan.

 

5.     Papan Breadboard

Breadboard merupakan sebuah board atau papan yang berfungsi untuk merancang sebuah rangkaian elektronik sederhana. Breadboard tersebut nantinya akan dilakukan prototipe atau uji coba tanpa harus melakukan solder.

Umumnya breadboard terbuat dari bahan plastik yang juga sudah terdapat berbagai lubang. Lubang tersebut sudah diatur sebelumnya sehingga membentuk pola yang didasarkan pada pola jaringan di dalamnya. Selain itu, breadboard yang bisa ditemukan di pasaran umumnya dibagi menjadi 3 ukuran. Pertama dinamakan sebagai mini breadboard, kedua disebut medium breadboard, dan yang terakhir dinamakan sebagai large breadboard. Untuk mini breadboard, ia memiliki kurang lebih 170 titik.

Sementara untuk medium breadboard sudah dilengkapi dengan kurang lebih 400 titik. Large breadboard memiliki lubang kurang lebih 830. Seperti gambar yang sudah ada di atas, bahwa mini breadboard memiliki 200 titik hubung. Di bagian kanan sudah bisa dilihat pola layout yang digambarkan dengan garis biru. Di sini bisa dilihat beberapa tulisan mulai dari A sampai dengan J.

Setelah itu masih ada angka 1,5, 10, 15, maupun 20. Perpaduan antara huruf dan juga angka tersebut merupakan sebuah koordinat. Misalnya, A1, B1, sampai dengan E1 saling terkoneksi berdasarkan pola koneksinya (Bisa dilihat pada gambar berwarna biru). Sementara untuk A2 sampai dengan E2, A3 sampai dengan E3, F1 sampai dengan J1, dan seterusnya. Dengan memahami pola tersebut, maka kita nanti bisa membuat sebuah prototipe sehingga kita tidak bingung ketika harus menempatkan komponen-komponen elektronik tersebut sesuai dengan tempatnya masing-masing.

 

6.     Kabel Jumper

jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa memerlukan solder.

 

Intinya kegunaan kabel jumper ini adalah sebagai konduktor listrik untuk menyambungkan rangkaian listrik.

Macam-Macam Kabel Jumper Arduino

Jenis jenis kabel jumper yang paling umum adalah sebagai berikut:

1.     Kabel Jumper Male to Male


Jenis yang pertama adalah kabel jumper male male. Kabel jumper male to male adalah adalah jenis yang sangat yang sangat cocok untuk kamu yang mau membuat rangkaian elektronik di breadboard.

2.     Kabel Jumper Male to Female


Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya, yaitu male dan female.

Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain Arduino ke breadboard

3.     Kabel Jumper Female to Female

Jenis kabel jumper yang terakhir adalah kabel female to female. Kabel ini sangat cocok untuk menghubungkan antar komponen yang memiliki  header male. contohnya seperti sensor ultrasonik HC-SR04, sensor suhu DHT, dan masih banyak lagi.

 

7.     Touch Sensor

Touch Sensor atau Sensor Sentuh adalah sensor elektronik yang dapat mendeteksi sentuhan. Sensor Sentuh ini pada dasarnya beroperasi sebagai sakelar apabila disentuh, seperti sakelar pada lampu, layar sentuh ponsel dan lain sebagainya. Sensor Sentuh ini dikenal juga sebagai Sensor Taktil (Tactile Sensor). Seiring dengan perkembangan teknologi, sensor sentuh ini semakin banyak digunakan dan telah menggeser peranan sakelar mekanik pada perangkat-perangkat elektronik.

8.     Keypad

Keypad adalah salah satu perangkat input yang paling umum digunakan dalam aplikasi mikroprosesor. Dalam keypad standar yang disambungkan sebagai matriks sakelar XY, sakelar yang biasanya terbuka menghubungkan baris ke kolom saat ditekan. Jika sebuah papan tombol memiliki 12 tombol, itu disambungkan sebagai 3 kolom dengan 4 baris. Sebuah 16 tombol akan memiliki 4 kolom dengan 4 baris. Beberapa waktu lalu, saya membeli beberapa keypad membran 3x4 dari eBay. Seperti biasa itu dikemas dengan nol dokumentasi, sehingga butuh beberapa jam untuk mulai bekerja.

Gambar berikut menunjukkan struktur internal dan notasi pin dari keypad 3x4 yang digunakan untuk percobaan.

Berikut adalah informasi yang sama secara tekstual; kolom keypad C1-C2-C3 diarahkan ke pin 3,1,5 dan baris R1-R2-R3-R4 diarahkan ke pin 2,7,6,4 yang terletak di ujung kabel fleksibel 7-pin.

 

9.     Adaptor AC/DC

Adaptor adalah rangkaian elektronika yang berfungsi untuk mengubah tegangan AC (arus bolak-balik) yang tinggi menjadi tegangan DC (arus searah) yang lebih rendah.

Bagian-bagian adaptor
Pada sebuah adaptor terdapat beberapa bagian atau blok yaitu trafo (transformator), rectifier (penyearah) dan filter

Trafo ( Transformator )
Adalah sebuah komponen yang berfungsi untuk menurunkan atau menaikan tegangan AC sesuai kebutuhan. Pada sebuah adaptor, trafo yang digunakan adalah trafo jenis step down atau trafo penurun tegangan.


Trafo tediri dari 2 bagian yaitu bagian primer dan bagian sekunder, pada masing-masing bagian terdapat lilitan kawat email yang jumlahnya berbeda. Untuk trafo step-down, jumlah lilitan primer akan lebih banyak dari jumlah sekunder. Lilitan Primer merupakan input dari pada Transformator sedangkan Output-nya adalah pada lilitan sekunder. Meskipun tegangan telah diturunkan, output dari Transformator masih berbentuk arus bolak-balik (arus AC) yang harus diproses selanjutnya.

Rectifier (Penyearah )


Dalam rankaian adaptor atau catu daya, tegangan yang sudah di turunkan oleh trafo, arusnya masih berupa arus bolak-balik atau AC. Karena arus yang dibutuhkan oleh rangkaian elektronika adalah arus DC, sehingga harus disearahkan terlebih dahulu. Bagian yang berfungsi untuk menyearahkan arus AC menjadi DC pada adaptor disebut dengan istilah rectifier ( penyearah gelombang ). Rangkaian Rectifier biasanya terdiri dari komponen Dioda. Pada rangkaian adaptor rangkaian rectifier ini terdiri dari 2 jenis yaitu:

1. Half Wave Rectifier : menggunakan 1 dioda penyearah

2. Full Wave Rectifier : menggunakan 2 atau 4 dioda penyearah


3. Filter (Penyaring)

Filter adalah bagian yang berfungsi untuk menyaring atau meratakan sinyal arus yang keluar dari bagian rectifier. Filter ini biasanya terdiri dari komponen Kapasitor (Kondensator) yang berjenis Elektrolit atau ELCO ( Electrolyte Capacitor ).

Sebenarnya dengan adanya bagian trafo, rectifier dan filter syarat dari sebuah adaptor sudah terpenuhi, namun terkadang tegangan yang dihasilkan biasanya tidak stabil sehingga diperlukan bagian lain yaitu yang berfungsi untuk menstabilkan tegangan dan mendapatkan tegangan yang akurat. Bagian tersebut adalah bagian regulator atau pengatur tegangan.

Voltage Regulator ( Pengatur Tegangan )

Untuk menghasilkan tegangan dan Arus DC yang tetap dan stabil , diperlukan bagian Voltage Regulator yang berfungsi untuk mengatur tegangan sehingga tegangan Output tidak dipengaruhi oleh suhu, arus beban dan juga tegangan input yang berasal Output Filter. Voltage Regulator pada umumnya terdiri dari Dioda Zener, Transistor atau IC


Pada DC Power Supply yang canggih, biasanya Voltage Regulator juga dilengkapi dengan Short Circuit Protection ( perlindungan atas hubung singkat ), Current Limiting ( Pembatas Arus ) ataupun Over Voltage Protection ( perlindungan atas kelebihan tegangan ).

 

a. Hardware[kembali]

1. Master

1.

//master 


#define LEDH 4

#define LEDM 2

#define pwm 3

#define relay 7

#define touch 12



void setup() {

pinMode (touch,INPUT);

pinMode(pwm, OUTPUT);

analogWrite(pwm, 80);

  

  

  pinMode(relay, OUTPUT);

  pinMode(2, OUTPUT);

  pinMode(4, OUTPUT);

  Serial.begin(9600);

  Serial.begin(9600);

  digitalWrite(relay, LOW);

  digitalWrite(4, LOW);

}


void loop() {

   if (digitalRead(touch) == HIGH) {

    //Serial.println ("disentuh");

    digitalWrite(4, HIGH);

      digitalWrite(2, LOW);

      digitalWrite(relay, HIGH);

      delay(1000);

      digitalWrite(4, LOW);

      digitalWrite(relay, LOW);

  }

  else {

    digitalWrite(2,HIGH);

      digitalWrite(relay, LOW);

  }

  

  

  if(Serial.available() > 0){

    int data = Serial.read();

    if(data == 1){

      Serial.println("1");

      digitalWrite(4, HIGH);

      digitalWrite(2, LOW);

      digitalWrite(relay, HIGH);

      delay(1000);

      digitalWrite(4, LOW);

      digitalWrite(relay, LOW); 

    }


    else{

      Serial.println("0");

      digitalWrite(2,HIGH);

      digitalWrite(relay, LOW);


    }

  }

}

    2. Slave

//SLAVE


int i = 0;

int j = 0;

int l = 0;


#include <LiquidCrystal.h>


const int rs = A5, en = A4, d4 = A0, d5 = A1, d6 = A2, d7 = A3;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


//#include <SoftwareSerial.h>

#define touch 4

int trig = 5;           // membuat varibel trig yang di set ke-pin 5

int echo = 6;           // membuat variabel echo yang di set ke-pin 6


#include <Password.h>

#include <Keypad.h>


Password password = Password( "1234" );


const byte ROWS = 4;

const byte COLS = 3;


char keys[ROWS][COLS] =

{

  {'1', '2', '3'},

  {'4', '5', '6'}, //Inisialisasi keypad matriks 4x3

  {'7', '8', '9'},

  {'*', '0', '#'}

};



byte rowPins[ROWS] = {7, 8, 9, 10};

byte colPins[COLS] = {13, 12, 11};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );


void setup() {

  lcd.begin(16, 2);

  lcd.setCursor(0, 0);

  lcd.print("Masukan Password");

  lcd.setCursor(0, 1);

  lcd.print("atau Fingerprint");

  pinMode(trig, OUTPUT);    

  pinMode(echo, INPUT);


  pinMode(touch, INPUT);

  Serial.begin(9600);

  keypad.addEventListener(keypadEvent);

}


void loop() {

  long duration, distance;

  digitalWrite(trig, LOW);

  delayMicroseconds(2);

  digitalWrite(trig, HIGH);

  delayMicroseconds(10);

  digitalWrite(trig, LOW);

  duration = pulseIn(echo, HIGH);

  distance = (duration/2) / 29.1;


  //Serial.println(jarak);


  if (distance <= 10) {

    for (j; j < 1; j++) {

      Serial.write(1);

       lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("pintu");

    lcd.setCursor(0, 1);

    lcd.print("tertahan");

    delay(1000);

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Masukan Password");

    lcd.setCursor(0, 1);

    lcd.print("atau Fingerprint");

    }

  }

  else {

    j = 0;

    Serial.write(2);

  }


  if (digitalRead(touch) == HIGH) {

    //Serial.println ("disentuh");

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Fingerprint");

    lcd.setCursor(0, 1);

    lcd.print("Benar");

    for (i; i < 1; i++) {

      Serial.write(1);

    }

    delay(1000);

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Masukan Password");

    lcd.setCursor(0, 1);

    lcd.print("atau Fingerprint");

  }

  else {

    i = 0;

  }

  keypad.getKey();

}


void keypadEvent(KeypadEvent eKey) {

  switch (keypad.getState()) {

    case PRESSED:

      Serial.print("Pressed: ");

      Serial.println(eKey);

      switch (eKey) {

        case '*': checkPassword(); break;

        case '#': password.reset(); break;

        default: password.append(eKey);

      }

  }

}


void checkPassword() {

  if (password.evaluate()) {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Password Benar");

    Serial.println("Success");

    Serial.write(1);

    delay(1000);

   

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Masukan Password");

    lcd.setCursor(0, 1);

    lcd.print("atau Fingerprint");

    //delay(100);

  }

  else {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print("Password Salah");

    Serial.println("Wrong");

  }

}


1. Master


2. Slave
     



   Rangkaian lock door system merupakan rangkaian yang menggunakan keypad, touch sensor dan ultrasonic sensor. Keypad, touch sensor dan ultrasonic sensor akan dihubungkan dengan relay dan selanjutnya diteruskan ke solenoid. Komunikasi yang digunakan pada rangkaian ini yaitu UART (Universal Asynchronous Receiver Transmitter) merupakan metode komunikasi serial dimana digunakannya dua komponen Arduino sebagai master dan slave. Master digunakan sebagai ,sedangkan slave digunakan sebagai

            Keypad dan touch sensor akan diletakkan diluar ruangan, sedangkan ultrasonik sensor diletakkan didalam ruangan. Keypad dengan prinsip kerja ketika password yang di masukkan benar maka master akan memeritahkan slave untuk mengirimkan data, ketika data diterima oleh slave selanjutnya LCD akan menampilkan tampilan “password benar”. Selanjutnya data juga akan dikirim menuju master, dan data akan diteruskan menuju relay, ketika relay aktif maka selanjutnya akan mengaktifkan solenoid. Ketika solenoid aktif maka akan membuka pintu, solenoid akan aktif dengan delay 5000 ms. Ketika pada keypad dimasukkan password yang salah maka master akan memeritahkan slave untuk mengirimkan data, ketika data diterima oleh slave selanjutnya LCD akan menampilkan tampilan “password salah”. Selanjutnya data juga akan dikirim menuju master, dan data akan diteruskan menuju relay, ketika relay tidak aktif maka solenoid tidak akan membuka pintu.

            Touch sensor memiliki prinsip kerja ketika disentuh maka master akan memerintahkan slave untuk mengirimkan data, ketika data diterima oleh slave maka LCD akan menampilkan “fingerprint benar”. Selanjutnya data akan diteruskan menuju master selanjutnya menuju ke relay, ketika relay aktif maka selanjutnya akan mengaktifkan selonoid. Ketika selonoid aktif maka pintu akan terbuka, selonoid akan aktif dengan delat 5000ms.

            Ultrasonic sensor diletakkan didalam ruangan dengan prinsip kerja, ketika sensor ultrasonic mendeteksi objek dengan jarak < 10 cm, maka master akan memerintahkan slave untuk mengirimkan dat, ketika data diterima oleh slave maka selanjutnya data akan dikirimkan menuju relay. Ketika relay aktif maka selanjutnya akan mengaktifkan selonoid. Ketika selonoid aktif maka akan membuka pintu, selonoid akan aktif dengan delay 5000 ms.


f. Video [kembali]


   Rangkaian lock door system ini dapat berguna untuk memudahkan sistem membuka pintu tanpa menggunakan kunci. Rangkaian ini dapat diakses melalui password, fingerprint, dan mengukur jarak dengan menggunakan sensor ultrasonic. Komponen yang digunakan antara lain keypad, touch sensor, ultrasonic sensor, LCD, solenoid, dan relay.  Ketika keypad dimasukkan password yang benar maka pada LCD akan menampilkan password benar dan pintu akan terbuka sebaliknya, sedangkan Ketika password yang dimasukkan salah maka pintu tidak terbuka pada LCD akan menampilkan password salah. Pada touch sensor 1(fingerprint), Ketika disentuh maka LCD akan menampilkan fingerprint benar dan pintu akan terbuka. Untuk ultrasonic sensor akan diletakkan di atas pintu menghadap ke lantai. jadi ketika ada objek yang berdiri pas di depan pintu maka pintu akan terbuka atau tertahan selama 1 detik. Dibagian dalam pintu ada touch sensor yang berguna untuk membuka pintu dari dalam. 







Tidak ada komentar:

Posting Komentar