ISSN(p): 2338-8323  | ISSN(e): 2459-9638
Living Fountain – Sistem Kendali pada Air Mancur berdasarkan Gerakan Rangka Tubuh
SANDY SURYO PRAYOGO, DHATU
PARAGYA, YOGI PERMADI, TUBAGUS

## MAULANA KUSUMA
Teknik Elektro Universitas Gunadarma, Indonesia Email: sandy_sr@staff.gunadarma.ac.id
Received 11 April 2023 | Revised 3 Mei 2023 | Accepted 25 Mei 2023

## ABSTRAK
UG-Technopark  merupakan  fasilitas  pendukung  edukasi  yang  bertujuan memberikan wawasan dan pengetahuan kepada pengunjungnya dengan metode observasi  lapangan.  Metode  tersebut  memiliki  pengaruh  signifikan  terhadap pemahaman pengunjung. Sehingga, penelitian ini bertujuan untuk merancang dan mengimplementasikan air mancur di UG-Technopark sebagai daya tarik sekaligus media pembelajaran tentang sistem kendali yang diberi nama “Living Fountain”. Penelitian  ini  melibatkan  perancangan  dan  implementasi  sistem  kendali  pada sebuah  kolam  air  mancur  yang  dapat  dikendalikan  secara  otomatis  atau berdasarkan gerakan tubuh melalui pemrosesan computer vision. Sistem kendali ini  menggunakan  mikrokontroler  arduino  mega  yang  menerima  informasi  posisi pergelangan tangan dari kamera melalui permprosesan pada perangkat komputer. Living  Fountain  bertujuan  meningkatkan  pengetahuan  dan  pemahaman  sistem kendali bagi pengunjung, mahasiswa, dan dosen dengan memberikan pengalaman belajar yang interaktif dan praktis melalui interaksi langsung dengan air mancur yang bergerak dan mengubah warna sesuai dengan interaksi pengunjung.
Kata kunci : deteksi objek, kecerdasan buatan, mikrokontroler, sistem kendali , visi komputer

## ABSTRACT
UG-Technopark is an educational support facility aimed at providing insights and knowledge to its visitors through field observation methods. This method has a significant influence on visitors' understanding. Therefore, this research aims to design and implement a fountain in UG-Technopark as an attraction and a learning medium about control systems, named "Living Fountain". This research involves the  design  and  implementation  of  a  control  system  for  a  fountain  that  can  be controlled automatically or based on body movements through computer vision processing. This control system uses an Arduino Mega microcontroller that receives information about wrist position from a camera through processing on a computer device. The Living Fountain aims to enhance the knowledge and understanding of control systems for visitors, students, and professors by providing an interactive and practical learning experience through direct interaction with a moving fountain that changes color based on visitor interactions.
Keywords : computer vision, control system, microcontroller, AI, Object Detection

