41
42
3. Komponen Penunjang
a. Smartphone Android/Ios
b. Power Jack USB 2.0
4.1.2 Perakitan Perangkat Keras
Pada tahap perakitan perangkat keras ini terdiri dari
NodeMCU, Motor Servo, Modul Fingerprint, LCD 16x2. Bagian -
bagian dari hardware satu sama lain harus berhubungan dan bekerja
sama secara harmonis atau berintegrasi sesuai dengan kebutuhan alat
dan tujuan pembuatan rancang bangun kontrol pintu rumah
menggunakan internet.
Dari beberapa rangkaian modul di atas maka selanjutnya
akan dirangkai menjadi satu yang membentuk sebuah alat yang
saling terintegrasi.
1. Rangkaian Keseluruhan Tanpa Prototype Pintu
3 4
Keterangan :
1. Figerprint
Digunakan untuk mendeteksi sidik jari yang sudah terdaftar
untuk membuka kunci dan pintu rumah.
43
2. NodeMCU
Digunakan sebagai pengolah program yang telah dibuat dan
untuk menjalankan perangkat yang ada, dalam penelitian ini
NodeMCU yang di gunakan yaitu NodeMCU v3. Karena sudah
terpasang module wi-fi di dalamnya.
3. Display LCD
Digunakan untuk menampilkan apakah sidik jari yang
ditempelkan dapat mengakses modul finger print atau tidak.
4. Servo
Digunakan untuk motor pengerak untuk membuka dan menutup
kunci maupun pintu rumah.
5. Breadboad
Digunakan untuk membuat rangkaian elektronik sementara
dengan tujuan uji coba atau prototype tanpa harus menyolder.
Blynk juga memiliki fitur share project dimana fitur ini dapat
digunakan untuk memindahkan atau berbagi project ke perangkat
smartphone lain sehingga dapat digunakan di banyak perangkat
smartphone yang sudah terinstall aplikasi Blynk. Dalam penggunaan
nya dibutuhkan beberapa pengaturan perangkat, pada pilihan shared
access tekan tombol switch pada posisi ON selanjutnya tekan generate
link. Fitur ini memakan 1000 energi saat menggunakannya dalam satu
project, proses penggunaannya sangat mudah cukup scan barcode
pada aplikasi atau dapat dikirim melalui aplikasi chetting. Pada
gambar 4.6 diperlihatkan tampilan barcode pada project yang telah
dibuat.
48
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <Servo.h>
#include <Adafruit_LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
int getFingerprintIDez();
#define servo1Pin 12
#define servo2Pin 14 //Define pin number to which servo motor is
connected
uint8_t id;
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
lcd.begin();
runlcd();
lcd.setBacklight(HIGH);
while (!Serial);
Serial.println("Adafruit finger detect test");
servo1.attach(servo1Pin); //Define pin number of the servo
servo2.attach(servo2Pin);
servo1.write(0);
servo2.write(45);
// set the data rate for the sensor serial port
51
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while(1);
}
Serial.println("Waiting for valid finger...");
}
void runlcd()
{
lcd.clear();
lcd.setCursor (0,0);
lcd.print(" Selamat Datang ");
lcd.setCursor (0,1);
lcd.print("Set finger or hp");
}
void loop() // run over and over again
{
getFingerprintIDez();
delay(50); //don't ned to run this at full speed.
Blynk.run();
}
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
52
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:
53
// OK converted!
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
Serial.println("Found a print match!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Did not find a match");
return p;
} else {
Serial.println("Unknown error");
return p;
}
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
54
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
sucses();
servo2.write(0);
delay(3000);
servo1.write(100);
delay(5000);
runlcd();
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
return finger.fingerID;
}
void sucses(){
lcd.clear();
lcd.setCursor (0,0);
lcd.print(" Fingerprint OK ");
lcd.setCursor (0,1);
lcd.print(" Silahkan Masuk ");
BLYNK_WRITE(V1){
int pintu = param.asInt();
if(pintu == 0){
55
delay(1000);
servo1.write(0);
Serial.println("kunci buka");
delay(3000);
servo2.write(45);
Serial.println("pintu buka");
}else{
delay(1000);
servo2.write(0);
Serial.println("pintu tutup");
delay(3000);
servo1.write(100);
Serial.println("kunci tutup");
}
}
10. Alat ini masih perlu pengembangan lebih lanjut agar dapat
dipasarkan secara luas.
Tabel 4.11 Hasil Penilaian Pertanyaan Nomor Sepuluh
Kategori Skala Jumlah Jumlah
Jawaban Jawaban Penilai Presentase
Setuju 7 10 70%
Cukup 3 10 30%
Tidak Setuju 0 10 0%
Hasil dari pengujian beta yang telah dilakukan oleh penulis dalam
pembagian kuisioner di lapangan. Dapat disimpulkan oleh penulis
bahwa Rancang Bangun Monitoring dan Kontroling Pintu Rumah
Menggunakan Mikrokontroler Berbasis IOT, dapat diterima dan
menyelesaikan masalah yang sering terjadi dengan penjelasan
sebagai berikut :
1. Hasil pengujian beta pertanyaan nomor satu terdapat 9 orang
menjawab setuju, 1 orang menjawab cukup, dan tidak ada
orang yang menjawab tidak setuju. Dari hasil tersebut
menjelaskan setuju bahwa alat yang dibuat oleh penulis dapat
memiliki tampilan aplikasi yang menarik dan mudah
dipahami.
2. Hasil pengujian beta pertanyaan nomor dua terdapat 4 orang
menjawab setuju, 3 orang menjawab cukup, dan 3 orang yang
menjawab tidak setuju. Dari hasil tersebut menjelaskan setuju
bahwa instalasi alat pada pintu rumah mudah dilakukan
3. Hasil pengujian beta pertanyaan nomor tiga terdapat 7 orang
menjawab setuju, 3 orang menjawab cukup, dan tidak ada
orang yang menjawab tidak setuju. Dari hasil tersebut
61