24
BAB III
PEMBAHASAN
3.1 Tinjauan Umum Alat
Perancangan alat pengaman pintu rumah berbasis arduino uno dengan
menggunakan sidik jari dan sms gateway di ciptakan untuk memberikan inovasi baru
dan meningkatkan keamanan rumah yang sering di tinggalkan atau di daerah sepi dan
rawan pencurian. Alat ini masih terbilang terjangkau untuk di dapatkan dan tidak
terlalu rumit untuk di buatnya karna menggunakan arduino uno sebagai pusat
pengendalian tetapi tidak banyak mempergunakan daya karena hanya menggunakan
12v untuk menjalankannya. Dengan sistem sidik jari dan sms gateway sehingga bisa
mengetahui bahwa ada yang mencoba memasuki rumah jika sidik jarinya tidak
terdaftar dan bisa mengetahui yang berhasil masuk kerumah jika sidik jarinya sudah
terdaftar.
3.2 Blok Rangkaian Alat
Prinsip kerja alat pengaman pintu rumah berbasis arduino uno dengan
menggunakan sidik jari dan sms gateway ini dilakukan berdasarkan tiga bagian secara
fungsional meliputi bagian Input unit, Processing unit, dan Output unit.
25
Sumber : Hasil Penelitian
Gambar 3. 1 Blok Diagram
1. Bagian Input
a. Bagian ini berisi modul fingerprint sebagai masukan pin input dengan perintah
mengenali sidik jari yang sudah di scan dan di simpan.
b. Bagian ini berisi sensor sentuh sebagai pin masukan dengan perintah untuk
membuka solenoid.
2. Bagian processing
Berupa mikrokontroler Arduino Uno berbasis Atmega 328, yang bertindak sebagai
pengelolah data dan memproses data input sehingga menghasilkan perintah printah
untuk mengontrol sms gateway, solenoid dan lcd.
3. Bagian Output
a. Berupa solenoid doorlock yang akan terbuka jika proses percocokan sidik jari
sama.
b. Berupa Modul sim800l yang akan mengirimkan pesan kepada pemilik rumah
jika ada yang mencoba masuk.
c. Dan modul Liquid Crystal Display (LCD) untuk menampilkan kata “Silahkan
Masuk” atau “Sidik Jari Salah” di layar LCD.
26
3.3 Skema Rangkaian Alat
Sumber :Gambar Pribadi
Gambar 3. 2 Skema Rangkaian
3.4 Cara Kerja Alat
Setiap Alat memiliki cara kerja blok pada rangkaian alat pengaman pintu
rumah berbasis arduino uno dengan menggunakan sidik jari dan sms gateway adalah
sebagai berikut :
1. Catu daya
Catu daya yang di gunakan pada rangkaian ini adalah adaptor 12v adalah adaptor
pada rangkaian ini catu daya di berikan tegangan 220V AC dan di konvert menjadi
tegangan output sebesar 12V DC dengan arus 1A.
Gambar 3. 3Skema rangkaian Adaptor
27
2. Mikrokontroler Arduino Uno
Mikrokontroler Arduino Uno adalah salah satu produk arduino yang sebenarnya
merupakan suatu papan elektronik yang mengandung mikrokontroler Atmega328,
yang memiliki 14 pin I/O digital dan 6 pin input analog dan bersifat Open Source.
Pada rangkaian pengaman pintu rumah berbasis arduino uno dengan menggunakan
sidik jari dan sms gateway pin yang di gunakan adalah pin digital 2 dan 3 di
gunakan untuk RX dan TX pada sensor sidik jari dan modul sim800l, pin digital 8
di gunakan untuk menyambungkan ke relay, pin analog 4 dan 5 di gunakan untuk
pin SDA dan SCL pada I2C LCD dan pin analog 0 digunakan untuk pin VCC
sensor sentuh, sementara itu untuk sumber tegangan semua alat mengguanakn pin
power 3,3v untuk modul sidik jari, pin power 5v dan pin power GND.
Gambar 3. 4Rangkaian Arduino Uno
3. Relay
Relay adalah sebuah komponen yang digunakan sebagai saklar pemutus atau
penghubung untuk arus atau tegangan. Pada rangkaian ini relay di gunakan sebagai
pemutus tegangan untuk solenoid karena jika solenoid di berika langsung tegangan
12v maka solenoid berada dalam keadaan HIGH atau terbuka maka dari itu relay
berfungsi untuk memutuskan tegangan langsung dari adaptor ke solenoid.
28
Gambar 3. 5Skema rangkaian Relay
4. Sidik jari
Pada rangkaian ini sidik jari berfungsi untuk membuka solenoid agar pintu terbuka,
dengan menyimpan salah satu sidik jari pengguna sebagai kunci atau acuan Ketika
ada yang ingin mengakses, maka akan di lakukan scanning ulang, kemudian data
sidik jari dari hasil scanning ulang tersebut akan di cocokan apakah sama seperti
data sidik jari yang sudah pernah di simpan dalam database? Jika data tersebut
sama, maka akses akan dibuka atau bersifat HIGH. Sedangkan jika data tersebut
berbeda dengan data yang ada di database, maka akses akan tetap tertutup atau
bersifat LOW.
Gambar 3. 6Skema rangkaian sidik jari
5. Modul Sim 800l
Pada rangkaian ini modul di gunakan untuk mengirimkan sebuah pesan singkat
menggunakan perintah Atcommand dengan koneksi RX dan TX ke pin digital 2
29
dan 3, dan memasukan tegangan sebesar 4,2 volt saja dengan arus sekitar 2A
dengan menggunakan stepdown untuk menurunkan tenggangan dari 5 volt ke 4,2
volt, ketika lampu indikator berkedip cepat maka modul tidak berfungsi dan ketika
lampu indikator berkedip cepat lalu melambat 2-3 kedip maka modul sim
berfungsi.
Gambar 3. 7Skema rangkaian modul sim800l
6. I2C Liquid Crystal Display
Pada rangkaian ini LCD menggunakan I2C untuk mengurangi penggunaan pin
pada perangkat arduino dengan menghubungkan pin analo 4 ke SDA (serial data)
dan analog 5 ke SCL (serial Clock) untuk sisi software melalui library Wire.h
library ini akan di gunakan untuk mengkonversi jalur parallel LCD menjadi jalur
I2C, liquid crsytal dispaly ini menampilkan 16 karakter pada 2 baris, bari pertama
16 karakter dan baris kedua 16 karakter.
Gambar 3. 8 Skema rangkaian I2C LCD
31
3.6 Kontruksi Sistem (coding)
3.6.1 Initialisasi
#include <Adafruit_Fingerprint.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#define sensor A0
SoftwareSerial mySerialA (4,5); //Inisialisasi serial RX TX modul GSM
SoftwareSerial mySerial(2, 3); //Inisialisasi serial RX TX modul fingerprint
LiquidCrystal_I2C lcd(0x27, 16, 4); //Inisialisasi I2C LCD
int doorLock = 8; //pin untuk sinyal doorlock
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
while (!Serial);
delay(100);
Serial.println("nnAdafruit finger detect test");
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
finger.getTemplateCount();
Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println("
templates");
Serial.println("Waiting for valid finger...");
lcd.clear();
lcd.init();
lcd.init();
pinMode(sensor, INPUT_PULLUP);
pinMode(doorLock, OUTPUT);
digitalWrite(doorLock, HIGH);
lcd.backlight();
lcd.setCursor(0,0); //set koordinat LCD
lcd.print("Hallo");
delay(100);
lcd.setCursor(0,1);
lcd.print("Selamat Datang");
delay(100);
}
Pada bagian ini kontruksi sistem atau coding tersebut digunakan untuk menjalankan
dan memerintahkan semua modul agar sesuai dengan apa yang di inginkan.
32
#include <Adafruit_Fingerprint.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#define sensor A0
Perintah tersebut untuk memanggil library yang akan di gunakan seperti library
fingerprint dan library liquidCrytal I2C. Sedangkan softwareserial.h untuk modul
lainnya yang menggunakan pin yang sama pada arduino, dan Define Sensor untuk
Perintah Sensor sentuh yang menggunakan Pin Analog 0 (A0).
SoftwareSerial mySerial(2, 3); //Inisialisasi serial RX TX modul fingerprint
LiquidCrystal_I2C lcd(0x27, 16, 4); //Inisialisasi I2C LCD
int doorLock = 8; //pin untuk sinyal doorlock
Perintah di atas merupakan proses initialisasi pin RX dan TX untuk SoftwareSerial
Modul fingerprint dan modul Sim800l, sedangkan pin 8 di gunakan untuk Solenoid
Doorlock.
3.6.2 Input
void loop()
{
if(digitalRead(sensor) == HIGH)
{
digitalWrite(doorLock, LOW);
delay(5000);
digitalWrite(doorLock, HIGH);
}
Serial.println(digitalRead(sensor));
Serial.println("AT+CMGF=1");
delay(100);
getFingerprintID();
delay(50);
}
Perintah Untuk Sensor Sentuh, jika terjadi sentuhan Solenoid akan terbuka Delay
selama 5 Detik dan kembali tertutup, dan perintah untuk Modul Sim800l untuk ready
siap mengirim pesan dengan menggunakan kode ATcommand.
33
//------------------------------------------------------------
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println("No finger detected");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK success!
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
Perintah Untuk Fingerprint dalam kondisi mengambil gambar sidik jari.
34
3.6.3 Main Program
1. Jika Berhasil
// PROCESSING
// OK converted!---------------------------------------------
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) { //jika fingerprint terdeteksi
Serial.println("Found a print match!");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Silahkan Masuk");
delay (100);
digitalWrite(doorLock, LOW);
lcd.setCursor(0,1);
lcd.print("Auto Lock.. ");
for(int i=5; i>0; i--)
{
lcd.setCursor (10,1); lcd.print(i);
delay (1000);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hallo");
delay(100);
lcd.setCursor(0,1);
lcd.print("Selamat Datang");
delay(100);
digitalWrite(doorLock, HIGH);
}
if (p == FINGERPRINT_OK) perintah tersebut merupakan perintah saat percocokan
sidik jari terjadi, dan digitalWrite(doorLock, LOW); akan membuat solenoid terbuka.
Dan LCD akan menampilkan tulisan “Selamat Datang”.
2. Jika Tidak Berhasil
else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
}
else if (p == FINGERPRINT_NOTFOUND) { //jika fingerprint salah
Serial.println("Did not find a match");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Sidik Jari Salah");
35
delay (100);
lcd.setCursor(0,1);
lcd.print("COBA LAGI");
delay (2000);
Serial.println("AT+CMGS=\"083819819351\"\r"); // nomor tujuan
Serial.println("Sidik jari salah"); // isi pesan
delay(100);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hallo");
delay(100);
lcd.setCursor(0,1);
lcd.print("Selamat Datang");
delay(100);
return p;
}
else {
Serial.println("Unknown error");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("??");
delay (100);
return p;
}
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
return finger.fingerID;
}
Perintah di atas merupakan perintah jika tidak berhasilnya percocokan pada sidik jari, jika
sidik jari tidak sama Solenoid tidak akan terbuka dan
3.6.4 Output
Serial.println("Found a print match!");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Silahkan Masuk");
delay (100);
digitalWrite(doorLock, LOW);
lcd.setCursor(0,1);
lcd.print("Auto Lock.. ");
for(int i=5; i>0; i--)
{
lcd.setCursor (10,1); lcd.print(i);
delay (1000);
36
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hallo");
delay(100);
lcd.setCursor(0,1);
lcd.print("Selamat Datang");
delay(100);
digitalWrite(doorLock, HIGH);
}
Serial.println("AT+CMGS=\"083819819351\"\r"); // nomor tujuan
Serial.println("Sidik jari salah"); // isi pesan
Perintah di atas merupakan perintah Output untuk modul output Seperti Solenoid,
Modul Sim800l, dan modul LCD. LCD akan menampilkan tulisan “Coba Lagi” dan
Serial.println("AT+CMGS=\"083819819351\"\r"); Perintah ini merupakan perintah
modul Sim800l untuk mengirim pesan jika Sidik jari salah dan Serial.println("Sidik
jari salah) ini merupakan isi dari pesan tersebut.
3.7 Hasil Percobaan
3.7.1 Hasil input
Tabel 3. 1
Hasil Input
INPUT
Power
Volt Fingerprint LCD Solenoid Sim800l
15volt Tidak Menyala Tidak Menyala Tidak Menyala Tidak
Berkedip
12Volt Tidak Menyala Tidak Menyala Menyala Tidak
Berkedip
5Volt Menyala Menyala
(Hallo, Selamat
datang) Tidak Menyala Berkedip
Sumber : Hasil Penelitian
Pada kondisi standby alat dalam kondisi siaga, arus listrik yang mengalir ke
arduino sebesar 5V. Pada kondisi seperti ini LED di arduino, lampu modul fingerprint
37
dan lampu pada LCD menyala dengan tampilan (Hallo, Selamat datang) dan modul
sim berkedip dengan menggunakan stepdwon untuk menurunkan tegangan dari 5V
sampai ke 4,1V serta solenoid pada keadaan tertutup atau LOW di karnakan tegangan
dari adaptor di tahan pada relay sehingga solenoid berada pada keadaan tertutup atau
LOW.
Ketika penulis mencoba memasukan tegangan 10V semua alat dan modul
tidak menyala. Dan penulis juga mencoba memasukan tegangan tegangan 15Volt dan
yang terjadi IC arduino menjadi panas dan menjadi overload karna tegangan yang
berlebihan.
Pada tahap input penulis menggunakan 5 jari yang sidik jarinya akan di simpan
dan menjadi jari yang akan di gunakan untuk menjalankan alat akan tetapi penulis
menggunakan hanya menggunakan 2 sidik jari dari ibu jari, jari telunjuk. Pada tahap
percobaan sidik jari pertama berhasil di simpan sebagai pengguna 1 dan sidik jari
kedua juga berhasil tersimpan sebagai pengguna 2.
3.7.2 Hasil output
Tabel 3. 2
Hasil Output
No. Sidik Jari Status LCD Solenoid Sim800l
1 Ibu jari Tersimpan Tampil
(silahkan masuk) Terbuka
Tidak
Terkirim
2 Jari Telunjuk Tersimpan Tampil
(silahkan masuk) Terbuka
Tidak
Terkirim
3 Jari Tengah Tidak Disimpan
Tampil
(sidik jari salah) Tidak Terbuka
Terkirim
(sidik jari
salah)
4 Jari Manis Tidak Disimpan
Tampil
(sidik jari salah) Tidak Terbuka
Terkirim
(sidik jari
salah)
5 Jari Kelingking Tidak Disimpan
Tampil
(sidik jari salah) Tidak Terbuka
Terkirim
(sidik jari
salah)
Sumber : Hasil Penelitian
38
Pada kondisi standby dan sidik jari sudah tersimpan penulis mencoba
menempelkan sidik jari pertama sebagai pengguna dan hasilnya modul fingerprint
berhasil melakukan percocokan dan arduino mengirim perintah HIGH ke relay untuk
membuka arus tegangan 12v ke solenoid sehingga solenoid terbuka atau HIGH dan
LCD akan menampilkan jawaban “silahkan masuk”. Begitupun sama dengan sidik
jari kedua sebagai pengguna 2 hasilnya sama berhasil.
Dan pada saat penulis menggunakan jari tengah yang sidik jarinya yang belum
tersimpan dan hasilnya modul fingerprint gagal menganalisa sidik jari sehingga
solenoid tetap LOW atau tidak terbuka, LCD akan menampilkan jawaban “Sidik jari
salah, coba lagi” dan modul sim800l akan mengirimkan pesan pada pengguna yang
bertuliskan “Kesalahan sidik jari”.
3.7.3 Hasil percobaan keseluruhan
Tabel 3. 3
Hasil Percubaan Keseluruhan
Sumber : Hasil Penelitian
Ketika semua percobaan sudah di lakukan dan hasilnya sesuai yang di inginkan hanya
saja ketika tegangan yang di masukan tidak sesuai dengan yang sudah di sesuaikan
maka semua modul akan overload atau memanas karna tidak kuat menahan tegangan
yang berlebihan, bahkan dalam percobaan pertama yang penulis lakukan modul sim
sampai tidak berfungsi di karnakan volt yang di terima tidak sesuai karna tidak adanya
No. Tegangan Arduino Sidik
Jari Status Fingerprint LCD Solenoid Sim800l
1 12volt Of Sidik
Jari 1 Tersimpan
Tidak
berjalan Tidak
berjalan Terbuka
Tidak
berjalan
2 12volt Of Sidik
Jari 2
Tidak
tersimpan
Tidak
berjalan Tidak
berjalan Terbuka
Tidak
berjalan
3 5volt On Sidik
Jari 3 Tersimpan Berjalan
Tampil
(silahkan
masuk)
Terbuka
(HIGH) Tidak
terkirim
4 5volt On Sidik
Jari 4
Tidak
tersimpan Berjalan
Tampil
(sidik jari
salah)
Tertutup
(LOW)
Terkirim
(sidik jari
salah)