## Pembuatan Prototipe Alat Pemberi Pakan Kucing Otomatis Berbasis Arduino Nano Dan Terintegrasi Dengan Handphone Via SMS

## Zulkarnain
Fakultas Teknik, Program Studi Elektro Universitas Langlangbuana Jl. Karapitan 116, Bandung zoel8990@gmail.com Andriana Fakultas Teknik, Program Studi Elektro Universitas Langlangbuana Jl. Karapitan 116, Bandung andriana6970@gmail.com Annisa Rosyada Fakultas Teknik, Program Studi Elektro Universitas Langlangbuana Jl. Karapitan 116, Bandung annisa.rosyada@gmail.com
Abstrak - Pembuatan prototipe alat pemberi pakan kucing otomatis membantu menyelesaikan permasalahan masyarakat yang memiliki tingkat kesibukan yang tinggi untuk memberi makan kucing peliharaan. Alat ini diatur sedemikian rupa sehingga pakan akan jatuh ke dalam piring pakan dengan berat 50 gram pada 2 waktu yang telah diatur dan akan memberikan informasi berupa SMS bahwa pakan tersbeut berhasil. Alat ini juga akan memberikan informasi berupa SMS jika pakan kucing tersebut gagal keluar dan akan memberi informasi pakan terbatas jika di tempat persedian pakan kurang dari profil yang sudah diatur. Pengujian yang di lakukan berupa pengujian komponen, pengujian sistem secara keseluruhan, dan pengujian pengaruh sensor ultrasonik dan buzzer terhadap kucing peliharaan. Pengujian komponen berfungsi untuk mengetahui apakah komponen dapat berfungsi dengan baik. Pengujian sistem secara keseluruhan merupakan pengujian sistem secara hardware dan software apakah sudah berfungsi sesuai dengan sistem yang dibuat. Pengujian pengaruh sensor ultrasonik dan buzzer berfungsi untuk menganalisa perilaku kucing terhadap sensor tersebut dengan hasil pengujian bahwa kucing berperilaku tenang (normal) dengan adanya gelombang yang dipancarkan oleh sensor ultrasonik dan suara pada buzzer.
Kata kunci - Pemberi pakan otomatis, arduino nano, motor servo, sensor ultrasonik, load cell, SIM 800L

## 1. PENDAHULUAN
Banyak hobi yang diminati masyarakat saat ini, salah satunya adalah memelihara kucing. Namun seringkali masyarakat melupakan beberapa kegiatan yang harus dilakukan saat memelihara kucing karena kesibukan. Salah satu kendala dalam pemeliharaan kucing adalah pemberian pakan. Seringkali pemilik kucing melupakan jadwal pemberian pakan kucing, sehingga dapat mengakibatkan sakit sampai kematian pada kucing. Tidak sedikit jenis kucing yang harus diperlakukan berbeda dari kucing lainnya. Dari segi jadwal pemberian makanan, takaran makanan, bahkan jenis makanan yang akan diberikan.
Merawat kucing pada masyarakat yang memiliki kesibukan tinggi merupakan masalah tersendiri bagi para penggemar kucing. Karena pada periode demikian, banyak diantara mereka yang pergi keluar kota dan terpaksa harus meninggalkan kucing peliharaannya. Secara umum, apabila kita meninggalkan kucing selama 2-3 hari maka kucing akan bertahan meskipun tidak diberi makan. Lebih lama dari itu kucing akan mulai kelaparan atau bahkan kucing itu akan sakit dan kemudian mati. Tidak banyak pilihan yang dapat dilakukan pada saat kucing ditinggal bepergian, dan hal tersebut juga akan tergantung pada jenis kucingnya. Apabila kucing memakan pakan kucing kering, maka sebuah prototipe alat pemberi pakan kucing otomatis dapat membantu. Alat ini diatur sedemikian rupa sehinggga pakan akan jatuh ke dalam piring makan kucing pada periode tertentu.
Oleh karena itu, penulis mencoba merancang sebuah alat dengan sistem otomatis pemberi pakan. Dengan sedikit sentuhan mekanik akan lebih menyederhanakan perancangan alat otomatis ini serta bantuan arduino nano yang memproses RTC untuk mempermudah mengatur jadwal pemberian makan pada kucing.

## 2. METODE

