## Rancang Bangun Vending Machine Berbasis Mikrokontroler Arduino Uno
Abdul Halim 1* , Mohamad Hendriawan 2 , Nurul Chafid 3
1,2 Ilmu Komputer, Fakultas Ilmu Komputer, Universitas Bina Bangsa
3 Sistem Informasi, Fakultas Teknik, Universitas Satya Negara Indonesia 3
a.halimmkom@gmail.com 1 , hendriawan770@gmail.com 2 , chafid09@gmail.com 3
*Penulis Korespondensi

## ABSTRAK
Air  memiliki  peran  penting  sebagai  nutrisi  esensial  yang  berfungsi  sebagai  pelarut,  katalis,  pelumas, pengatur suhu tubuh, serta penyedia mineral dan elektrolit. Meskipun vital, konsumsi minuman sering diabaikan terutama di lokasi padat seperti Rumah Sakit, Stasiun, dan Kampus. Mesin penjual otomatis ( Vending Machine ) hadir  sebagai  solusi  untuk  mempermudah  akses  terhadap  minuman,  memberikan  manfaat  kepada  masyarakat. Vending  Machine merupakan  alat  yang  dapat  mendistribusikan  produk  ke  konsumen  dengan  memasukkan sejumlah  uang  ke  dalam  mesin  dan  produk  akan  keluar  melalui  mesin  sesuai  pilihan  konsumen.  Penelitian  ini menggunakan  mikrokontroler  Arduino  Uno  dan  akseptor  koin  sebagai input utama  pada vending  machine . Pengguna  membayar  dengan  koin  dan  akseptor  koin  mendeteksi  koin  500  dan  1.000  rupiah.  Penelitian  yang dilakukan bertujuan untuk membuat prototype vending machine serta mempelajari dan memberikan pengetahuan bagaimana  cara  kerja,  proses  kerja  dan  komponen  yang  di  gunakan  dalam  proyek  penelitian  kali  ini,  dengan menggunakan arduino uno sebagai sistem utama kontrol yang terkomputerisasi dalam alat penjual otomatis ini, yang  kemudian  hasil  dari  penelitian  dapat  dimanfaatkan  bagi  masyarakat  umumnya  apabila  ingin  mempelajari tentang  Rancang  Bangun Vending  Machine ,  serta  penerapan  teknologi Vending  Machine menggunakan mikrokontroler Arduino Uno.
Kata kunci:  vending machine, mikrokontroler, arduino uno, akseptor koin.

## ABSTRACT
Water has an important role as an essential nutrient that functions as a solvent, catalyst, lubricant, body temperature regulator, and provider of minerals and electrolytes. Even though it is vital, drink consumption is often  neglected,  especially  in  crowded  locations  such  as  hospitals,  stations  and  campuses.  Automatic  vending machines  (Vending  Machines)  are  here  as  a  solution  to  facilitate  access  to  drinks,  providing  benefits  to  the community. Vending Machine is a tool that can distribute products to consumers by inserting a certain amount of money into the machine and the product will come out through the machine according to the consumer's choice. This research uses an Arduino Uno microcontroller and a coin acceptor as the main input to the vending machine. Users pay with coins and the coin acceptor detects 500 and 1,000 rupiah coins. The research carried out aims to create a vending machine prototype and study and provide knowledge about how it works, work processes and components used  in  this  research  project,  using  Arduino Uno  as  the  main  computerized  control  system  in  this automatic vending device, which then results The research can be used by the general public if they want to learn about Vending Machine Design, as well as the application of Vending Machine technology using the Arduino Uno microcontroller.
Keywords: vending machine, mikrokontroler, arduino uno, coin acceptor .

