Anda di halaman 1dari 13

PINTU PINTAR

PEMBUKA PINTU OTOMATIS BERBASIS SENSOR


KAMERA

Makalah ini disusun memenuhi salah satu syarat


mengikuti mata kuliah Mekatronika

Disusun oleh:
1. Muhammad Lutfi Aziz (20160120107)
2. Imam Yudha Sakti (20160120039)

PROGRAM STUDI S-1 TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH YOGYAKARTA
2018/2019
BAB I
PENDAHULUAN

A. Nama Projek:
Pintu Pintar Otomatis Berbasis Sensor Kamera

B. Konsep Rancangan
Pintu pintar otomatis ini adalah inovasi untuk membuat pintu membuka
secara otomatis dengan mendeteksi terlebih dahulu apakah yang ining masuk
dalam ruangan tertentu adalah manusia atau bukan. Ketika manusia sensor kamera
akan mendeteksi berupa wajah juga mata sebagi data input untuk di proses pada
PC yang kemudian di olah untuk menentukan pintu terbuka atau tidak dan ketika
buka manusia maka kamera tidak akan mendeteksi. PINTU PINTAR UNTUK
DETEKSI WAJAH BERBASIS PENGOLAHAN CITRA DIGITAL
MENGGUNAKAN SATU KAMERA merupakan suatu rangkaian yang dapat
membuka pintu melalui pendeteksi wajah. Rangkaian ini terdiri dari 2 bagian
sistem deteksi wajah dimana inputan sinyal dari wajah akan dipindai dan sistem
pintu otomatis/akuator yang terdiri dari selenoid yang dapat membuka kunci pintu
melalui prinsip selenoid itu sendiri.

C. Diagram Umum Sistem


Berikut adalah diagram blok yang akan menjelaskan gambaran spesifikasi
dan sistem kendali dari PINTU PINTAR UNTUK DETEKSI WAJAH BERBASIS
PENGOLAHAN CITRA DIGITAL MENGGUNAKAN SATU KAMERA, terdiri
dari tiga bagian besar yaitu sensor, pengolah, dan bagian aktuator:

Gambar 1. Diagram Sistem Umum


1. Laptop/CPU/pengolah program
Bagian laptop adalah otak dari pintu pintar ini, bagian ini berfungsi
untuk menjalankan program, menerima dan mengolah setiap informasi dari
input sensor, dan juga yang mengirim dan mengendalikan output pada aktuator,
indikator, atau juga LCD. Untuk pengolah senasor ini tidak hanya laptop akan
tetapi ressberyy atau pun mini PC bisa digunakan.

Gambar 2. Laptop

2. Sensor Kamera
Pada pintu pintar untuk deteksi wajah berbasis pengolahan citra digital
menggunakan satu kamera untuk mendeteksi / membaca keadaan di depan
pintu sesuai deteksi wajah dan mata seseorang maka digunakan sebuah
kamera Laptop. Kamera Laptop digunakan sebagai pengolah citra (image
processing) yang terintegrasi dengan Laptop secara langsung untuk
menemukan objek wajah.

Gambar 3. Kamera Logitech

3. Mikrokontroller
Bagian Mikrokontroller adalah bagian pengolah dari inputan kamera
yang kemudian di outputkan ke aktuator untuk menggerakannya.
Mikrokontroller yang digunakan adalah Arduino UNO
Gambar 4. Arduino Uno

4. Aktuator
Bagian Aktuator adalah bagian penggerak dari pintu pintar untuk
membuka kunci. Aktuator yang digunakan adalah Selenoid doorlock, bagian
aktuator ini berfungsi supaya kunci pada pintu dapat terbuka. Selenoid yang
digunakan 12Volt DC.

Gambar 5. Selenoid doorlock


12Volt

5. Power (Power Utama)


Power utama Pintu Pintar terdiri 2 bagian yaitu menggunakan inputa
5Volt DC untuk mikrokontroller dan 12Volt DC untuk tegangan input
selenoid doorlock.

Gambar 6. Converter AC to DC 12 Volt


BAB II
HASIL PERCOBAAN

A. Skrip Program

1. Program yang diakses pada Python


import numpy as np
import cv2
#import Tkinter
#from Tkinter import *
import serial
from time import sleep

iterasi = 0

# Enter your COM port in the below line


ard = serial.Serial('com9', 9600)
sleep(2)
print (ard.readline(ard.inWaiting()))
#serial.write('0') #awal
ard.write('0')
# multiple cascades:
https://github.com/Itseez/opencv/tree/master/data/haarcasca
des