## 1. PENDAHULUAN
UG-Technopark  merupakan  fasilitas  dan  sarana  pendukung  edukasi  dimana  pengunjung mendapatkan  wawasan  dan  pengetahuan.  Pada  penelitian  yang  dilakukan (Joesyiana, 2018) ,  pembelajaran  secara  observasi  dilapangan  berpengaruh  signifikan  terhadap pemahaman.  Seperti  halnya  air  terjun  yang  dapat  menjadi  daya  tarik  suatu  wisata  alam (Pramesti & Yunita, 2018) , air mancur merupakan salah satu daya tarik bagi pengunjung pada  suatu  wilayah  wisata.  Perancangan  dan  implementasi  air  mancur  di  kawasan  UG- Technopark  dimaksudkan  untuk  menjadi  daya  tarik  sekaligus  sebagai  media  pembelajaran mengenai sistem kendali. Sebuah sistem dapat digambarkan sebagai sebuah “kotak-hitam” yang mempunyai sebuah masukan dan sebuah keluaran. Di dalam kotak-hitam tersebut tidak diperhatikan apa yang ada di dalamnya tetapi bagaimanakah hubungan antara masukan dan keluaran.  Jika  keluaran  dikendalikan  dengan  cara  menetapkan  nilai  tertentu  atau  berubah menjadi nilai tertentu, maka hal tersebut dinamakan sistem kendali (Setyawan, dkk, 2016) . Air  mancur  yang  disebut  sebagai Living  Fountain  dikontrol  menggunakan  mikrokontroler Arduino Mega 2560, aktuator pompa DC 12V, LED RGB 24V, dan perangkat komputer.
Mikrokontroler yang digunakan adalah Arduino Mega 2560 dikarenakan memiliki jumlah pin I/O yang cukup banyak dan kemampuan pemrosesan data yang cukup baik. Perangkat yang dikendalikan  berupa  pompa  DC  12V  dan  LED  RGB  24V.  Sistem  kendali  untuk  pompa  DC menggunakan  dua  tahap  yaitu  I2C  PWM  PCA9685  kemudian  dilanjutkan  ke  relay  MOSFET IRF540. Sistem kendali untuk LED sorot menggunakan DMX Daisy Chain. Masukan dari sistem dapat berupa program tertanam dan juga merespon dari data kamera menggunakan computer vision untuk mendeteksi rangka tubuh. Mikrokontroler merupakan salah satu media kendali bersifat  embedded  system,  untuk  dapat  mengatur  atau  mengendalikan  alat  tertentu tergantung  pada  keluaran  analog.  Salah  satu  keluaran  analog  yang  digunakan  pada mikrokontrol adalah pulse width modulation (PWM) yang dapat digunakan untuk mengatur tinggi-rendah dari pompa DC (Suhendra, dkk, 2018) .
Digunakan  teknologi  dari computer  vision  untuk  meningkatkan  daya  tarik  dan  juga kemutakhiran teknologi. Computer vision adalah transformasi atau perubahan dari data-data yang  dapat  berupa  gambar  diam  ataupun  video  kamera  menjadi  bentuk  lain  atau  satu representasi baru, pada penelitian (Ardiansyah, dkk, 2019) telah dikembangan pengenalan objek menggunakan computer vision. Computer vision digunakan sebagai dasar dari masukan untuk  mengendalikan  air  mancur  sehingga  dapat  dijuluki Living  Fountain.  Bahasa pemrograman yang digunakan untuk mendeteksi rangka adalah python OpenCV dengan pose estimation  library  atau  keypoint  detection.  Python  mendukung  beberapa  paradigma pemrograman,  terutama  pemrograman  berorientasi  objek,  pemrograman  imperatif,  dan pemrograman fungsional (Buana, 2018) . Pose estimation adalah proses untuk menentukan posisi  dan  orientasi  suatu  objek  dalam  ruang  dan keypoint  detection  adalah  suatu  proses dalam  pengolahan  gambar (Song,  dkk,  2021) dan  analisis  video  yang  bertujuan  untuk mengidentifikasi titik-titik penting atau fitur-fitur unik dalam sebuah gambar atau frame video (Zhang, dkk, 2021) . Video dari kamera secara realtime akan di proses oleh algoritma media pipe pose (MPP), berdasarkan penelitian (Makahaube, dkk, 2020) media pipe merupakan solusi  dari  pelacakan  atau  pendeteksian  yang  memiliki  ketelitian  tinggi.  Video  diambil  dari frame  RGB  dan  menyimpulkan  33  joint  landmark  3D  pada  anggota  tubuh  manusia. Berdasarkan (Muthalib,  dkk,  2023) didapatkan  objek  berhasil  terbaca  hingga  18  meter, sehingga dapat juga diimplementasikan pada penelitian ini.
Terdapat dua mode pengendalian, yaitu mode koreografi dan mode computer vision. Mode yang pertama adalah mode koreografi yang sudah di set di mikrokontroler, air mancur dan
LED akan menyala sesuai dengan program yang sudah ditanamkan di dalamnya. Mode kedua adalah  dengan  memanfaatkan computer  vision.  Sistem  kendali  air  mancur  dan  LED  akan bergantung terhadap data yang diterima dari kamera. Kamera yang berfungsi sebagai sensor akan mendeteksi jika ada manusia yang menghadap ke kamera. Kemudian data dari kamera akan di proses menggunakan perangkat komputer. Perangkat komputer akan mengirimkan data ke mikrokontroler secara serial untuk menentukan pergerakan air mancur serperti apa yang akan dilakukan.
Tujuan dari penelitian ini adalah mengimplementasikan teknologi informatika terbaru seperti computer vision ke dalam sistem kendali sehingga menghasilkan suatu sarana entertainment yang edukatif. Diharapkan dengan penerapan ini maka akan dapat menambah keingintahuan pengunjung  maupun  mahasiswa  untuk  lebih  berinovasi  menerapkan  pengetahuannya  di berbagai bidang.

## 2. METODE

## 2.1 Blok Diagram
Penelitian berfokus pada sistem kendali perangkat keras berupa air mancur. Perangkat keras yang digunakan terdiri dari perangkat untuk supply daya, perangkat masukan berupa sensor kamera, perangkat pemprosesan berupa komputer dan mikrokontroler, serta perangkat luaran berupa driver, pompa DC, dan LED RGB. Berikut adalah blok diagram rancangan air mancur seperti pada Gambar 1.

## Gambar 1. Blok Diagram Sistem
Pada sistem kendali yang dirancang terdapat beberapa power supply menyesuaikan dengan kebutuhkan  perangkat  lain.  Perangkat  kamera  dan  komputer  memiliki  power  supplynya sendiri. Perangkat tertanam seperti mikrokontroler, driver, pompa, dan LED ditandai dengan warna  abu-abu  pada  Gambar  1.  memiliki  satu power  supply  (PSU).  Perangkat  tertanam tersebut sistem pembagian dayanya sendiri dikarenakan membutuhkan daya dengan tegangan bervariasi diantaranya: PSU membutuhkan daya 7-12V, driver 5V, pompa DC 12V, LED 24V.
Perangkat masukan yang digunakan berupa kamera HP/webcam yang terhubung ke komputer baik  kabel/nirkabel.  Data  dari  masukkan  dikirim  ke  perangkat  komputer  yang  berfungsi melakukan  pemprosesan  data  video real-time.  Daya  yang  dikirim  berupa  data  siap  olah berbentuk koordinat dari joint detection pada menggunakan computer vision python OpenCV. Data  dilanjutkan  ke  mikrokontroler  menggunakan  komunikasi  serial.  Selanjutnya
mikrokontroler  memproses  data  tersebut  berdasarkan  kondisi  yang  sudah  terprogram. Mikrokontroler  akan  mengirimkan  sinyal  menuju  driver  untuk  mengaktifkan  perangkat keluaran pompa dan LED.

