Sistem Keamanan Rumah Berbasis Minikomputer Raspberry Pi Via Sms Menggunakan Kamera, Sensor Pir Dan Sensor Getar Chapter III V

BAB 3
PERANCANGAN DAN PEMBUATAN SISTEM

3.1. Perancangan Sistem
Dalam membuat suatu alat ada beberapa hal yang perlu diperhatikan, yaitu bagaimana
cara merancang sistem yang akan diimplementasikan pada alat. Dalam perancangan
sistem terlebih dahulu dibuat flowchart dari sistem tersebut, seperti gambar 3.1.

Prinsip kerja alat yang dibuat adalah alat yang mendeteksi keamanan
berdasarkan parameter sensitifitas yang telah disediakan, ada dua alat yang akan
dibuat yaitu modul server dan modul sensor. Modul serveradalah server tempat
penyimpanan konfigurasi , pemrosesan data, pengolahan data. Modul sensor hanya
menerima perintah dari server dan mengirimkan data sensor ke Modul server.
Untuk carakerja nya Modul server dan sensor dinyalakan terlebih dahulu,
modul server menginisialisasi pengaturan yang disimpan dan mulai menjalankan
service , pada langkah awal modul server akan membuat perintah berbentuk string
yang akan dikirimkan ke modul sensor melewati modul NRF2401L. seperti informasi
device , informasi sensor dan alaram. Ketika perintah yang dikirimkan tadi diterima
oleh modul sensor maka modul akan merespon apakah data sensor perlu dikirimkan
atau alarm perlu dinyalakan. Semua informasi perintah ada di dalam string yang
dikirimkan modul server. Selanjutnya modul sensor akan mengirimkan balik data

yang diperlukan modul server seperti informasi nilai sensor dan kemudian modul
server mongolah data tersebut untuk kemudian diperiksa apakah melewati nilai
sensitifitas. Jika melebihi atau sama dengan data sensitifitas yang sudah dibuat maka
modul server akan mengambil gambar dan mencatat data log di database kemudian
membuat notifikasi melalui SMS kepada pemilik rumah.

Universitas Sumatera Utara

Gambar 3.1 Flowchart Program

Universitas Sumatera Utara

3.2. Blok Diagram
Diagram blok merupakan salah satu bagian terpenting dalam perancangan peralatan
elektronika, karena dari diagram blok dapat diketahui prinsip kerja keseluruhan dari
rangkaian elektronika yang dibuat. Sehingga keseluruhan blok dari alat yang dibuat
dapat membentuk suatu sistem yang dapat bekerja sesuai dengan perencanaan.
Diagram blok dari sistem keamanan dapat di lihat pada gambar 3.2

CameraPi


Serial cable

USB Modem
Raspberry Pi

GPIO

Sensor PIR

USB 2.0

GPIO

Sensor Getar

Telepon
genggam

Gambar 3.2 Blok Diagram

Pada gambar 3.2 diatas terdapat beberapa komponen perangkat keras sistem
keamanan, antara lain:
1. Raspberry Pi merupakan rangkaian komponen yang berfungsi sebagai server
utama pengolahan data dan konfigurasi sistem.
2. Camera Pi merupakan kamera pi yang langsung terhubung ke raspberry pi.

Universitas Sumatera Utara

3. Usb modem merupakan alat yang nantinya sebagai notifikasi kepengguna
dalam bentuk SMS.
4. Sensor PIR merupakan sensor yang mendeteksi keberadaan manusia dengan
infrared.
5. Sensor Getar merupakan komponen yang berfungsi memberi nilai ketika ada
getaran.
6. NRF2401L merupakan komponen yang berfungsi untuk komunikasi nirkabel
antar modul.

3.3. Desain Alat Sistem Keamanan
Ada dua bentuk alat sebagai wadah dari modul server dan modul sensor. Untuk modul
server digunakan raspberry case dengan mout camera yang dapat dibeli ditoko