## 2.1. Perancangan Perangkat Keras
Perancangan perangkat keras terdiri dari Diagram Block Sistem dan Pembuatan Alat. Diagram Block Sistem bertujuan untuk mengetahui prinsip kerja seluruh rangkaian.

## Gambar 1. Diagram Block Sistem
Kontroler yang digunakan adalah Arduino nano yang bekerja di level tegangan 5V. Supply utama menggunakan adapter 12V yang kemudian diturunkan mengunakan stepdown 5V untuk mendapatkan teganga 5V arduino.
Input pada sistem pakan kucing otomatis terdiri dari load cell yang menggunakan jenis input ADC, button, IR led input I/O, ultrasonik dan modul RTC menggunakan input serial. Supply modul RTC didapat dari stepdown 3,3V dan batre 3,3V sebagai backup supply RTC, backup ini berfungsi supaya RTC selalu menyala sehingga data waktu pada RTC tetap real time.
Sensor Ultrasonik berfungsi untuk mengetahuin persedian pakan kucing dalam tempat persedian pakan. Motor servo berfungsi untuk menggerakkan penutup bawah tempat persedian pakan agar pakan dapat keluar dan masuk ke dalam wadah pakan. Load cell berfungsi sebagai alat ukur untuk mengidentifikasi keberhasilan keluarnya pakan kucing cari tempat persedian pakan. Buzzer sebagai alarm bahwa pakan kucing tersebut sudah habis. Push Button berfungsi sebagai setting waktu pakan.
LCD berfungsi untuk menampilan waktu, hari dan informasi lainnya seperti menampilkan setting timer yang dapat dilakukan oleh button. Modul GSM berfungsi sebagai perangkat yang mengirimkan informasi pemberitahuan berupa SMS ke pemilik alat terkait ketersediaan pakanan, keberhasilan pakan keluar dari tempat persedian pakan dan informasi lain terkait ketidak normalan alat (contoh: pakan tidak keluar).
Berikut adalah gambar perancangan perangkat keras alat yang dengan body alat dan seluncuran pakan terbuat dari bahan akrilik berwarna putih. LCD dan push button diletakkan pada bagian belakang dari alat ini. Kapasitas tempat persediaan pakan (tempat penyimpanan pakan) ini maksimal sebesar 229 gram. Sensor ultrasonik mendeteksi pakan itu habis apabila pakan tersebut kurang dari 43 gram.

## 2.2. Perancangan Perangkat Lunak
Untuk membuat perangkat keras yang sudah dibuat bekerja diperlukan perangkan lunak pada modul mikrokontroler. Perancangan perangkat lunak teridiri dari algoritma, flowchart, dan program.

## Gambar 2. Perancangan Perangkat Keras Alat
Berikut Algoritma penjelasan Flowchart:
1. Mulai
2. Inisialisasi variable, inisialisasi pin I/O
3. Baca Data : RTC, Button, Load Cell, dan Ultrasonik
4. Pengaturan profile. Jika Ya LCD akan menampilkan pilihan pengaturan profile. Jika Tidak LCD akan menampilkan real time dan ketersedian pakan.
5. Pakan lebih besar dari batas profile? Ya/Tidak
6. Jika tidak buzzer menyala, modul GMS akan kirim SMS “Pakan Habis”. Jika Ya, pakan otomatis bekerja
7. Timer profile menyala? Jika tidak kembali ke proses pakan lebih besar dari profile atau tidak. Jika Ya, motor servo bekerja dan membaca berat pada load cell selama 30 detik. Berat apakah sesuai profile? Jika Tidak modul GSM akan kirim SMS “Pakan Gagal”. Jika Ya, motor servo berhenti dan modul GSM akan kirim SMS “Pakan Berhasil”

