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 )
1. Half Wave Rectifier : menggunakan 1 dioda penyearah
2. Full Wave Rectifier : menggunakan 2 atau 4 dioda penyearah
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 ).
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");
}
}
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.
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