## 2.2  Mikrokontroler Arduino Mega 2560
Mikrokontroler  merupakan  sebuah  sistem  komputer  fungsional  dalam  sebuah  chip.  Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau ke duanya), dan perlengkapan input/output. Mikrokontroler adalah salah satu dari  bagian dasar dari suatu sistem komputer (Syahwil, 2013) . Arduino Mega 2560 merupakan papan pengembangan  mikrokontroler  yang  berbasis  Arduino  dengan  menggunakan  chip ATmega2560. Board ini memiliki pin I/O yang cukup banyak, sejumlah 54 buah digital I/O pin (15 pin diantaranya adalah PWM), 16 pin analog input, 4 pin UART (serial port hardware). Arduino Mega 2560 dilengkapi dengan sebuah kristal osilator 16 Mhz, sebuah port USB, power jack DC, ICSP header, dan tombol reset. Spesifikasi Arduino Mega 2560 seperti pada Tabel 1.
Tabel 1. Spesifikasi Arduino Mega 2560
Microcontroller ATmega2560 Operating Voltage 5V Input Voltage (Recommended) 7-12V Input Voltage (Limit) 6-20V Digital I/O Pins 54 (of which 15 provide PWM output) Analog Input Pins 16 Dc Current Per I/O Pin 20 mA Dc Current For 3.3V Pin 50 mA Flash Memory 256 KB of which 8 KB used by bootloader Sram 8 KB Eeprom 4 KB Clock Speed 16 MHz Led_Builtin 13 Length 101.52 mm Width 53.3 mm Weight 37 g

## 2.3  Sistem Kendali Pompa DC
Pompa yang digunakan untuk air mancur adalah DC Brushless dengan tegangan dasar 12V. Spesifikasi pompa adalah daya 18 watt, ketinggian maksimal hingga 5 meter dan flow 800 L/H. Ukuran diameter inlet/outlet dari pompa adalah 13mm atau ½ inch. Dimensi dari pompa 9.2 x 7.3 x 4.5 (mm). Terdapat tiga perangkat pengendali pompa DC, yang pertama adalah mikrokontroler, kemudian modul I2C 16-channel 12-bit PWM PCA9685 dan modul mosfet 4- channel  IRF540.  Pulse  Width  Modulation  (PWM)  secara  umum  adalah  sebuah  cara memanipulasi  lebar  sinyal  yang  dinyatakan  dengan  pulsa  dalam  suatu  perioda,  untuk mendapatkan tegangan rata-rata yang berbeda (Lubis, dkk, 2022) . Modul PCA9685 memiliki fungsi untuk mengirim data dari mikrokontroler secara serial menggunakan pin SDA dan SCL sehingga  tinggi  rendah  dari  air  bisa  diatur  dengan  PWM.  Spesifikasi  dari  PCA9685  yaitu frekuensi kerja hingga 1MHz, memiliki 16 kanal luaran pin PWM dengan resolusi 12-bit, dan tegangan kerja 5-10V.

## Gambar 2. Modul PCA9685 16-Ch
Berdasarkan  penelitian (Suroso,  dkk,  2018) MOSFET  jenis  ini  memiliki  tegangan  drain- source maksimum sebesar 100 V dengan total muatan gate yang tidak terlalu besar, yakni 72 nC. Selain itu IRF540 memiliki turnon delay time dan rise time yang cukup kecil, yakni 11 ns dan  44  ns  dengan  resistansi  drain-source  0,77  Ω,  sehingga  dipakai  MOSFET  IRF540  agar respon dari pompa relatif cepat. Perangkat MOSFET IRF540 4 kanal memiliki fungsi sebagai relay  dengan  kemampuan  kendali  luaran  tegangan  berdasarkan  sinyal  masukan.  Pompa membutuhkan  tegangan  12V  sedangkan  data  PWM  dari  PCA9685  yang  digunakan  5V. Sehingga  dibutuhkan perangkat  relay dengan  memasukkan  catu  daya  eksternal.  Tegangan dan  arus  dari power  supply  yang  digunakan  disesuaikan  dengan  kebutuhan  pompa  yang digunakan.
Gambar 3. Mosfet IRF540 4-ch