## 1. PENDAHULUAN
Tubuh manusia terdiri dari air, pada hakikatnya air merupakan kebutuhan utama bagi manusia, semakin bertumbuh dewasa kebutuhan air pada manusia akan berbeda-beda, seperti pada bayi sebanyak 80%, orang dewasa sebanyak 60% dan pada usia di atas 65 tahun atau usia lanjut sebanyak 50%. Karena itu, kapan pun dan di mana pun manusia harus selalu minum air, karena air merupakan nutrisi penting bagi kesehatan manusia yang dapat digunakan  sebagai  pelarut,  katalis,  pelumas,  pengatur  suhu  tubuh,  dan  penyedia  mineral  dan  elektrolit  [1]. Minuman merupakan hal yang penting bagi manusia, tanpa mengkonsumsi minuman manusia dapat mengalami kekurangan  cairan  dalam  tubuh  (dehidrasi)  dan  terkadang  minuman  sering  terlupakan  karena  kesibukan  yang dilakukan dan banyaknya pikiran. Dikarenakan minuman merupakan hal penting yang sering dikesampingkan saat melakukan aktifitas tubuh memerlukan konsumsi air, terutama pada kawasan padat dan sibuk di beberapa fasilitas umum  seperti  Rumah  Sakit,  Stasiun,  dan  Sekolah  atau  Kampus.  Adanya  mesin  penjual  otomatis  dapat mempermudah  dan  memberikan  manfaat  bagi  masyarakat  dan  bagi  peneliti  yang  memiliki  potensi  dapat mengembangkan Vending Machine . Vending machine merupakan alat penjual otomatis yang dapat menjual barang yang berada di dalam mesin tersebut, mesin ini dapat menjual apa saja baik makanan, minuman, obat-obatan dan barang  lainnya.  Dengan  pentingnya  minuman  dan  manfaat  dari vending  machine ini  diharapkan  dapat
mempermudah proses pembelian dan mempercepat proses dalam mendapatkan minuman. Mesin penjual otomatis adalah, "mesin elektronik yang digunakan untuk mengeluarkan produk ke konsumen setelah jumlah tertentu uang yang  dimasukkan  ke  dalam  mesin"  [2]. Vending  machine juga  dapat  didefinisikan  sebagai  mesin  perangkat elektronik yang digunakan untuk mendistribusikan produk ke konsumen setelah sejumlah uang tertentu dimasukan ke dalam mesin [3]. Vending machine (VM) adalah alat atau mesin yang secara otomatis menjual barang sehingga konsumen dapat dengan mudah membeli minuman dan makanan ringan, membuat proses jual beli menjadi lebih mudah, efisien, praktis dan hemat waktu [4].
Penelitian  terdahulu  pernah  dilakukan  oleh  Joni  Welman  Simatupang,  dkk  dengan  membuat  prototipe mesin penjual air mineral otomatis berbasis Arduino Mega 2560 dan RFID-RC522 dengan perangkat motor servo serta  coin  acceptor.  Selanjutnya,  Sibanda,  V.,  dkk,  dengan  membuat design  of  a  control  system  for  a  vending machine. Richmond Chris Ho Chee Leong1, dkk, dengan membuat design of a low cost coin acceptor for vending machine. Selanjutnya  Tanuja  Prajapati,  dkk,  melakukan study  of  vending  machinefor  face  mask menggunakan Arduino ATMEGA328P_85420000.
Berdasarkan penelitian yang dilakukan sebelumnya, maka penelitian bertujuan untuk membuat prototype vending  machine menggunakan  Arduino  uno  dan  coin  acceptor  sehingga  penelitian  ini  akan  memberikan pengetahuan bagaimana cara kerja, proses kerja dan komponen yang di gunakan dalam proyek penelitian kali ini, dengan menggunakan arduino uno sebagai sistem utama kontrol yang terkomputerisasi dalam alat penjual otomatis ini, yang sebetulnya hasil dari penelitian tersebut hanya dapat dimanfaatkan bagi peneliti sebagai prototype saja, dan  jika  digunakan  pada  masyarakat  umumnya  apabila  ingin  mempelajari  tentang  Rancang  Bangun Vending Machine bisa lebih dikaji lagi ke arah pengembangan yang lebih baik, serta penerapan teknologi Vending Machine dengan  menggunakan  mikrokontroler  Arduino  Uno.  Alat  yang  digunakan  dalam  proyek prototype  vending machine ini menggunakan microcontroller Arduino UNO R3 dengan ditambah komponen - komponen lain seperti LCD, Coin Acceptor, Motor Servo MG996R dan Power supply 12v. Alat ini bekerja dengan mengunakan mata uang logam yang satuannya telah ditentukan oleh mesin agar bisa mendapatkan isi dari dalam vending machine .