elektronika juga untuk modul sensor yaitu dengan menggunakan Box housing X1 yang
ukurannya disesuaikan dengan komponen dengan sedikit perubahan. Case dari alat
dapat dilihat pada gambar 3.3 (gambar a dan b).

(a)

Universitas Sumatera Utara

(b)
Gambar 3.3 Desain Alat Sistem Keamanan

3.4. Perancangan Alat (Hardware)
Perancangan hardware merupakan suatu tahap yang sangat penting dalam pembuatan
suatu alat, sebab dengan menganalisa komponen yang digunakan maka alat yang akan
dibuat dapat bekerja seperti yang diharapkan. Untuk mendapatkan hasil yang optimal,
terlebih dahulu membuat rancangan yang baik yaitu dengan memperhatikan sifat dan
karakteristik dari tiap-tiap komponen yang digunakan sehingga dapat menghindari
kerusakan pada komponen yang digunakan dan mempermudah dalam pengerjaannya.
Berikut adalah beberapa komponen penting untuk menunjang kebutuhan alat
yang akan dibuat:


3.4.1 Raspberry Pi
Raspberry Pi merupakan sebuah komputer berukuran kecil yang dapat digunakan
seperti sebuah Personal Computer (PC). Dikatakan kecil karena kurang lebih
ukurannya sebesar kartu nama dan untuk dapat menghidupkannya dapat menggunakan
charger / adaptor yang biasa digunakan pada telepon selular sebesar 5V. Raspberry Pi
menggunakan system on a chip (SoC) dimana Central Processing Unit (CPU),
Graphics Processing Unit (GPU), dan memori ada dalam satu kesatuan Integrated
Circuit (IC)

Universitas Sumatera Utara

Gambar 3.4 Rangkaian Raspberry pi

3.4.1. Arduino Nano
Arduino adalah sebuah modul mikrokontroller yang berfungsi sebagai media interface
dan proses input/output. Arduino merupakan modul mikrokontroller yang tidak perlu
adanya perancangan tambahan untuk menggunakannya, hanya saja dibutuhkan shield
atau perangkat yang sesuai untuk membuat proyek tambahan.


Gambar 3.5 Skema Rangkaian Arduino Nano
Prinsip kerja rangkaian mikrokontroller diatas menggunakan fasilitas
input/output yang merupakan fungsi untuk dapat menerima sinyal masukan (input)
dan memberikan sinyal keluaran (output). Sinyal input maupun sinyal output
merupakan sinyal digital 1 (HIGH, mewakili tegangan 5 volt) dan 0 (LOW, mewakili
tegangan 0 volt). Arduino Nano memiliki beberapa pin input/output digital dan

Universitas Sumatera Utara

analog. Dalam perancangan ini diperlukan beberapa pin input/output digital untuk
mengendalikan sensor, Nrf2401L. Modul Arduino Nano dapat dilihat pada gambar 3.6
berikut ini.

Gambar 3.6 Tampilan Board Arduino Nano

3.4.3.Modul wireless NRF24L01
Komunikasi nirkabel antar perangkat mikrokontroler maka modul nRF24L01 adalah
perangkat yang dirancang untuk komunikasi jarak jauh yang memamfaatkan pita
gelombang RF 2.4 GHz ISM (Industrial, Scientific and Medical). Modul ini
menggunakan antarmuka SPI untuk berkomunikasi. Tegangan kerja dari modul ini

adalah 3V DC, nantinya masing masing modul akan dihubungkan kerangkaian
NRF24L01 ini.

3.5 Perancangan Elektronika
Perancangan elektronik pada alat Sistem keamanan secara keseluruhan menggunakan
komponen yang telah jadi, seperti Raspberry Pi, Pi camera,

Arduino Nano,

NRF24L01, sensor pir dan getar,usb modem, usb wifi,Buzzer dan power supply.