#https://github.com/Itseez/opencv/blob/master/data/haarcas
cades/haarcascade_frontalface_default.xml
face_cascade =
cv2.CascadeClassifier('C:\python\Lib\opencv-
master\data\haarcascades\haarcascade_frontalface_default.
xml')
#https://github.com/Itseez/opencv/blob/master/data/haarcas
cades/haarcascade_eye.xml
eye_cascade =
cv2.CascadeClassifier('C:\python\Lib\opencv-
master\data\haarcascades\haarcascade_eye.xml')

cap = cv2.VideoCapture(0)

while 1:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
print(faces)

for (x,y,w,h) in faces:


if (x>0):
print ("1")
ard.write('1')
else :
print ("0")
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]

eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:

cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
#if (h >= 5) & (iterasi == 0):

# iterasi=iterasi+1
# if iterasi >= 1:
# ard.write('0')
# iterasi=0

cv2.imshow('img',img)
k = cv2.waitKey(30) & 0xff
if k == ord("q"):
break

cap.release()
cv2.destroyAllWindows()

2. Program yang diakses pada Arduino IDE


#include <LiquidCrystal.h>
int incomingData;
//int saya = 2;
#define Relay 2
#define Relay_off 0
#define Relay_on 1
LiquidCrystal lcd(7, 12, 11, 10, 9, 8);

void setup()
{
Serial.begin(9600);
pinMode(Relay, OUTPUT);
digitalWrite (Relay,Relay_on);
Serial.write("Press the button to control LED (Message
from Arduino");

}
void loop()
{

lcd.begin(16, 2);
lcd.setCursor(2, 0);
lcd.print("Pintu Pintar");
delay (2000);
lcd.print(Relay);
lcd.clear ();

while (Serial.available()) {
incomingData = Serial.read();
if (incomingData == '1') {
digitalWrite (Relay,Relay_off);
Serial.write("LED Turned ON");
lcd.print(Relay);
lcd.setCursor(0, 0);
lcd.print("Kondisi :");
lcd.setCursor(0, 1);
lcd.print("Terbuka");
delay (1000);
lcd.clear ();

}
if (incomingData == '0') {
digitalWrite (Relay,Relay_on);
Serial.write("LED Turned OFF");
lcd.print(Relay);
lcd.setCursor(0, 0);
lcd.print("Kondisi :");
lcd.setCursor(0, 1);
lcd.print("Tertutup");
delay (1000);
}
}
}
B. Gambar dan Hasil dari Pintu Pintar Berbasis Kamera

Gambar 7. Desain Tampak Depan

Gambar 8. Bagian Dalam (Mekanik)


Gambar 9. Ketika Sensor Kamera Mendetek Wajah dan Mata

Gambar 10. Keadaan Layar LCD & Pintu ketika terdeteksi wajah
Mikrokontroller BUS BAR AKTUATOR
SELENOID

CONVERTER AC-DC 12V

Gambar 11. Peletakkan Komponen

Gambar 12. Keadaan Pembacaan Sensor Gambar 13. Keadaan Pembacaan Sensor
Ketika tidak Mendeteksi Wajah Ketika Mendeteksi Wajah
C. HASIL PERCOBAAN
pintu pintar untuk deteksi wajah berbasis pengolahan citra digital
menggunakan satu kamera diajalankan secara sekali pencet dalam penjalanan
rogram Python dan akan menjadi kendali otomatis dalam menggerakan aktuator.
Ketika Program Python sudah dijalankan kamera kan aktif dan program pada laptop
akaan selalu mengolah hasil dari inputan ke kamera. Ketika kamera tidak
mendeteksi wajah maka outputan dari kamera angkan memberikan isyarat 0 (nol)
yang bererti tidak ada yang terdeteksi(Pada Gambar 12). Namun, ketika kamera
mendeteksi sebuah wajah dan mata kamera akan memberi isyarat berupa inputan
koordinat dari wajah dan mata tersebut (pada Gambar 13) dan hasil ini di serialkan
ke mikrokontroller sebagai outputan dari kamera yang mendetksi wajah dan
kemudian mikrokontroller akan mengirim sinyal 1 (satu) atau 5volt pada pin 2 yang
sudah terhubung pada relay untuk mengkatifkan selenoid doorlock sehingga pintu
dapat terbuka.
BAB III
PENUTUP
Bab ini, berisi kesimpulan dan atau saran dari hasil percobaan tugas diatas yang
telah dilakukakan

A. Kesimpulan

Dari hasil percobaan diatas, bahwasannya pintu pintar untuk deteksi wajah
berbasis pengolahan citra digital menggunakan satu kamera sudah berhasil
sesuai dengan sistem utama pembentuknya. Ketika kamera tidak
mendeteksi, kamera tidak memberi isyarat ke mikrokontroller untuk
membrikan outputan kepada selenoid untk membuka dam ketika kamera
mendeteksi wajah dan mata manusia, kamera kan mendeteksi koorinat
wajah dan mata kemudian dari hasil tersebut python akan membrikan
isyarat outputan berupa nila 1 (satu) pada mikrontroller yang artinya ON
selenoid sehingga mikrokontroller mengkatifkan selenoid.

B. Saran

Pada percobaan ini masih ada kekurangan yaitu ketika wajah sudah
terdeteksi sekali, kemudian ketika kamera tidak mendeteksi wajah lagi
python tidak memberi isyarat pada arduino untuk mengunci sehingga tidak
kembalinya mengunci selenoid doorlock.
DAFTAR PUSTAKA

PythonProgramming.net, OpenCV with Python Intro and loading Images tutorial,

<https://pythonprogramming.net/loading-images-python-opencv-tutorial/>,
diakses pada 01 Maret 2019, pukul 20.10 WIB.

Sekolahrobot, 2012, Belajar Arduino,

<http://www.arduino.web.id/2012/03/belajar-arduino-dan-lcd.html?m=1>,
diakses pada 08 Maret 2019, pukul 20.00 WIB.

Davassi camillo, 2018, Learn how to set up your Arduino with Python and

PySerial to create serial communications for a variety of projects,


<https://maker.pro/arduino/tutorial/how-to-create-simple-serial-
communications-between-an-arduino-and-the-python-ide>, diakse pada 04
April 2019, 20.00 WIB.

Anda mungkin juga menyukai