## 2.4 Sistem Kendali LED-DMX Daisy Chain
Digunakan perangkat penerangan pada air mancur dengan tujuan menambah kesan estetik dan  menarik  apabila  dinyalakan  di  malam  hari.  Perangkat  LED  yang  digunakan  adalah Waterproof LED chip Epistar dengan lapisan alumunium dan  tempered glass yang memiliki ketahanan air IP68. Daya untuk lampu LED tersebut adalah 24V, 6 Watt. Perangkat terdiri dari tiga kabel hitam, kabel hitam pertama memiliki memiliki 2 kabel di dalamnya yaitu merah untuk 24VDC dan biru gelap untuk ground. Kabel hitam kedua merupakan kabel komunikasi input standard  serial  485  (dari  DMX521  atau  dari  lampu  sebelumnya)  yang  berjumlah  3  kabel. Terakhir kabel hitam ketiga output Standard Serial 485 (menuju rangkaian lampu selanjutnya). Dimensi  dari lampu LED tersebut  adalah diameter  luar 130  mm, lubang  di tengah  38  mm. Bentuk dan dimensi dari LED ditunjukkan pada Gambar 4.
Sistem kendali untuk LED menggunakan Arduino DMX shield yang di pasangkan langsung pada mikrokontroler  Arduino Mega.  DMX512 sendiri merupakan standar  digital  komunikasi untuk melakukan pengendalian pencahayaan.
Gambar 4. LED RGB Gambar 5. DMX Shield
Pada Gambar 5. menunjukkan bentuk dari Arduino DMX shield yang sudah dilengkapi dengan NEUTRIX XLR 3 pin connector female dan juga male. Pin yang digunakan pada Arduino untuk mengaktifkan  shield  ini  adalah  pin  2,  3,  dan  4  yang  berfungsi  secara  berurutan  sebagai software  mode,  transmitter  (Tx)  dan  receiver  (Rx).  Komunikasi  yang  digunakan  dan mendukung untuk kendali lampu adalah daisy chain yang menghubungkan satu LED ke LED berikutnya secara serial karena berdasarkan penelitian (Um & Yoo, 2013) komunikasi secara paralel lebih sukar dalam proses sinkronisasi.
2.5 Visi Komputer Rangka Tubuh Manusia Digunakan  teknologi  dari computer  vision  untuk  meningkatkan  daya  tarik  dan  juga kemutakhiran  teknologi. Computer  vision  digunakan  sebagai  dasar  dari  masukan  untuk mengendalikan air mancur. Bahasa pemrograman yang digunakan untuk mendeteksi rangka adalah  python  OpenCV  dengan pose  estimation  library  atau  keypoint  detection.  Video  dari kamera secara realtime akan di proses oleh algoritma Media Pipe Pose (MPP). Video diambil dari frame RGB dan menyimpulkan 33 joint landmark 3D pada anggota tubuh manusia yang ditunjukkan pada Gambar 6 (Anilkumar, dkk, 2021) .

## Gambar 6. 33 Joint Landmark 3D

## 3. HASIL DAN PEMBAHASAN

## 3.1 Analisis Perangkat Keras
Secara terperinci terdapat beberapa perangkat keras yang digunakan. Dalam modul utama sistem kendali yang dibuat terdiri dari: 3 unit DC PSU 24V 400W, 3 unit DC PSU 12V 600W, 1 unit step-down  DC  5V,  Mikrokontroler  Arduino  Mega  2560,  3  unit  PCA9685  driver,  9  unit
MOSFET  IRF540,  1  unit  LED  DMX shield,  27  unit  pompa  DC  12V,  27  unit  LED  sorot  24V. Perangkat  masukan  yang  digunakan  terpisah  dari  modul  utama  yaitu  sensor  kamera ( smartphone atau webcam) dan personal computer/laptop.

## Gambar 7. Desain Sistem Kendali Air Mancur
Perangkat kendali utama dirakit dalam suatu board besar seperti rancangan pada Gambar 7. Kemudian  luaran (output)  pompa  dan  LED  terhubung  ke  menggunakan  kabel  menuju perangkat  kendali  utama.  Masukan  sistem  terhubung  secara  serial  ke  perangkat  utama menggunakan kabel dan wireless.

## 3.2 Desain Rangka dan Penyusunan Air Mancur dan LED
Perangkat  luaran  dari  sistem  kendali  air  mancur  ini  adalah  pompa  DC  12V  dan  LED  sorot waterproof 24V. Penyusunan perangkat luaran tersebut disesuaikan dengan luas kolam yaitu 2,6 × 11,6 m , sehingga diperoleh 3 × 9 titik air mancur. Rangka untuk meletakkan air mancur dibuat menggunakan alumunium profile dengan ukuran 3 × 3 cm dirakit seperti pada Gambar 8.

## Gambar 8. Desain Rangka Air Mancur pada Kolam
Sebanyak 27 air mancur dan 27 LED disusun diberikan penomoran seperti yang sebelumnya ditunjukan  pada  Gambar  7.  Pompa  membutuhkan  masukan PWM  masing-masing  sehingga menggunakan  driver  yang  tersusun  secara  matriks  ukuran  3  x  9.  Sedangkan  pompa
menggunakan komunikasi serial daisy chain sehingga penomoran terurut berantai dari nomor 1 sampai 27.