## 2. METODOLOGI PENELITIAN
Penelitian  ini  menggunakan  pendekatan  waterfall  model  dengan  beberapa  tahapan  yang  dilalui sebagaimana gambar dibawah ini.
Gambar 1. Waterfall model
Berikut penjelasan dari gambar 1 diatas :
a. Requirements
Pada tahap ini peneliti harus mengetahui, mempersiapkan, dan menganalisis kebutuhan alat-alat vending machine ,  yang  bertujuan  untuk  memahami  peralatan  yang  dibutuhkan  oleh  peneliti.  Penulis mengumpulkan bahan dari berbagai sumber seperti beberapa penelitian terdahulu yang relevan tentang Vending Machine , serta mensurvei beberapa Vending Machine untuk mempelajari proses serta cara kerja Vending Machine agar dapat merancang serta membuat Vending Machine dengan baik.
b. Design
Tahap selanjutnya yaitu desain bentuk Vending machine . Pada tahap ini peneliti merancang dan mendesain serta membuat Prototype Vending machine .
c. Implementation
Pada tahap ini dilakukan penulisan code menggunakan Arduino tools dan bahasa pemrograman. d. Verification Pada  tahap  ini Vending  machine yang  telah  dibuat  akan  dilakukan  pemeriksaan  lebih  detail  untuk mengetahui apakah sesuai dan telah memenuhi fungsionalitas yang diinginkan.
e. Maintenance
Tahap terakhir adalah Vending machine yang telah dibuat akan dioperasikan. Lalu dilakukan pemeliharaan sistem secara berkala, perbaikan, evaluasi, dan pengembangan sistem sesuai dengan kebutuhan yang baru.
2.1. Vending Machine
Vending machine adalah mesin otomatis yang mengeluarkan produk jual seperti makanan ringan, minuman, undian tiket, dan lain-lain. Sangat penting untuk menghemat waktu dan mengurangi energi manusia. Mesin penjual otomatis ini dikembangkan menggunakan metode berbasis Non IoT dan berbasis IoT. Mesin berbasis Non IoT ini tidak pintar dan tidak dioperasikan secara realtime data, yang berfungsi pada saat pemberian uang tunai atau kartu dan input (penjualan barang). Mesin tersebut dikendalikan oleh mikrokontroler dan mendistribusikan input yang diberikan  [5].  Mesin  penjual  otomatis  ( vending  machine )  teridiri  dari  beberapa  komponen  yang  salah  satunya adalah  motor  servo  yang  menjadi  pengatur  keluaran  barang  yang  terdapat  pada  vending  machine,  Komponen bagian elektronik yang memiliki fungsi mengatur dan menentukan posisi sudut dari suatu poros yang diatur dengan ketentuan sudut yang ditentukan [6]. Kesimpulan yang dapat diambil dari beberapa ahli bahwa vending machine merupakan mesin penjual otomatis yang dapat menjual barang, membuat proses jual beli menjadi lebih mudah. Pada implementasi dari vending machine ini menggunakan mata uang untuk melakukan pembelian, input yang diberikan pada mesin akan diproses oleh motor servo untuk ditentukan sudut di mana barang yang ada di dalam dapat diterima oleh pembeli. Selain motor servo terdapat komponen penting lain seperti Coin Acceptor, LCD16x2, I2C, Microcontroller Arduino Uno R3 dan untuk supply daya tambahan menggunakan power supply 12v.

