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

BAB III PEMBAHASAN...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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

30

3.5 Flowchart Program

Sumber : Hasil Penelitian

Gambar 3. 9 Flowchar Program

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)

39

step down untuk menurunkan volt yang di gunakan. Dan ketika menempelkan sidik

jari yang sudah terdaftarpun berjalan dengan lancar sesuai dengan yang di inginkan.