3.5.1. Rangkaian NRF24L01 dengan Raspberry dan Arduino
Raspberry B+ memiliki 40 PIN GPIO dan Arduino Nano memiliki 14 pin digital dan
6 pin analog yang dapat digunakan sebagai input dan output. Pada Modul server dan
modul sensor keduanya dihungkan dengan NRF24L01.

Universitas Sumatera Utara

Gambar 3.7 Rangkaian NRF24L01 pada Raspberry


Pin yang digunakan NRF24L01 pada Raspberry adalah:
1. Pin VCC dihubungkan dengan 3.3V
2. Pin GND dihubungkan dengan GND
3. Pin CSN dihubungkan dengan GPIO 8
4. Pin CE dihubungkan dengan GPIO 17
5. Pin MOSI dihubungkan dengan GPIO 10
6. Pin MISO dihubungkan dengan GPIO 9
7. Pin SCK dihubungkan dengan GPIO 11

Universitas Sumatera Utara

Gambar 3.8 Rangkaian NRF24L01 pada Arduino

Pin yang digunakan NRF24L01 pada Arduino Nano adalah:
1. Pin VCC dihubungkan dengan 3.3V
2. Pin GND dihubungkan dengan GND
3. Pin CSN dihubungkan dengan Digital 10
4. Pin CE dihubungkan dengan Digital 9
5. Pin MOSI dihubungkan dengan Digital 11
6. Pin MISO dihubungkan dengan Digital 12

7. Pin SCK dihubungkan dengan Digital 13

3.5.2. Rangkaian Sensor dengan Arduino Nano
Pada perancangan alat ini sensor digunakan sebagai alat yang mendeteksi perubahan
fisika yang akan digunakan pada modul sensor untuk mendeteksi pencuri. Untuk
bekerka maksimal sensor dihubungkan dengan digital pin pada arduino seperti gambar
3.9 berikut.

Universitas Sumatera Utara

(a)

(b)

Gambar 3.9 Rangkaian Sensor pada Arduino

Pin yang digunakan Sensor pada Arduino adalah :
1. Sensor PIR dihubungkan dengan Digital 5 yang berfungsi untuk mendeteksi
perubahan panas oleh gerakan manusia
2. Sensor Getar dihubungkan dengan Digital 2 yang berfungsi untuk mendeteksi

perubahan getaran pada modul sensor.

3.5.3. Rangkaian Buzzer dengan Arduino
Pada perancangan ini Buzzer digunakan untuk alarm pada modul sensor , Pin yang
digunakan pada buzzer ini adalah Pin 7. Gambar 3.10 berikut adalah gambar
rangkaian buzzer pada arduino.

Gambar 3.10 Rangkaian Buzzer pada Arduino Uno

Universitas Sumatera Utara

3.5.4 Rangkaian Alat Secara Keseluruhan
Pada gambar 3.11 dan gambar 3.12 dibawah dapat dilihat seluruh gabungan dari
sistem keamanan , dibagi menjadi dua yaitu Modul server dan Modul sensor. Namun
untuk modul server hanya NRF24L01 yang berinteraksi dengan GPIO selebihnya
untuk kamera, modem, peranti wifi menggunakan sistem plug-in.

Gambar 3.11 Rangkaian Sistem Modul Server

Gambar 3.12 Rangkaian Sistem Modul Sensor


Universitas Sumatera Utara

3.6. Perancangan PCB (Printed Circuit Board)
Printed Circuit Board (PCB) adalah sebuah papan rangkaian yang terbuat dari bahan
ebonit (Pertinax) atau fiber glass dimana salah satu sisi permukaanya dilapisi dengan
tembaga tipis. Jenis ini umumnya disebut singleside karena hanya memiliki satu
permukaan yang berlapiskan tembaga. Sedangkan PCB yang ke dua sisinya digunakan
untuk pembuatan rangkaian yang bersifat kompleks dan rumit, sehingga ke dua bagian
sisinya dapat difungsikan sebagai jalur dan tempat komponen-komponen.
Perancangan PCB pada pembuatan alat sortir buah ini menggunakan software
ISIS & ARES Proteus 8.0. Proteus adalah sebuah software berbasis windows yang
dapat digunakan untuk mendesain PCB yang juga dilengkapi dengan simulasi pspice
pada level skematik sebelum rangkaian skematik di cetak pada PCB.
Dengan perancangan yang tepat akan didapatkan layout PCB yang tersusun
rapi dan mudah digunakan. Lebar dan jarak antara jalur juga harus diperhitungkan
agar tidak terjadi kesalahan atau hubungan singkat akibat jalur yang terlalu rapat dan
sempit.