## 3.3 Program Pengambilan Koordinat Rangka Tubuh
Terdapat dua program yang digunakan untuk sistem kendali air mancur ini. Program pertama yang  terdapat  pada  perangkat  personal  komputer/laptop  yang  disebut  sebagai python- program dikarenakan menggunakan Bahasa permrograman python. Python-program memiliki fungsi untuk mengolah video masukan menjadi data masukan untuk mikrokontroler. Program kedua terdapat pada mikrokontroler yang disebut arduino-program dikarenakan menggunakan bahasa  pemprograman  untuk  Arduino. Arduino-program  berfungsi  untuk  memproses  data masukan  dari  personal  komputer  kemudian  melakukan  kendali  pada  perangkat  luaran berdasarkan masukan tersebut.
Proses yang berlangsung  pada python-program  adalah  memperoleh  data  berupa  koordinat pergelangan  tangan  dari  video  frame  yang  diperoleh  kamera  eksternal  (kamera smartphone/webcam). Menyesuaikan dengan jumlah kolom dari matrix air mancur dan tinggi air mancur yang diwakili 8-bit PWM maka frame video dibagi menjadi beberapa bagian seperti yang ditunjukkan pada Gambar 9. Jumlah pembagian dari frame gambar yaitu 9 bagian pada x-axis dan 256 bagian dari y-axis.
Gambar 9. X, Y-axis Video Frame

## Gambar 10. Pose Detection
Perangkat komputer yang digunakan pada penelitian ini adalah macbook air 2015, prosesor i5,  RAM  8GB.  Komputer  selanjutnya  memroses  gambar  secara realtime  dari  kamera menggunakan library pose detection pada python-program OpenCV. Manusia yang terdeteksi pada kamera merupakan yang pertama muncul, jika ada lebih dari satu orang pada kamera maka  yang  pertama  terdeteksi  yang  akan  di  kunci  untuk  pengambil  posisi  koordinat  dari pergelangan tangan. Hasil pose detection yang berupa rangka tubuh dipindahkan pada frame dengan latar hitam untuk memperjelas hasil seperti yang ditunjukkan pada Gambar 10. Namun data yang diambil dari proses tersebut hanya koordinat x,y-axis dari pergelangan tangan kanan dan tangan kiri yang kemudian akan menjadi masukan ke dalam arduino-program.

## 3.4 Diagram Alur Kerja Program
Program diawali secara bersamaan antara python-program dan arduino-program seperti yang ditunjukkan pada Gambar 11 .

## Gambar 10. Diagram Alur Program
Pada python-program diawali inisialisasi variable kemudian koneksi dengan device kamera dan juga mikrokontroler. Selanjutkan python-program dengan menggunakan library opencv pose detection  akan  mendeteksi  apakah  ada orang  atau  tidak.    Jika  terdeteksi  ada  orang  maka variabel is-orang = 1,  dan mengukur posisi xy-axis pada pergelangan tangan kanan dan kiri untuk selanjutnya dikirimkan ke Arduino-program. Arduino program akan mendapatkan isi dari variabel  keberadaan  orang dan  kordinat  pergelangan  tangan  secara  serial.  Varibel  yang diterima  ada  5  yaitu is_orang,  valxkanan,  valxkiri,  valykanan,  valykiri.  Nilai  dari  variabel tersebut yang akan menentukan pompa mana yang akan aktif dan dengan ketinggian berapa. Selanjutkan Arduino-program akan memproses untuk mengaktifkan luaran melalui driver yang digunakan.