## 8. Selesai
Untuk Gambar flowchart program pembuatan prototype alat pemberi pakan kucing otomatis berbasis arduino nano dan terintegrasi dengan handphone via SMSsebagai berikut:
Tempat Persedian
Gambar 3. Flowchart Program
Untuk program terdapat keterangan2 dalam flowchart sebagai berikut:
Inisialisasi library #include <Wire.h>
#include "RTClib.h" (Untuk Real Time Clock)
#include "PCA9685.h" (Untuk motor servo) #include "HX711.h" #include <EEPROM.h> #include <LiquidCrystal_PCF8574.h> (Untul LCD) #include <SoftwareSerial.h> (Untuk Module GSM) All Define (Definisi) #define lcdAddres 0x27 (LCD Address) #define pinsound 11 (Buzzer) #define pinswitchSet A0 (Switch Set) #define pinlimitSwitch 12 (Limit Switch) #define pinlamp 6 (Led Indicator) #define trigPin 4 (Ultrasonik Sensor) #define echoPin 5 (Ultrasonik Sensor)
#define rxGSM 3 (GSM Module) #define txGSM 2 (GSM Module)
Massage String SMSNotif1 = "Pakan Terbatas !";
String SMSNotif2 = "Pakan Habis !";
String SMSNotif3 = "Pakan Kucing Berhasil !"; String SMSNotif4 = "Pakan Kucing Gagal !"; Read Load Cell void loadCell() { scale.set_scale(calibration_factor);
GRAM = scale.get_units(), 4; if(GRAM < 0) GRAM = 0; }

## 3. HASIL DAN DISKUSI
Pengukuran dan pengujian dilakukan terhadap bagian- bagian dari sistem dan pengujian terhadap cara kerja sistem secara keseluruhan.

## 3.1. Pengujian Sistem Keseluruhan
Pengujian sistem secara keseluruhan merupakan gabungan sistem secara utuh. Sistem ini memiliki prinsip kerja mengirimkan informasi berupa SMS bahwa pakan tersebut berhasil keluar atau tidak saat pengaturan waktu yang sudah di tentukan terpenuhi. Jika waktu memberikan pakan yang diatur sudah terpenuhi, maka sistem akan mengaktifkan buzzer sebagai pertanda bahwa proses pemberian pakan akan di mulai, kemudia load cell akan membaca berat apakah berat sesuai dengan profile. Jika sesuai maka modul GSM akan mengirimkan SMS sebagai tanda pakan tersebut berhasil. Apabila pakan yang keluar dan yang terbaca pada load cell kurang dari profile, makan sistem tersebut akan melakukan perhitungan selama 30 detik. Jika tidak ada perubahan, maka pakan diinisialisasi gagal diberikan.

## Gambar 4. Pengujian Sistem Secara Keseluruhan

## 3.2. Pengujian Alat
Dalam pengujian alat ini, pengujian di bagai menjadi 4 kelompok dengan pengujian alat secara keselurahan. Ada beberapa kondisi yang akan diuji menggunakan alat tersebut. Ini bertujuan untuk mengetahuan kemampuan dari alat tersebut dan program yang dibuat apakah sudah sesuai dengan yang penulis dan pembuat inginkan. Pengujian yang akan dilakukan tersebut akan dijelaskan sebagai berikut :
1. Pengujian Dengan Wadah Kosong Dan Tempat Persediaan Pakan Berkurang
Tabel 1. Data Pengujian Pertama
Data hasil pengujian di atas terdiri dari pengaturan berat pakan yang akan diberi, pengaturan waktu/ jadwal pemberian makan, lamanya proses keluarnya pakan dari saat buzzer bunyi sampai motor servo tersebut berhenti menggerakan katup untuk keluarnya pakanan, berat pakan yang dihitung load cell dalam monitoring data serial, perbandingan antara berat pakan yang dihitung load cell dengan timbangan digital, dan notifikasi sms yang terkirim.
Pada data tersebut di peroleh jumlah pakan yang dapat keluar tanpa ada penambahan pakan kedalam tempat persediaan pakan. Total dari pakan yang dapat keluar adalah 155 gram. Untuk lamanya waktu proses keluarnya pakan bersifat tentatif menyesuaikan keadaan pakan yang dekat dengan motor servo dan berapa pakan yang sudah keluar kedalam wadah pakan.
Pada data ke 2 pakan tidak keluar (gagal), dikarenakan arduino membaca data berat pakan yang ada dalam wadah pakan dari load cell dan tidak terjadi peruhan berat selama 30 detik. Maka arduino akan memerintahkan modul GSM untuk mengirimkan notifikasi bahwa pemberian pakan tersebut gagal.
Notifikasi SMS untuk data nomor 5 dan 6 tentunda selama ± 3 jam. Ada beberapa kemungkinan yang terjadi, yaitu dari jaringan provider yang di gunakan baik dalam modul GMS maupun handphone pemilik. Kemungkinan kedua adalah proses perintah dari arduino ke GSM.

## 2. Pengujian Dengan Wadah Kosong dan Tempat Persediaan Pakan Selalu Terisi Penuh