## 2.2. Mikrokontroler
Mikrokontroler merupakan suatu bentuk komputer dalam satu chip yang dapat diprogram dan digunakan untuk tugas-tugas control [7]. Berikut beberapa keunggulan dari mikrokontroler:
a) Tingkat kehandalan yang tinggi serta mudaha untuk berintegrasi dengan komponen lain.
b) Ukuran yang kecil, memungkinkan penggunaan yang fleksibel dalam berbagai aplikasi.
c) Mengurangi penggunaan komponen, yang dapat mengurangi biaya produksi secara keseluruhan.
d) Konsumsi daya yang rendah, menghasilkan efisiensi energi serta masa pakai baterai yang lebih lama.

## 2.3. Arduino
Arduino terdiri dari papan rangkaian elektronik yang open source, pada rangkaian Arduino ini di dalamnya terdapat komponen utama sebuah chip mikrokontroler dengan jenis AVR yang dibuat oleh perusahaan Atmel [8]. Arduino  merupakan  rangkaian  sistem  minimum  dan  software.  Disamping  itu  hardware  Arduino  dan  modul pendukung sangat mudah untuk didapatkan. Dalam penelitian ini penulis menggunakan Arduino Uno R3.

## Gambar 2. Arduino Uno R3
2.4. Arduino IDE (Integreted Development Environment)
Arduino menggunakan Bahasa pemrograman C yang telah disederhanakan menggunakan pustaka-pustaka (Libraries). Berikut ini merupakan gambar dari Tampilan Arduino IDE:
2.5. Motor Servo
MG996R adalah motor servo yang populer di Komunitas Arduino. Berbeda dengan servo SG90 yang juga populer, MG996R mampu memutar bobot yang jauh lebih  tinggi. Misalnya, kita dapat melihat MG996R sangat sering dalam aplikasi lengan robot cetak 3D, Derajat kebebasan atau yang dikenal dengan degree of freedom (DOF) merupakan  bilangan  yang  menyatakan  jumlah  masukan  (penggerak)  yang  diperlukan  oleh  suatu  mesin  atau mekanisme dalam melakukan gerakan [9].
Gambar 4. Motor Servo MG996R

## 2.6. Resistor
Resistor  merupakan  pengatur  yang  dapat  membatasi  jumlah  arus  yang  mengalir  dalam  suatu  rangkaian. Adapun fungsi resistor secara lengkap adalah sebagai berikut:
a. Berfungsi untuk menahan sebagian arus listrik.
b. Berfungsi untuk membagi tegangan.
c.
Gambar 5. Resistor
2.7. Coin Acceptor
Coin Acceptor merupakan suatu alat yang biasanya diterapkan pada mesin otomatis untuk dapat mendeteksi apakah koin yang dimasukan sesuai atau tidak berdasarkan parameter yang sudah ditentukan sebelumnya [10].
Gambar 6. Dekripsi Coin Acceptor

## 3. HASIL DAN PEMBAHASAN
3.1. Kebutuhan alat
Dalam  membuat vending  machine membutuhkan  alat/komponen  yang  benar  dan  tepat.  Berikut  alat-alat yang digunakan dalam pembuatan vending machine :

## Tabel 1. Komponen yang digunakan pada vending mechine
No Nama Fungsi Jenis 1 Arduino Uno R3 Sebagai pusat kendali dari Proyek Vending machine Proses 2 Coin Acceptor Sebagai pendeteksi input mata uang Input 3 Motor Servo MG996R Sebagai penggerak pintu keluaran minuman dari dalam vending machine Output 4 Resistor 10K Pemberi hambatan untuk menstabilkan rangkaian Konektor 5 Power Supply 12V Sumber daya listrik Sumber daya 6 LCD+I2C Sebagai penampil ucapan”Terima Kasih” Output 7 Kabel Jumper Menghubungkan antar komponen Konektor