## 3.5 Implementasi dan Pengujian
Terdapat dua instalasi yang pertama instalasi perangkat pompa, LED, dan juga pengkabelan dan  kedua  instalasi  untuk  sistem  kontrol.  Terdapat  27  titik  air  mancur  yang  terhubung seluruhnya ke pusat kontrol yang berada pada panel. Gambar 12. Menunjukkan perakitan air mancur  ke  dalam  kolam  serta  sistem  kontrol.  Program  yang  dibuat  pada  Arduino-program berdasarkan  pada  perangkat  yang  digunakan.  Pada  pompa  digunakan  perangkat  driver
PCA9685  untuk  mengurangi  jumlah  pin  yang  digunakan  dikarenakan  menggunakan komunikasi Inter-Integrated Circuit (I2C). Driver PCA9685 memiliki spesifikasi luaran sebesar 12-bit (0 – 4096). Yang berarti tegangan akan maksimal 5V jika data diterima bernilai 4096 dan minimal 0V jika data bernilai 0. Kemudian tegangan akan men- trigger MOSFET IRF540 yang berfungsi sebagai relay 12V. Pada Tabel 2. berikut merupakan contoh sebagian program yang digunakan untuk mengaktifkan pompa dengan driver PCA9685 dan MOSFER IRF540.
Gambar 11. Hasil Pemasangan Pompa & LED
Tabel 2. Program PCA9685 Program
Penjelasan
#include "PCA9685.h" PCA9685 pwmController1(B000000); PCA9685 pwmController2(B000001); PCA9685 pwmController3(B000010); PCA9685 pwmControllerAll(PCA9685_I2C_DEF_ALLCALL_PROXY
ADR);
Inisialisasi  tiga  buah  driver PCA9685  yang  dihubungkan secara serial.
void setup() { pwmControllerAll.resetDevices(); pwmController1.init(); pwmController2.init(); pwmController3.init(); pwmControllerAll.initAsProxyAddresser(); pwmController1.setChannelOff(0); pwmController2.setChannelOff(0); pwmController3.setChannelOff(0); Serial2.println(pwmController1.getI2CAddress()); Serial2.println(pwmController2.getI2CAddress()); Serial2.println(pwmController3.getI2CAddress());}
Aktifasi alamat dari tiga driver PCA.
void pompa_nyala_semua(uint16_t pwm){ for (uint8_t i = 1; i <= 9; i++){ pwmController1.setChannelPWM(i - 1, pwm); pwmController2.setChannelPWM(i - 1, pwm); pwmController3.setChannelPWM(i - 1, pwm);}}
Program menyalakan  27 pompa  menggunakan  trigger PWM.
Pengujian pada pompa DC dengan mengatur lebar pulsa yang ditransimikan ke driver MOSFET IRF540  yang  berfungsi  sebagai  relay  12V.  Data  dikirimkan  dari arduino-program  ke  driver dengan besar data 8-bit (0-255). Pada driver PWM dengan nilai 0 berarti MOSFET tertutup (0V),  dan  PWM  dengan  nilai  255  berarti  MOSFET  terbuka  seluruhnya  (12V).  Pengujian dilakukan  untuk  menetukan  ketinggian  air  berdasarkan  besarnya  nilai  PWM  dan  tegangan seperti  yang  ditunjukkan  pada  Tabel  3.  Diperoleh  hasil  terdapat  perbedaan  tegangan  dan ketinggian air untuk setiap pompa, dengan tinggi air maksimal 2.1 meter.

## Tabel 3. Pengujian PWM pada Pompa DC
No. PWM Value Pompa 1 Pompa 2 Pompa 3 Tegangan (V) Tinggi air (m) Tegangan (V) Tinggi air(m) Tegangan (V) Tinggi air (m) 1 0 0.00 0.00 0.10 0.0 0 0 2 100 4.70 0.40 4.80 0.45 4.75 0.42 3 150 7.20 1.00 7.10 0.95 7.2 1.00 4 200 9.50 1.50 9.60 1.50 9.45 1.40 5 230 10.50 1.80 10.45 1.80 10.40 1.70 6 255 12.00 2.10 12.05 2.10 11.95 2.05
Lampu sorot yang juga berjumlah 27 unit diposisikan pada setiap pompa air. Lampu sorot LED ini sudah didukung oleh komunikasi secara serial untuk mempermudah pemrograman dan juga mengurangi jumlah kabel yang digunakan. Pada masukan awal dibutuhkan tambahan driver DMX Daisy Chain untuk masuk ke lampu pertama, pin keluar lampu sebelumnya dihubungkan ke pin masukan lampu selanjutnya. Pengujian ditunjukkan pada Gambar 13. dimana lampu terhubung  satu  sama  lain  secara  serial.  Untuk  sebagian  pemrograman  dari  lampu  LED ditunjukkan pada Tabel 4.
Gambar 12. Pengujian LED dengan Driver DMX Daisy Chain
Tabel 4. Program LED dengan Driver DMX Daisy Chain Program Penjelasan void lampu_nyala_semua_putih(int warna){ red = 255; green = 255; blue = 255; for (int ch = 1; ch <= 27; ch++){ dmx_master.setChannelValue(3 * (ch - 1) + 1, red);
dmx_master.setChannelValue(3 * (ch - 1) + 2, green); dmx_master.setChannelValue(3 * (ch - 1) + 3, blue);}}
Nyalakan semua lampu dengan warna putih. void lampu_mati_semua(int warna){ red = 0; green = 0; blue = 0; for (int ch = 1; ch <= 27; ch++){ dmx_master.setChannelValue(3 * (ch - 1) + 1, red); dmx_master.setChannelValue(3 * (ch - 1) + 2, green); dmx_master.setChannelValue(3 * (ch - 1) + 3, blue);}}
Matikan semua lampu.
Pengujian dilakukan dengan memberikan tegangan sebesar 24V pada masing-masing lampu. Kemudian  data  dikirimkan  secara  serial  dari  lampu  pertama  menggunakan  driver  DMX. Channel pada lampu diberi nomor dari 1 hingga 3 x n jumlah lampu. Sebagai contoh lampu pertama memiliki 3 buah chanel, dimana channel 1 warna merah, 2 warna hijau, dan 3 warna biru. Untuk lampu kedua berarti channel 4 warna merah, 5 warna hijau, dan 6 warna biru, begitu seterusnya sampai lamp uke 27. Sehingga terdapat sebanyak 81 channel untuk lampu. Pada  Tabel  4  ditunjukkan arduino-program  dikirimkan  pada  lampu  untuk  menyalakan  dan mematikan lampu sorot.
Terakhir  adalah  pengujian  koordinat  rangka  tubuh  pada python-program.  Program  diawali dengan menggunakan library opencv untuk mendeteksi manusia kemudian mengubahnya ke dalam bentuk skeleton. Data yang diambil dari program hanya data dari pergelangan tangan. Koordinat  x-axis  diawali  dari  1  sampai  9,  sedangkan  untuk  koordinat  y-axis  diawali  dari  0 hingga 255. Setelah data koordinat x-axis dan y-axis dari masing-masing pergelangan tangan diterima, maka data akan ditampilkan dan kemudian dikirim secara serial menuju perangkat arduino seperti yang ditunjukkan pada Gambar 14.

