10
Universitas Kristen Petra 3. DESAIN SISTEM
3.1 Analisis
Perangkat yang akan dibuat terdiri menjadi 2, yaitu perangkat hardware untuk feeder dan perangkat software aplikasi untuk mengendalikan perangkat hardware. Tujuan utama pembuatan pet feeder ini adalah memudahkan user pemilik hewan peliharaan untuk memberi makan peliharaannya, meski sedang berada jauh dari rumah. Selain itu, pemberian makan juga bisa dilakukan secara otomatis dengan mengatur jadwal makan yang di menu yang ada di aplikasi. Dalam pembuatan perangkat hardware, dibutuhkan beberapa perangkat listrik untuk menjalankannya, antara lain adalah WeMos D1, motor stepper, sensor berat, RTC. Masing-masing perangkat listrik memiliki peran sendiri, seperti WeMos yang menjadi pusat control dan sumber daya untuk perangkat listrik yang lain, motor stepper yang menjadi penggerak untuk pintu penutup tempat makan, sensor berat untuk menakar makanan yang dikeluarkan sehingga sesuai dengan porsi makan hewan peliharaan, dan RTC untuk mengetahui satuan waktu di WeMos. WeMos juga dilengkapi dengan wifi modul ESP8266 yang memungkinkan perangkat hardware dapat terhubung ke server.
Software aplikasi juga dapat terhubung dengan server karena akan mengirimkan data ke database seperti data login user dan input data hewan peliharaan. Aplikasi yang dibuat juga dapat membaca data dari database yang berguna untuk melakukan report data di aplikasi. Dengan ini komunikasi antara aplikasi dan hardware berjalan dengan baik.
3.2 Desain
Untuk desain pada skripsi ini akan dibagi menjadi 2, yaitu desain untuk perangkat hardware dan desain UI untuk aplikasi. Desain hardware berisi gambaran rancangan pada perangkat listrik penyusun perangkat hardware dan desain aplikasi berisi UI yang akan dibuat. Berikut Arsitektur Sistem Pet Feeder ini :
11
Universitas Kristen Petra Gambar 3.1 Desain Arsitektur Sistem
3.2.1 Desain Perangkat Hardware
Dalam pembuatan perangkat hardware, membutuhkan 2 macam desain. Yang pertama untuk perangkat listrik dan kedua untuk alat feeder yang dibuat. Desain perangkat listrik mencakup komponen apa saja yang digunakan dan bagaimana terhubungnya komponen satu dengan lainnya. Desain feeder berisi desain tempat penyimpanan makanan dan tempat meletakkan perangkat listrik.
3.2.1.1 Desain Feeder Perangkat
Gambar 3.2 Desain Alat
Tempat Menyimpan Makanan
Motor Stepper
Load Cell Sensor WeMos dan perangkat
lainnya APP INTERNET MQTT BROKER FIREBASE IP CAM ARDUINO RTC WiFi FEEDER ROUTER
12
Universitas Kristen Petra Gambar diatas merupakan penampilan ilustrasi perangkat hardware yang sudah terpasang semua. Tempat penyimpanan makanan dilengkapi dengan tutup yang dapat dibuka untuk mengisi ulang jika sudah habis. Tempat makan diletakkan diatas loadcell sensor agar dapat terbaca berapa gram makanan yang telah dikeluarkan sesuai dengan porsi yang ditentukan.
3.2.1.2 Rangkaian Listrik
13
Universitas Kristen Petra Gambar diatas merupakan gambar rangkaian listrik yang digunakan dalam perangkat pemberi makan otomatis yang akan dibuat. Perangkat listrik yang digunakan antara lain adalah : WeMos D1 R2, RTC, HX711 sebagai modul sensor Load Cell 1Kg, Motor Stepper dan modul ULN, adaptor, ESP8266 wifi built-in. Untuk RTC pin yang tersambung adalah pin SCL, SDA, VCC, dan GND yang berasal dari RTC menuju ke pin SCL, SDA, VCC, dan GND pada board Wemos. Untuk sensor LoadCell pin yang terhubung ke driver HX711 adalah pin E+, E-, A+, dan A-. Kemudian pin driver HX711 yang harus terhubung ke board Wemos adalah pin VCC ke pin VCC board, in GND ke pin GND board, pin SCK ke pin D7 board, dan pin DT ke pin D8 board. Untuk motor stepper sedikit berbeda penggunaan pinnya karena pada motor stepper telah tersedia pin khusus untuk terhubung antara motor dan driver motor stepper. Pin yang harus dihubungkan dari driver ke board adalah pin IN1 driver ke pin D3 board, pin IN2 ke pin D4 board, pin IN3 ke pin D5 board, pin IN4 ke pin D6 board, pin + ke pin VCC 5v board karena motor stepeer membutuhkan daya sebesar 5v untuk bergerak, dan pin – driver ke pin GND pada board. Sumber listrik yang akan dipakai adalah adaptor, tetapi juga bisa menggunakan USB yang disambungkan langsung ke stop kontak. Tegangan positif yang digunakan sebesar 5V di pin 5V WeMos dan Ground sebagai tegangan negative di pin GRN WeMos. Berikut Gambar dengan pin yang digunakan dalam proyek ini :
14
Universitas Kristen Petra Gambar 3.4 Rancangan dengan PIN Arduino
3.2.1.3 Flowchart Perangkat Automatic Feeder
15
Universitas Kristen Petra Flowchart diatas merupakan gambaran besar apa saja fitur yang disediakan oleh perangkat pet feeder ini.
Gambar 3.6 Flowchart Proses set jadwal
Flowchart diatas menunjukan proses pengaturan jadwal makan hewan peliharaan melalui aplikasi mobile. User memasukkan jadwal pemberian makan yang diinginkan melalui aplikasi yang kemudian akan disimpan di database dan mengupdate jika sudah ada data yang tersimpan.
Gambar 3.7 Flowchart Koneksi ke Database
START
16
Universitas Kristen Petra Flowchart diatas menjelaskan tentang proses update database. Pertama, aplikasi mobile harus terkoneksi terlebih dahulu dengan database, setelah itu database akan melakukan update data yang tersimpan.
Gambar 3.8 Flowchart Update Database
Flowchart diatas memperlihatkan proses pengambilan data yang tersimpan di database seperti email dan password yang digunakan untuk login, selain itu pengambilan data email dan password memiliki fungsi agar perangkat feeder tidak dapat digunakan oleh dua orang berbeda dalam waktu yang sama. Waktu penjadwalan pemberian makan serta banyaknya makanan yang ingin diberikan juga perlu diambil dari database.
17
Universitas Kristen Petra Gambar 3.9 Flowchart Proses Pemberian Makan Manual
Flowchart di atas menunjukan proses pemberian makan secara manual dengan menekan tombol di aplikasi mobile. Pertama user memasukan berapa banyak makanan yang ingin diberikan dalam satuan gram. Kemudian pada saat tombol beri makan di klik, maka aplikasi akan mengirim perintah ke perangkat feeder melalui broker MQTT. Jika data sudah diterima oleh perangkat feeder, maka motor stepper akan membuka dan makanan turun ke wadah makanan yang diletakkan diatas sensor berat, sehingga berat makanan yang dikeluarkan akan sesuai degan yang user ingin berikan. Jika berat sensor sama dengan berat makanan yag user igin berikan, maka motor stepper akan bergerak kembali dan menutup tempat keluar makanan.
18
Universitas Kristen Petra Gambar 3.10 Flowchart Memberi Makan Otomatis
Flowchart diatas menunjukan proses pemberian makan secara otomatis. Pertama data jadwal pemberian makanan dikirimkan ke microcontroller dan di cocokan dengan waktu yang terbaca di arduino dengan bantuan RTC. Jika sudah sesuai, maka stepper akan terbuka sehingga makanan akan turun ke wadah yang disediakan.
19
Universitas Kristen Petra 3.3 Tampilan UI Mobile App
Gambar 3.11 Tampilan layout Log in
Tampilan ini menjelaskan bahwa pada awal aplikasi berjalan, user akan diminta untuk login ke akun mereka masing-masing jika sudah membuat. Jika belum maka disediakan tombol sign up here agar user dapat segera membuat akunnya.
UI dibawah adalah tampilan ketika user baru mendaftar agar mendapat akun. User akan diminta untuk mengisi username, email, dan password yang akan digunakan dalam aplikasi ini. Setelah menekan tombol create, maka user akan diarahkan kembali ke menu login pertama kali. Menu login pertama kali bisa dilihat pada gambar 3.11.
20
Universitas Kristen Petra Gambar 3.12 Layout Register User
Gambar 3.13 Layout Manage Device
Setelah user melakukan login, user akan masuk ke halaman untuk mengatur device atau hardware. Dilengkapi dengan fitur add hardware jika ada hardware lain yang ingin dikendalikan dan fitur delete hardware jika sudah tidak memakai
Email Password
21
Universitas Kristen Petra hardware yang lama. Disini user juga bisa memilih mau menggunakan device yang mana. Setelah dipilih atau dicentang klik tombol next untuk ke menu selanjutnya.
Gambar 3.14 Layout Pengaturan Jadwal
Di tampilan UI di atas, menunjukan UI untuk mengatur jadwal pemberian makan. Disini user akan diminta untuk menginputkan tanggal, waktu, dan jumlah makanan yang akan diberikan dalam satuan gram. Jika ingin menambahkan jadwal makan, tinggal klik tombol tambahkan untuk menambahkan jadwal makanan lagi. Jadwal makanan yang telah diset akan keluar di sebelah kiri seperti gambar UI diatas. Jika sudah, maka klik tombol next untuk ke halaman selanjutnya.
22
Universitas Kristen Petra Gambar 3.15 Layout Utama
UI diatas menunjukan menu utama di aplikasi ini, yaitu IP Cam dan pemberian makanan secara manual. Tampilan IP Cam berada diatas di kotak hitam dalam UI. Sedangkan untuk pemberian makan secara manual, user tinggal memasukan jumlah makanan yang diinginkan dalam gram dan menekan tombol feed. Pada saat tombol feed ditekan, maka stepper penutup pintu wadah penyimpanan akan terbuka dan makana akan turun. Stepper menutup pintu kembali pada saat berat pada sensor Load Cell sudah setara dengan inputan user.
23
Universitas Kristen Petra 3.4 Database
24
Universitas Kristen Petra Gambar diatas merupakan context diagram untuk pembuatan pet feeder ini. Jadi secara garis besar cara kerja aplikasi dan hardware ini terpampang di context diagram. Dalam hal ini, ada 3 entitas dan dijelaskan sebgai berikut :
1. User
Entity utama yang menjadi focus akan aplikasi ini, karena nantinya user yang akan mengendalikan perangkatnya sendiri. User memerlukan login dahulu agar tercatat datanya di database dan mempermudah seleksi untuk data lain milik user tersebut
2. Arduino
Entity kedua dengan tugas mendukung bagaimana cara kerja memberi makan secara otomatis dengan memanfaatkan teknologi arduino dan perangkat listrik lainnya. Selain itu entity ini juga dapat mengirim report jika makanan hewan peliharaan kita sudah keluar dari penyimpanan seberat data yang kita masukkan.
3. Database
Entity yang memungkinkan user menyimpan semua data-data mereka agar arduino bisa bergerak sesuai dengan apa yang mereka mau.
Gambar 3.17 Desain Database
Gambar diatas adalah data-data yang akan di update ke database dari mobile app. Untuk user perlu diupdate di database agar dapat login ke aplikasi. Jadwal makan perlu untuk di upload ke database karena arduino akan mengambil data dan mencocokan dengan RTC.