Gambar 3.13 Layout PCB Shield Arduino dan LCD

Tata letak komponen adalah susunan komponen-komponen elektronika dari gambar
diagram skematik yang akan dipasangkan pada permukaan PCB yang berkebalikan
dengan jalur PCB. Susunan komponen elektronika tersebut harus bersesuaian dengan
jalur PCB. Setiap komponen yang akan dipasang mempunyai ukuran harus
bersesuaian dengan jalur PCB. Setiap komponen yang akan dipasang mempunyai
ukuran yang tepat dan ruang yang cukup pada permukaan PCB.

Universitas Sumatera Utara

Gambar 3.14 Print out PCB
3.7. Perancangan Perangkat Lunak (Software) Sistem Keamanan
Perancangan perangkat lunak dibuat melalui software IDE (Integrated Developer
Environment) Arduino itu sendiri dengan menggunakan bahasa C. Pada sistem
penyortiran ini, program dibuat agar dapat menerima input dari NRF24L01 yang
dikirimkan dari modul server dan memberikan outputlagi ke NRF24L01 mengirim
data sensor ke modul server.
Perangkat keras sebagai pengendali tidak dapat bekerja jika tidak disertai
dengan perangkat lunak sebagai pengatur fungsi kerja keseluruhan sistem. Perangkat
bertugas untuk menentukan langkah-langkah yang harus dilakukan arduino baik input
maupun output pada keseluruhan sistem, sehingga nantinya dapat ditentukan arah
kendali atau proses dari sistem yang dibuat. Arduino merupakan pengendali utama
dari keseluruhan sistem modul sensor. Arduino tidak akan bisa berfungsi jika
didalamnya tidak di masukkan sebuah program (software). Flowchart pemograman
mikrokontroler arduino dapat dilihat pada lampiran B.

Universitas Sumatera Utara

BAB 4
IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi Sistem
Implementasi merupakan tahap kelanjutan dari perancangan dan pembuatan alat. Hasil
dari implementasi ini nantinya adalah sebuah alat yang siap diuji dan digunakan.
Implementasi Sistem keamanan perancangan rangkaian elektronika Modul sensor.

4.1.1. Implementasi Rangkaian Elektronika Modul sensor
Implementasi rangkaian sistemkeamanan dilakukan dengan menggunakan papan PCB
single layer. Papan PCB digunakan karena peletakan komponen yang lebih rapi dan
mengurangi resiko komponen yang terlepas karena sudah menyatu pada papan PCB
dengan cara di solder.
Tahapan-tahapan implementasi rangkaian elektronika alat sortir pada papan
PCB akan dijelaskan sebagai berikut:
1. Pembuatan layout PCB. Pembuatan layout dilakukan dengan membuat gambar
skematik rangkaian dengan menggunakan software Proteus 8 ISIS. Skematik
adalah rangkaian gambar yang menghubungkan komponen-komponen pada
sebuah rangkaian elektronik. Gambar layout PCB dapat dilihat pada gambar
4.1.

Universitas Sumatera Utara

Gambar 4.1 Pembuatan Layout PCB
2. Layout PCB dicetak pada kertas foto menggunakan printer laser. Hasil
pencetakan layout pada kertas foto kemudian di sablon diatas PCB dengan
cara permukaan layout gambar di letakkan diatas lapisan tembaga pada papan
PCB, kemudian dipanaskan menggunakan setrika listrik agar layout pada
kertas foto menempel pada permukaan tembaga papan PCB. Hasil pencetakan
dan penyablonan layout pcb dapat dilihat pada gambar 4.2.