## Gambar 13. Pengujian Deteksi Rangka Tubuh
Data  yang  berupa  koordinat  pergelangan  tangan  yang  sudah  dikirimkan  nantinya  akan diproses  oleh  arduino  untuk  aktifasi  pompa  dan  lampu  LED.  Program  yang  terdapat  pada arduino  kemudian  melakukan parsing untuk mendapatkan  4 nilai yang menunjukkan posisi tangan  kiri  dan  kanan  pada  koordinat  x  dan  y.  Dimana  x  menentukan  pompa  mana  yang dinyalakan dan y menentukan ketinggian pompa yang menyala. Ditunjukkan pada Gambar 15. pengujian secara keseluruhan sistem kendali air mancur ( living fountain) yang sudah dibuat.

## Gambar 14. Pengujian Keseluruhan Sistem Kendali Air Mancur
Kamera terhubung ke perangkat komputer dapat menggunakan kabel atau wireless. Peletakan kamera dapat secara bebas dipindahkan, tidak pada posisi statik. Namun untuk mendeteksi rangka manusia dengan dengan baik, posisi manusia harus berada dua meter di depan kemera seperti yang ditunjukkan pada Gambar 15.
Tabel 5. Luaran Program Berdasar Kondisi Masukan
No. Posisi tangan Kiri Posisi tangan Kanan Keterangan No. Pompa menyala Ketinggian pompa menyala (cm) Kondisi lampu x- axis y-axis x- axis y-axis 1 1 Semua 9 semua Mode 1 – Aktifasi pompa semua 100 semua menyala nila 2 >5 Semua <5 semua Mode 0 – Mematikan tidak ada 0 tidak ada 3 tidak ada tidak ada tidak ada tidak ada Mode 2 – Standby semua 40 semua menyala cyan 4 3 255 7 255 Mode 1 – Aktif semua 200 semua menyala putih 5 3 200 tidak ada tidak ada Mode 1 – Aktif 1 sampai 5 160 semua menyala ungu 6 tidak ada tidak ada 7 200 Mode 1 – Aktif 5 sampai 9 160 semua menyala ungu
7 4 80 6 80
Mode 1 – Aktif 2 sampai 8 60 semua menyala kuning
Program  yang  tertanam  pada  arduino  memiliki  beberapa  mode.  Terdapat  “Mode  1”  yang merupakan mode untuk aktif, namun membutuhkan proses aktifasi. Proses aktifasi dilakukan dengan  menempatkan  tangan  kiri  pada  bagian  x-axis  1  dan  tangan  kanan  di  x-axis  9. Kemudian  ada  “Mode  2”  merupakan  mode  untuk  standby  dimana  tidak  ada  orang  yang terdeteksi di python-program. Mode 0 merupakan mode untuk menonaktifkan seluruh fungsi dengan  menukar  posisi  tangan  kiri  dan  tangan  kanan,  seperti  menyilangkan  tangan  atau berbalik  badan.  Tabel  5.  menunjukkan  kondisi  masukan  yang  didapat  dari  pembacaan koordinat pergelangan tangan berupa x,y-axis terhadap keluaran yaitu kondisi lampu LED dan pompa air mancur.

## 4. KESIMPULAN
Berdasarkan  hasil  perancangan  dan  pengujian  sistem  kendali  air  mancur  yang  terdiri  dari pompa  dan  LED  dapat  bekerja  sesuai  dengan  alur  kerja  yang  diinginkan.  Sistem mengendalikan  air  mancur  baik  melalui  program  secara  manual  ataupun  interaktif menggunakan data dari computer vision. Pompa yang digunakan adalah pompa celup DC 12V dengan ketinggian maksimal air hingga 2,1 meter. Sedangkan lampu sorot yang digunakan adalah LED RGB sorot IP67 DC 24V. Perangkat pompa dan lampu dikendalikan oleh driver yang  terhubung  ke  mikrokontroler.  Driver  pompa  menggunakan  PCA9685  16-Ch dikombinasikan dengan MOSFET IRF540 4-Ch agar pompa dapat dikendalikan ketinggiannya secara  independent  namun  tidak  membutuhkan  banyak  port/pin.  Driver  untuk  lampu menggunakan Arduino  DMX  Shield  sehingga  memungkinkan  untuk  mengendalikan  lampu secara independent dengan metode daisy chain. Pompa dan lampu bergerak secara interaktif mengikuti  pergerakan  manusia  yang  ditangkap  oleh  kamera.  Data  dari  kamera  kemudian diproses  pada  perangkat  komputer  yang  kemudian  datanya  dikirim  secara  serial  ke mikrokontroler.