## 3.2. Perancangan Sistem Kendali
Berikut adalah rancangan system kendali yang digunakan dalam penelitian ini.
Gambar 7. Rancangan Sistem Kendali (Vending Machine)
Gambar 7 diatas merupakan rangkaian keseluruhan skema yang diperlukan dalam pembuatan Vending machine ,  beberapa  alat  yang  digunakan  dalam  proses  pembentukan  rangkaian  ini  dipilih  agar  dapat  mudah dimengerti  dan  dapat  dipraktikan.  Penyesuaian  awal  yang  perlu  dilakukan  untuk  membuat  rangkaian  ini melakukan  optimalisasi  fungsi Coin  Acceptor dimulai  dari  penyesuaian  objek  yang  akan  dibaca  oleh Coin Acceptor , selain itu koin acceptor dapat menyimpan informasi melalui volume dari objek koin yang dimasukan. Selanjutnya Pada penelitian kali ini dipergunakan mata uang koin untuk menjalankan Vending machine ini, mata uang yang merupakan alat tukar yang telah disahkan oleh Negara menjadi Input yang diperlukan pada penelitian kali ini. Pada saat ini besaran mata uang yang dapat digunakan antara lain uang nominal 500 rupiah dan 1000 rupiah,  setelah  besaran  yang  sudah  ditentukan  tercapai  motor  servo  akan  bergerak.  Setelah  arduino  membaca besaran variabel yang dibutuhkan telah tercapai arduino akan memberikan sinyal kepada motor servo MG996R untuk berputar dan mengaktifkan mekanisme keluaran dari dalam Vending machine .

## 3.3. Pengujian Algoritma
Di dalam Menguji algoritma kontrol Vending machine penting untuk memastikan bahwa sistem berfungsi dengan baik dan memberikan hasil yang diharapkan. Berikut ini adalah langkah-langkah umum untuk menguji algoritma kontrol Vending machine : a. Persiapan perangkat keras:
1. Pastikan semua komponen perangkat keras vending machine terpasang dengan benar,  termasuk motor servo, sensor, dan LCD.
2. Hubungkan Arduino Uno dengan komponen-komponen tersebut dan pastikan koneksi sudah benar.
b. Persiapan perangkat lunak:
1. Tulis kode program berdasarkan algoritma pengontrol yang kita rancang.
2. Unggah kode program ke Arduino Uno menggunakan Arduino IDE atau editor kode yang Anda gunakan.
c. Verifikasi Koin:
1. Verifikasi koin yang dimasukkan dengan sistem penerima koin atau algoritma yang sesuai.
2. Jika koin valid, lanjutkan ke langkah berikutnya.
3. Jika koin tidak valid, tampilkan pesan kesalahan pada LCD dan kembalikan koin yang dimasukkan.
d. Proses Pembelian:
1. Kurangi stok produk yang dipilih.
2. Hitung kembalian jika ada, berdasarkan nilai koin yang dimasukkan dan harga produk.
3. Aktifkan motor servo untuk memberikan produk kepada pengguna.
4. Tampilkan pesan terima kasih pada LCD.
e. Selesai: Kembali ke tampilan awal dan siap menerima transaksi berikutnya.
Gambar 8. Flowcart Sistem Vending Machine

## 3.4. Hasil Rancangan Hardware
Berikut  bentuk  dari  hasil  rangkaian  hardware  yang  dibuat  setelah  melakukan  beberapa  pengujian  dan analisa hasil algoritma sistem tersebut, dapat dilihat pada gambar di bawah ini:

## 3.5. Hasil Pengujian
Data  yang  diambil  untuk  menghitung  pengujian  sebanyak  lima  kali  dengan  jeda  waktu  tiap  lima  detik menggunakan kombinasi uang yang berbeda, uji sistem mekanik untuk menguji apakah sudah berjalan dan dapat berjalan dengan maksimal
Tabel 2. Hasil Pengujian Kombinasi Koin Hasil 500 500 500 500 Sukses 1000 500 500 Sukses 1000 1000 Sukses 500 1000 500 Sukses 500 500 1000 Sukses Tabel 3. Pengujian Error Kombinasi Koin Hasil 500 500 500 200 Gagal 1000 500 200 Gagal 1000 500 Gagal 500 1000 100 200 Gagal 200 500 1000 Gagal
Berdasarkan data pengujian yang ada pada tabel 2 dan tabel 3, dapat diambil kesimpulan, jika kombinasi yang digunakan pecahan uang 1000 dan 500 rupiah, tidak akan terjadi error karena coin acceptor hanya membaca mata  uang  1000  dan  500  rupiah.  Jika  di  inputkan  mata  uang  koin  lain  akan  dikeluarkan  dan  tidak  dapat teridentifikasi.