Gambar 4.2 Hasil Pencetakan dan penyablonan PCB
3. Tahap pelarutan PCB. Pelarutan papan PCB menggunakan larutan
ferrichloride (FeCl3) dengan cara memasukkan papan PCB kedalam larutan
ferrichloride (FeCl3) hingga tembaga pada papan PCB yang tidak tertutup oleh
gambar layout larut. Pelarutan PCB dapat dilihat pada gambar 4.3.

Universitas Sumatera Utara

Gambar 4.3 Pelarutan PCB dengan Ferrichloride(FeCl3)
4. Tahap pengeboran PCB. PCB yang telah larut harus melalui tahap pengeboran
dahulu sebelum digunakan. Pengeboran dilakukan menggunakan mata bor 0,8
mm untuk peletakan komponen yang akan di solder pada papan PCB.
Pengeboran dapan dilihat pada gambar 4.4.

Gambar 4.4 Pengeboran PCB
5. Setelah proses pengeboran selesai, komponen diletakkan pada papan PCB
sesuai lubang peletakan komponen untuk selanjutnya dilakukan penyolderan.
Peletakan dan penyolderan komponen dapat dilihat pada gambar 4.5.

Universitas Sumatera Utara

Gambar 4.5 Peletakan dan Penyolderan Komponen

4.2. Implementasi Perangkat Lunak (Software)
Implementasi program disini ada dua peran baik di modul server maupun dimodul
sensor, pada modul sensor mikrokontroller arduino dibuat menggunakan bahasa
pemrograman C. Sedangkan pada modul server menggunakan bahasa python sebagai
bahasa pemograman inti dan PHP HTML untuk interface pengaturan dan
monitoringnya.

4.2.1 Implementasi perangkat lunak Modul Sensor
Software yang digunakan untuk membuat program adalah editor dan compiler
Arduino. File program berekstensi *.ino file yang sudah dikompilasi akan di upload
kedalam mikrokontroller arduino. Penulisan kode/script yang ditanamkan (embed)
pada software IDE arduino dapat dilihat pada gambar 4.6 dan kode/script
pemograman mikrokontroler arduino secara keseluruhan dapat dilihat pada lampiran
A.

Gambar 4.6 Software IDE Arduino

4.2.2 Implementasi Software
Software yang digunakan untuk membuat program adalah editor dan compiler
Arduino. File program berekstensi *.ino file yang sudah dikompilasi akan di

Universitas Sumatera Utara

uploadkedalam mikrokontroller arduino. Penulisan kode/script yang ditanamkan
(embed) pada software IDE arduino dapat dilihat pada gambar 4.8 dan kode/script
pemograman mikrokontroler arduino secara keseluruhan dapat dilihat pada lampiran
A.

4.3. Pengujian Alat
Pengujian bertujuan untuk menemukan kekurangan pada alat dan memastikan apakah
alat yang telah dibuat dapat berjalan dengan baik. Pengujian alat yang dilakukan
meliputi pengujian sensor PIR, sensor Geter, modul NRF24L01 dan pengujian alat
secara keseluruhan.

4.3.1. Pengujian Sensor PIR
Pengujian dilakukan untuk mengetahui apakah rangkaian sensor PIR dapat berjalan
dengan baik dan bisa menampilkan nilai deteksi HIGH dan LOW. Pengujian dilakukan
dengan menghubungkan pin output sensor warna pada pin Digital 2. Berikut adalah
program untuk pengujian sensor PIR.
int inputPin = 2;
int pirState = LOW
int val = 0;
void setup() {
pinMode(inputPin, INPUT);
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin);
if (val == HIGH) {
if (pirState == LOW) {
Serial.println("Motion detected!");
pirState = HIGH;
}
} else {
if (pirState == HIGH){
Serial.println("Motion ended!");

Universitas Sumatera Utara

pirState = LOW;
}
}
}
}