## Tabel 2 Data Pengujian Kedua
Data hasil pengujian di atas sama halnya dengan pengujian pertama yang terdiri dari pengaturan berat pakan yang akan diberi, pengaturan waktu/ jadwal pemberian makan, lamanya prose keluarnya pakan dari saat buzzer bunyi sampai motor servo tersebut berhenti menggerakan katup untuk keluarnya pakanan, berat pakan yang dihitung load cell dalam monitoring data serial, perbandingan antara berat pakan yang dihitung load cell dengan timbangan digital, dan notifikasi sms yang terkirim.
Untuk pengujian kedua, deviasi berat pakan yang keluar dari pembacaan load cell dengan timbangan bernilai kecil. Dan hanya terdapat 1 data yang terdapat perbedaan berat pakan. Lamanya waktu proses keluarnya pakan bersifat tentatif menyesuaikan keadaan pakan yang dekat dengan motor servo dan berapa pakan yang sudah keluar kedalam wadah pakan. Selanjutnya untuk notifikasi SMS 100% mengalami keterlambatan 1 menit dari pengaturan jadwal pemberian pakan dikarenakan proses pembacaan berat pakan pada load cell dan proses perintah pengiriman SMS

## 3. Pengujian Dengan Wadah Pakan Tetap Terisi
Tabel 3. Data Pengujian Ketiga
Data hasil pengujian di atas terdiri dari pengaturan berat pakan yang akan diberi, pengaturan waktu/ jadwal pemberian makan, lamanya prose keluarnya pakan dari saat buzzer bunyi sampai motor servo tersebut berhenti menggerakan katup untuk keluarnya pakanan, berat pakan yang dihitung load cell dalam monitoring data serial, perbandingan antara berat pakan yang dihitung load cell dengan timbangan digital, dan notifikasi sms yang terkirim. Berbeda dari pengujian pertama dan kedua, dalam pengujian ketiga ini terdapat kondisi awal dan akhir pembacaan load cell. Kondisi awal yang terbaca pada load cell adalah keadaan setelah pemberian pakan pengujian sebelumnya.
Untuk pengujian ketiga, deviasi berat pakan yang keluar dari pembacaan load cell yang terakhir dengan timbangan bernilai kecil. Dan hanya terdapat 1 data yang terdapat perbedaan dalam berat pakan. Lamanya waktu proses keluarnya pakan bersifat tentatif menyesuaikan keadaan pakan yang dekat dengan motor servo dan berapa pakan yang sudah keluar kedalam wadah pakan. Untuk data nomor 2 dan nomor 6 tidak terjadi perubahan berat pada wadah pakan, yang artinya pakan tidak keluar dari tempat persediaan pakan namun tetap memproses dan proses tersebut berhasil. Kondisi ini disebabkan oleh pembacaan Load Cell yang membaca profile lebih dari pengaturan profile.
Notifikasi SMS untuk data nomor 2,3 dan 4 tentunda selama ± 3 jam. Sama dengan halnya data pada pengujian pertama ada beberapa kemungkinan yang terjadi, baik dari jaringan provider yang di gunakan dalam modul GMS maupun handphone pemilik. Kemungkinan kedua adalah proses perintah dari arduino ke GSM.

## 4. Pengujian Real Time
Tabel 4. Data Pengujian Keempat
Data hasil pengujian di atas terdiri dari pengaturan berat pakan yang akan diberi, pengaturan waktu/ jadwal pemberian makan, lamanya proses keluarnya pakan dari saat buzzer bunyi sampai motor servo tersebut berhenti menggerakan katup untuk keluarnya pakanan, berat pakan yang dihitung load cell dalam monitoring data serial, perbandingan antara berat pakan yang dihitung load cell dengan timbangan digital, dan notifikasi sms yang terkirim. Berbeda dari pengujian ketiga, dalam pengujian keempat ini terdapat kondisi awal dan akhir pembacaan load cell. Kondisi awal yang terbaca pada load cell berbeda dengan keadaan setelah pemberian pakan pengujian sebelumnya. Disini kita Kondisi awal
untuk pengujian kedua berkurang 18 gram, kondisi ini dapat diibaratkan bahwa kucing memakan sebagian pakan kucing yang sudah keluar (data pertama).
Lamanya waktu proses keluarnya pakan bersifat tentatif menyesuaikan keadaan pakan yang dekat dengan motor servo dan berapa pakan yang sudah keluar kedalam wadah pakan.