## 4. KESIMPULAN
Sistem kerja dari vending machine menggunakan motor servo MG996R ini memiliki cara kerja untuk berputar  sesuai  dengan  sudut yang  telah ditentukan  agar barang  yang berada di  dalam  mesin  dapat  keluar  dari dalam  mesin.  Konsep  kerja  dari  vending  machine  yang  menggunakan  arduino  uno  sebagai  sistem  utama pengoperasian yang di hubungkan ke input coin acceptor, output LCD dan motor servo, yang dikoneksikan pada pin 6 dan pin 3 pwm di arduino uno. Proses uji coba yang dilakukan untuk melakukan uji test apakah prototype berjalan dengan baik, pengujian dilakukan dengan melakukan test input coin yang telah di setting yaitu coin 500 dan  1000  rupiah,  uji  coba  dilakukan  dengan  melakukan  kombinasi  dari  coin  tersebut  dan  melakukan  uji  error dengan koin selain koin tersebut dengan batasan maksimal koin yang ditetapkan sebanyak 2000 rupiah, dari hasil test yang dilakukan sistem telah bekerja dengan baik dan sesuai seperti yang diharapkan.

## DAFTAR PUSTAKA
[1] Welman Simatupang, Joni. Prasetyo, Bayu. Galina, Mia. Suhartomo, Antonius. 2022. Referensi Abstrak dan Wiring Diagram. PROTOTIPE MESIN PENJUAL AIR MINERAL OTOMATIS BERBASIS ARDUINO MEGA 2560 DAN RFID-RC522.
[2] Prajapati,  Tanuja.  Sanap,  Rohini.  Kulthe,  Parag.  2022.  Desain  Tampak  Depan.  STUDY  OF  VENDING MACHINE FOR FACE MASK.
[3] Sibanda,  V.,  Munetsi,  L.,  Mpofu,  K.,  Murena,  E.  and  Trimble,  J.  (2020).  Design  of  A  Hightech  Vending Machine. Procedia CIRP, 91, pp.678-683.
[4] Maulana, A.S., (2019) Implementasi Finite State Automata (FSA) dengan Simulasi Vending Machine pada Aplikasi Android. Jurnal Edukasi Elektro, 3(2).
[5] Nilani Ratnasria , Tharaga Sharmilanb, Vending Machine Technologies: A Review Article.
[6] Wahyudi, W., Rahman, A.,  Nawawi, M. (2018).    Perbandingan    Nilai    Ukur Sensor Load Cell pada Alat Penyortir Buah  Otomatis  terhadap  Timbangan Manual. ELKOMIKA:  Jurnal Teknik Energi Elektrik, Teknik Telekomunikasi,  Teknik Elektronika, 5(2), 207.
[7] Hanafie,  Ahmad.  Baco,  Syarifuddin,  Kamarudding.  2021.  Motor  servo  MG966R  dan  Kabel  Jumper. PERANCANGAN ALAT PENYORTIR BUAH TOMAT BERBASIS ARDUINO UNO.
[8] Arduino.2014.Ethernet Sheild, Arduino Integrated Development Environment(IDE).
[9] Atmaja, Muhammad Iqbal. 2019. Perancangan Gripper Pada Lengan Robot Pemindah Bahan Tipe Cartesian Coordinate, Almikanika.
[10] Chris Ho Chee Leong, Richmond. Zulkipli, Muhammad. Farid Shaari, Muhammad. 2021. Diagram kerja dan Flowchart. DESIGN OF A LOW COST COIN ACCEPTOR FOR VENDING MACHINE.