10
BAB III
PERANCANGAN SISTEM
Perancangan sistem berikut berisi pembahasan terkait perancangan sistem pengontrolan amplifier otomatis dengan image processing berbasis IoT.
Perancangan sistem ini menggunakan metode IoT sebagai media akses data utuk memantau kerja amplifier dari PC. Kamera akan melakukan tracking objek dari suatu ruangan kemudian mengirimkan informasi ke Raspberry Pi untuk melakukan penyesuaian volume otomatis dan menghitung jumlah antrian. Berikut diagram blok perancangan sistem :
Gambar 3.1 Diagram Blok Perancangan Sistem
Berdasarkan diagram blok perancangan sistem pada gambar 3.1 pemantauan dilakukan secara jarak jauh dengan PC melalui jaringan IoT. Kamera yang terpasang pada gate antrian melakukan tracking adanya manusia yang keluar masuk pada ruangan dan sistem akan menghitung jumlah antrian. Data hasil perhitungan sistem di kirim ke Raspberry Pi untuk proses penyesuaian motor servo sesuai jumlah antrian. Motor servo bekerja sesuai instruksi dari Raspberry Pi untuk melakukan penambahan atau pengurangan volume sesuai jumlah antrian.
Sehingga tingkat kekerasan yang dihasilkan amplifier sesuai dengan porsi ideal pendengaran manusia. Jumlah antrian dan tingkat kekerasan yang dikeluarkan amplifier dapat di pantau secara real-time dari aplikasi yang dijalankan di PC.
Keluaran dari mikrokontroller menggunakan motor servo sebagai aktuator.
Motor servo dapat berputar dengan besar sudut yang telah di sesuaikan. Motor
Speaker
11
servo berfungsi sebagai mekanik untuk mengontrol besarnya tekanan suara yang dihasilkan amplifier dengan memutar potensiometer.
3.1 Perancangan Sensor
Pada perancangan Perancangan Pengendali smart amplifier Dengan image processing berbasis IoT menggunakan kamera Logitech C270 sebagai sensor untuk mendeteksi manusia yang keluar masuk antrian. Pada sistem ini menggunakan kamera sebagai sensor karena kamera dapat mendeteksi objek dengan akurasi yang lebih tinggi dengan menggunakan pengolahan citra digital (image processing).
Gambar 3.2 Perancangan Sensor Kamera 3..1.1 Perancangan image processing
Image processing berfungsi sebagai sensor untuk mendeteksi objek yaitu manusia untuk melakukan tracking dan menghitung jumlah antrian. Dalam sistem image processing, peneliti menggunakan kamera Logitech C270 yang dihubungkan dengan PC untuk di proses datanya menggunakan metode background substraction. Dengan metode background substraction, kamera dapat mendeteksi objek sehingga kemudian jumlah objeknya di hitung untuk kemudian di teruskan ke mikrokontrol untuk melakukan kontrol pada amplifier.
3.1.2 Background Substraction
Background substraction adalah sebuah algoritma yang digunakan untuk mengolah citra/gambar dari kamera untuk dapat melakukan tracking pada objek manusia. Dengan metode background substraction, sistem dapat mengambil
12
informasi dari gambar yang di ambil dari kamera. Untuk mengenali informasi yang diberikan oleh gambar dari kamera, background substraction memiliki beberapa tahapan dalam menganalisa gambar. Background substraction memanfaatkan perbandingan gambar dari objek dengan gambar latar belakang.
Proses pertama yaitu mengesktrak gambar untuk melakukan tracking objek yang telah di tentukan. dalam penelitian ini objek yang di deteksi adalah manusia.
Background substraction mendeteksi manusia dengan cara mencocokkan matriks gambar manusia dengan training image yang telah di masukkan di database. Jika ada matriks yang sama atau mendekati maka background substraction akan menginisialisasi bahwa pada gambar tersebut terdapat pergerakan manusia.
Berikut adalah source code untuk menentukan luas frame video:
Tahapan selanjutnya yaitu setelah sistem dapat melakukan tracking adanya pergerakan manusia, maka sistem akan menentukan arah gerakan dari objek tersebut. Dengan memiliki 2 keputusan yaitu “masuk antrian” dan “keluar antrian”. Selanjutnya jumlah akan dihitung berdasarkan data yang diambil dari kamera secara realtime. Data dari tracking kamera akan diteruskan ke mikrokontrol yaitu raspberry pi. Berikut ini adalah source code untuk pengambilan keputusan dalam menentukan objek tersebut keluar atau masuk antrian :
if i.going_UP(line_down,line_up) == True:
aa=database.child("Setting").child("jumlah").get() ba=database.child("Setting").child("volume").get() a=str(int(aa.val())+1)
b=str(float(ba.val())+20) h = 480
w = 640
frameArea = h*w areaTH = frameArea/20
print( 'Area Threshold', areaTH)
13
Pada program diatas adalah untuk melakukan tracking jika ada yang masuk kedalam antrian. Program akan mendeteksi adanya manusia yang masuk kedalam antrian jika objek terdeteksi bergerak dari garis pembatas “line_down” menuju ke garis “line_up”. Selanjutnya sistem akan mengirimkan instruksi untuk menambahkan sudut motor sevo sebesar 20 derajat. Selanjutnya yaitu source code untuk melakukan tracking saat objek keluar antrian :
Kebalikan dari program sebelumnya, pada program ini adalah untuk menginisialisasi adanya objek yang keluar antrian yaitu saat objek terdeteksi bergerak dari garis “line_down” menuju garis “line_up”, kemudian menginstruksikan motor servo untuk berputar ke kiri sebesar 20 derajat.
3.2 Perancangan Mikrokontrol Raspberry pi
Perancangan mikrokontrol menggunakan raspberry pi sebagai mikrokontroller untuk mengolah data dari kamera dan melakukan instruksi pada output yaitu motor servo untuk melakukan penambahan ataupun pengurangan volume pada amplifier secara otomatis. Berikut tabel konfigurasi pinout pada raspberry untuk melakukan pengolahan data dari kamera dan melakukan kontrol
otomatis pada motor servo :
Tabel 3.1 Konfigurasi Pin Raspberry Pi
Pinout Raspberry Pi Fungsi Pin Keterangan
Usb 2.0 Kamera Logitech C270 Untuk pengiriman data dari kamera
Pin 5 Volt Motor Servo Sumber tegangan positif
GND Motor Servo Sumber tegangan negatif
GPIO 19 Signal Motor Servo Output
elif i.going_DOWN(line_down,line_up) == True:
aa=database.child("Setting").child("jumlah").get() ba=database.child("Setting").child("volume").get() a=str(int(aa.val())-1)
b=str(float(ba.val())-20)
14
Sesuai tabel konfigurasi pin raspberry pi, untuk merancang mikrokontrol dan motor servo menggunakan pin GPIO 19 sebagai pin untuk manipulasi sinyal motor servo. Motor servo akan berputar ke kanan atau ke kiri untuk melakukan kontrol volume sesuai program pada raspberry pi. Berikut gambar perancangan mikrokontrol raspberry pi :
Gambar 3.3 Perancangan Mikrokontrol
Untuk menentukan besarnya sudut motor servo saat penambahan volume, maka dapat di hitung sebagai berikut :
Diketahui, spesifikasi output speaker yang digunakan, maksimal yaitu 100 dB, dan batas penggunaan adalah 80dB, total putaran potensiometer untuk mencapai volume maksimal adalah 270 derajat, sehingga untuk mencari putaran potensiometer dan membatasi keluaran menjadi 80dB, kita dapat mencari dengan persamaan :
Maka untuk mencari nilai x adalah :
216 derajat.
Diketahui, kapasitas maksimal 10 orang, untuk menentukan besaran sudut motor servo setiap pertambahan antrian, maka di cari dengan rumus :
= 21,6 derajat. Jadi putaran motor servo untuk mencapai 3dB setiap bertambahnya antrian membutuhkan putaran sebesar 21,6 derajat.
15 3.3 Perancangan Monitoring dan Kontrol IoT
Perancangan monitoring dan kontrol secara internet of thing (IoT) diperlukan untuk memonitoring kerja dari amplifier secara realtime dari jarak jauh dan juga dapat mengontrol kerja dari amplifier secara manual. Karena sistem ini memiliki fitur dapat dioperaasikan secara otomatis oleh kamera, ataupun dioperasikan secara manual dengan smartphone. Smartphone berisi tampilan besaran tekanan suara yang dihasilkan amplifier, dan menginformasikan jumlah antrian dalam ruangan tersebut. Sistem akan berjalan secara otomatis yang di kontrol oleh kamera.
Dalam perancangan IoT, diperlukan aplikasi android untuk melakukan kontrol dan monitoring secara realtime. Untuk sistem image processing menggunakan aplikasi remote desktop yang bekerja untuk memantau frame video secara realtime dari jalanya image processing. Seluruh data yang dikirim dari raspberry pi akan di upload dan update secara otomatis pada server firebase.
Untuk mengalamatkan raspberry ke database, maka perlu melakukan konfigurasi dengan alamat sebagai berikut :
config = {
"apiKey": "AIzaSyBunOtlKW6TMhm5EI2a7MHZEmXQqzjfrA0", "authDomain": "monitor-b6623.firebaseapp.com",
"databaseURL": "https://monitor-b6623-default-rtdb.firebaseio.com", "projectId": "monitor-b6623",
"storageBucket": "monitor-b6623.appspot.com", "messagingSenderId": "358185500185",
"appId": "1:358185500185:web:1cfe37736dec9e50e87488"
};
Untuk mendapatkan kode apikey,domain,URL, dan id aplikasi didapatkan dengan cara membuka source code yang terdapat pada website firebase.
Kemudian kode – kode tersebut di konfigurasikan pada raspberry agar data dapat terkirim ke database.
16
Gambar 3.4 Tampilan website firebase 3.3.1 Perancangan perangkat lunak (Software)
Setelah beberapa tahapan perancangan perangkat keras, maka diperlukan perancangan perangkat lunak untuk pendukung jalanya sistem. Beberapa perancangan perangkat lunak diantaranya adalah android studio yang merupakan aplikasi sebagai platform untuk melakukan kontrol dan monitoring iot berbasis android.
3.3.2 Android Studio
Untuk melakukan monitoring melalui smartphone, maka peneliti harus merancang sebuah aplikasi yang support dengan smartphone. Android studio adalah salah satu platform untuk membuat aplikasi berbasis android, yang dapat dioperasikan melalui PC. Dalam android studio, kita dapat merancang sebuah aplikasi dengan tampilan sesuai ketentuan yang telah kita buat, juga dapat diberikan tombol - tombol sebagai pengontrolan suatu perangkat lain yang terhubung secara internet of thing (IoT). Android studio menggunakan bahasa pemrograman “Java”. Untuk membuat aplikasi yang bisa berjalan dengan sistem IoT, maka melakukan konfigurasi terlebih dahulu untuk import data dari database dengan source code berikut ini :
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
17
Dengan source code tersebut, maka data pada aplikasi otomatis akan terupdate sesuai data yang terdapat pada database. Setelah aplikasi terhubung dengan database, dan terdapat koneksi internet, maka aplikasi akan berjalan otomatis sesuai informasi dari database.
Gambar 3.5 Tampilan aplikasi android 3.4 Perancangan Output
Dengan hasil output yang berupa suara, maka diperlukan perancangan perangkat output yaitu power amplifier. Fungsi power amplifier untuk meningkatkan besar tekanan suara dari sinyal masukan agar dapat di dengar jelas oleh antrian. Untuk merubah sinyal listrik mnjadi gelombang suara, maka setelah sinyal input di kuatkan oleh amplifier maka sinyal keluaran dari amplifier yang berupa snyal listrik akan dirubah menjadi sinyal suara oleh speaker. Berikut gambar perancangan amplifier :
Gambar 3.6 Perancangan amplifier