## 4. KESIMPULAN
Setelah melewati tahap perancangan dan pengujian alat, maka didapatkan beberapa kesimpulan sebagai berikut :
1. Input yang berasa dari sensor ultrasonik, sensor IR led, load cell, modul RTC dan push button dapat terbaca oleh arduino untuk selanjutnya di proses dengan prosentase tingkat keberhasilan sebesar 84 % .
2. Hasil input yang terproses yaitu motor servo bekerja membantu pakan untuk keluar ke wadah pakan dan buzzer mengeluarkan suara saat waktu pemberian makan yang sudah diatur sedemikian rupa terlampaui. Load cell bekerja dan menghitung berat pakan yang keluar sampai berat pakan sudah melampaui profile dan kemudian motor servo akan kembali ke posisi awal.
3. Output ditampilkan pada layar LCD dengan ukuran 16 x 2 dan kan memberikan keterangan informatif berupa SMS peringatan terkait berhasil atau tidaknya pakan keluar dari tempat penyimpanan pakan. Informasi lainnya yang dapat kita ketahui melalui pengiriman SMS ke nomor pemilik bila persediaan pakan kucing masih dibawah batas profile.
4. Cepat lambatnya pengiriman notifikasi SMS dipengaruhi oleh provider GSM terhadap ketersedian jaringan tersebut.

## DAFTAR PUSTAKA
[1] Bejo, A. 2008. Mikrokontroler. Yogyakarta: Penerbit Graha Ilmu
[2] Darmawan, Aan dan Heri Adrianto. 2016. Arduino Belajar Cepat dan Pemograman. Bandung : Penerbit Informatika Bandung
[3] Kadir. 2013. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan Pemrogramannya menggunakan Arduino. Yogyakarta: Penerbit Andi.
[4] Kadir, Abdul. 2018. From Zero To A Pro: Arduino. Yogyakarta: Penerbit Andi.
[5] Suwed, Muhammad. A. 2015. Panduan Lengkap Kucing. Jakarta: Penerbit Penebar Swadaya.
[6]https://www.theengineeringprojects.com/2018/06/intr oduction-to-arduino-nano.html diakses pada tanggal (11 Juli 2019)
[7] http://eko-rudiawan.com/rangkaian-power-supply- sederhana/ diakses pada tanggal (11 Juli 2019)
[8] https://teknikelektronika.com/prinsip-kerja-dc- power-supply-adaptor/ diakses pada tanggal (1 Mei 2019)
[9] https://rees52.com/boost-and-buck-converter- module/370-lm2596-dc-dc-buck-converter-step- down-power-module-md0102 diakses pada tanggal (1 Mei 2019)
[10] https://www.oddwires.com/ams1117-3-3v-module- adjustable-and-fixed-voltage-regulator diakses pada tanggal (1 Mei 2019)
[11]https://howtomechatronics.com/tutorials/arduino/ard uino-ds3231-real-time-clock-tutorial diakses pada tanggal (1 Mei 2019)
[12] http://qqtrading.com.my/ir-infrared-line-following- reflective-sensor-module-tcrt5000 diakses pada tanggal (1 Mei 2019)
[13] https://mikroavr.com/sensor-jarak-ultrasonik- arduino/ diakses pada tanggal (11 Juli 2019)
[14] https://www.wiltronics.com.au/product/9279/load- cell-sensor-1kg/ diakases pada tanggal (1 Mei 2019)
[15] https://store.fut-electronics.com/products/standard- servo-motor-3-2-kg-cm diakases pada tanggal (1 Mei 2019)
[16] https://www.nyebarilmu.com/tutorial-arduino- mengakses-buzzer/ diakases pada tanggal (1 Mei 2019)
[17] https://www.nyebarilmu.com/tutorial-arduino- mengakses-modul-gsm-sim800l/ diakses pada tanggal (1 Mei 2019)
[18] http://lapantech.com/Push-Button-Switch-Omron- red-Cap-merah-arduino diakses tanggal (1 Mei 2019)
[19] https://www.nyebarilmu.com/cara-mengakses- modul-display-lcd-16x2/ diakses pada tanggal (11 Juli 2019)
[20] https://telecnatron.com/modules/pcf8574-i2c-lcd- driver/ diakses pada tanggal (11 Juli 2019)