Gambar 4.7Hasil pembacaan motion dengan serial monitor
Dari gambar 4.7 dapat kita lihat bahwa sensor PIR mampu mendeteksi motion sesuai
dengan prakteknya. Nilai motion yang di dapat berupa HIGH dan LOW berasal dari
halangan yang diberi didepan sensor.
4.3.2. Pengujian Sensor Getar
Pengujian dilakukan untuk mengetahui apakah rangkaian sensor Getar dapat berjalan
dengan baik dan bisa menampilkan nilai getaran. Pengujian dilakukan dengan
menghubungkan pin output sensor warna pada pin Digital 5. Berikut adalah program
untuk pengujian sensor getar.
int EP = 5;
void setup(){
pinMode(EP, INPUT);
Serial.begin(9600);
}
void loop(){
long measurement = TP_init();
delay(50);
Serial.println(measurement);
}
long TP_init(){
delay(10);
long measurement=pulseIn (EP, HIGH);

Universitas Sumatera Utara

return measurement;
}

Gambar 4.8Hasil pembacaan nilai getaran dengan serial monitor

Dari gambar 4.8 dapat kita lihat bahwa sensor getar mampu menghasilkan nilai
getaran sesuai dengan prakteknya. Nilai getar yang di dapat berupa range 0 – nilai
tertentu berasal dari getaran hasil kontak langsung dengan sensor.

4.3.3. Pengujian komunikasi nirkabel antara Arduino Nano dan Raspberry
Pengujian dilakukan untuk mengetahui apakah rangkaian ini dapat berkomunikasi satu
dengan yang lainnya dan dapat mengirimkan data juga dapat menerima data. Pada
pengujian ini masing masing dipasangkan modul NRF24L01 pada Raspberry dan
Arduino nano kemudian dibuat kode untuk mengirimkam data pada masing masing
device.

Pada percobaan ini arduino nano mengirim kalimat “Hello World” ke raspberry Pi
dengan kode berikut :
#include
#include
RF24 radio(9,10);

Universitas Sumatera Utara

void setup() {
radio.begin();
radio.setPALevel(RF24_PA_MAX);
radio.setChannel(0x76);
radio.openWritingPipe(0xF0F0F0F0E1LL);
radio.enableDynamicPayloads();
radio.powerUp();
}

void loop() {
// put your main code here, to run repeatedly:
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(1000);
}

Pada Raspberry juga dibuatkan kode untuk menerima kiriman dari arduino. Perlu
diketahuibahwa panjang data yang dapat dikirimkan dari NRF24L01 hanya sebanyak
32 karakter saja untuk panjang maksimum.
import RPi.GPIO as GPIO
from lib_nrf24 import NRF24
import time
import spidev
GPIO.setmode(GPIO.BCM)
pipes

=

[[0xE8,

0xE8,

0xF0,

0xF0,

0xE1],

[0xF0,0xF0,0xF0,0xF0,0xE1]]
radio = NRF24(GPIO, spidev.SpiDev())
radio.begin(0,17)
radio.setPayloadSize(32)
radio.setChannel(0x76)
radio.setDataRate(NRF24.BR_1MBPS)
radio.setPALevel(NRF24.PA_MIN)

Universitas Sumatera Utara

radio.setAutoAck(True)
radio.enableDynamicPayloads()
radio.enableAckPayload()
radio.openReadingPipe(1,pipes[1])
radio.printDetails()
radio.startListening()
while True:
while not radio.available(0):
time.sleep(1/100)
receiveMessage = []
radio.read(receiveMessage,
radio.getDynamicPayloadSize())
print("Received: {}".format(receiveMessage))
print("Translate dari unicode karakter...")
string = ""
for n in receiveMessage:
if(n>=32 and n