## UCAPAN TERIMA KASIH
Ucapan terima kasih kami sampaikan kepada Universitas Gunadarma karena telah mendanai penelitian  ini.  Kami  juga  mengucapkan  terima  kasih  kepada  pihak-pihak  yang  membantu khususnya kepada tim UG-Technopark.

## DAFTAR RUJUKAN
Anilkumar, A., Athulya, K. T., Sajan, S., & Sreeja, K. A. (2021, June 8). Pose Estimated Yoga Monitoring System. SSRN Electronic Journal. https://doi.org/10.2139/ssrn.3882498
Ardiansyah, N.  F., Rabi’, A., Minggu, D., &  Dirgantara, W. (2019).  Computer  Vision  Untuk
Pengenalan Obyek pada Peluncuran Roket Kendaraan Tempur. JASIEK (Jurnal Aplikasi Sains, Informasi, Elektronika Dan Komputer), 1(1). https://doi.org/10.26905/jasiek.v1i1.3142
Buana, I. K. S. (2018). Aplikaso Untuk Pengoprasian Komputer dengan Mendeteksi Gerakan
Menggunakan OpenCV Python. SINTAK, 2(0).
https://www.unisbank.ac.id/ojs/index.php/sintak/article/view/6585
Joesyiana, K. (2018). Penerapan Metode Pembelajaran Observasi Lapangan  (Outdor Sstudy) pada Mata Kuliah Manajemen Operasional (Survey pada Mahasiswa Jurusan Manajemen Semester  III  Sekolah  Tinggi  Ilmu  Ekonomi  Persada  Bunda). PEKA,  6(2),  90–103. https://journal.uir.ac.id/index.php/Peka/article/view/2740
Lubis, F. B., & Yanie, A. (2022). Implementasi Pulse Width Modulation (PWM) Pada Penyaluran
Limbah  Cair  Pupuk  Kelapa  Sawit  Berbasis  Arduino. Cetak)  Journal  of  Electrical Technology, 7(2), 39–46.
Makahaube,  S.  S.,  Sambul,  A.  M.,  &  Sompie,  S.  R.  (2020).  Implementation  of  Gesture
Recognition  Technology  for  Automated  Education  Service  Kiosk. Jurnal  Teknik Informatika , 16(4), 465–472.
https://doi.org/https://doi.org/10.35793/jti.16.4.2021.34210
Muthalib,  M.  A.,  Irfan,  Kartika,  &  Meliala,  S.  (2023).  Pengiraan  Pose  Model  Manusia  pada
Repetisi Kebugaran AI Pemrograman Pythin berbasis Komputerisasi. INFOTECH Journal,
9(1), 11–19. https://doi.org/10.31949/infotech.v9i1.4233
Pramesti, A. D., & Yunita, L. (2018). Potensi Daya Tarik Wisata Air Terjun Bur Bulet Sebagai Daya Tarik Wisata Alam Di Takengon Aceh Tengah. PUBLIKAUMA, 6(2), 31–37.
Setyawan, FX. A., Sulistiyanti, S. R., & Yudamson, A. (2016). Dasar Sistem Kendali. AURA.
Song, L., Yu, G., Yuan, J., & Liu, Z. (2021). Human pose estimation and its application to action  recognition:  A  survey. Journal  of  Visual  Communication  and  Image Representation, 76, 103055. https://doi.org/10.1016/j.jvcir.2021.103055
Suhendra, T., Uperiati, A., Purnamasari, D. A., & Yunianto, A. H. (2018). Kendali Kecepatan Motor  DC  dengan  Metode  Pulse  Width  Modulation  menggunakan  N-channel  Mosfet.
Jurnal  Sustainable:  Jurnal  Hasil  Penelitian  Dan  Industri  Terapan,  7(2),  78–85. https://doi.org/10.31629/sustainable.v7i2.701
Suroso, Prasetijo, H., Nugroho, D. T., & Qosim, M. I. (2018). Analisis Unjuk Kerja Prototip
Sistem  Pengiriman  Daya  Nirkabel  Jenis  Resonansi  Magnetik  Menggunakan  Inverter Setengah  Jembatan  Dan  Kumparan  Helix. Dinamika  Rekayasa,  14(2),  77–85. https://doi.org/10.20884/1.dr.2018.14.1.207
Syahwil, M. (2013). Panduan Mudah Simulasi Dan Praktek Mikrokontroler Arduino. ANDI.
Um,  K.,  &  Yoo,  S.  (2013).  Developing  Daisy  Chain  Receivers  for  Light-Emitting  Diode
Illumination  Adopting  the  Digital  Multiplex-512  Protocol. Journal  of  Nanoscience  and Nanotechnology, 13(10), 7092–7096. https://doi.org/10.1166/jnn.2013.7633
Zhang, J., Chen, Z., & Tao, D. (2021). Towards High Performance Human Keypoint Detection.
International Journal of Computer Vision, 129(9), 2639–2662. https://doi.org/10.1007/s11263-021-01482-8