## Implementasi Pemrograman Interfacing MATLAB-Arduino

## Eddy Nurraharjo
Program Studi Teknik Informatika, Universitas Stikubank Semarang email: eddynurraharjo@gmail.com

## Abstrak
Teknologi  elektronika  dalam  komponen/elemen  dasar  elektronika  maupun  pada  sebuah  sistem terpadu.  Penelitian-penelitian  sebelumnya  yang  pernah  dilakukan  pada  umumnya  melakukan  pengamatan besaran-besaran  fisis  dan  perubahannya  dengan  menggunakan  beberapa  sensor.  Salah  satu  untuk mendeteksi  perubahan  atas  fenomena  fisis  yang  terjadi  dengan  menggunakan  sensor  /  transducer  seperti LDR,  PTC,  NTC,  ping,  PIR  dan  lain  sebagainya.  Pengamatan  perubahan  fisis  ini  diperlukan  untuk kebutuhan  pengamatan  dan  analisa  atas  perubahan  fisis  suatu  perangkat,  sehingga  dapat  memberikan simpulan  sementara  atau  prediksi  terhadap  tindak  lanjut  sistem  dalam  menangani  perubahan  tersebut. Perkembangan  saat  ini  adalah  penggunaan  mikrokontroler  Arduino  yang  merupakan  keluarga  dalam rangkaian  terpadu  ATMEL  sebagai  salah  satu  media  bantu  pengamatan  perubahan  fisis  seperti  suhu, kecepatan, jarak, tekanan dan lain sebagainya.
Pada  kesempatan  penelitian  ini  tim  peneliti  berupaya  untnuk  melakukan  visualisasi  data  terekam berkaitan  dengan  sistem logger. Pengamatan  dilakukan  dengan  merekam  data  yang  dikirim  oleh  papan Arduino  oleh  perangkat  lunak  komputer,  yang  pada  kesempatan  ini  menggunakan  MATLAB.  Kemudian MATLAB akan memvisualisasikan dat yang diterima secara realtime dalam mode grafik.
Hasil  penelitian  ini  terfokus  pada  pengamatan  dan  analisa  terhadap  konsep  antarmuka/interfacing antara  mikrokontroler  dan  komputer,  meliputi  desain,  rancang  bangun  dan  pemrograman  yang  terlibat dalam suatu simulasi sistem kendali terpadu berbasis Arduino-MATLAB. Visualisasi data secara realtime diperoleh  dengan  mengkondisikan  perangkat  papan  Arduino  yang  terhubung  dengan  sensor  jarak (ultrasonik)  untukmengirimkan  data  secara  signifikan  terhadap  perubahan  jarak  yang  ada,  dan  data  ini kemudian  direkam  oleh  variabel  MATLAB  dan  menampilkannya  dalam  format  grafik  plot,  yang terdistribusi dalam sumbu x mewakili jarak dalam centimeter dan sumbu y mewakili besaran waktu dalam detik. Hasil berjalan baik secara realtime dan sesuai dengan standar ukuran sebenarnya.
Kata kunci: MATLAB, arduino, mikrokontroler

## PENDAHULUAN
Otomasi sistem dengan konsep menempel atau embedded  system pada  sistem  komputer memiliki  prinsip  dan  hasil  yang  mampu dikembangkan  dari  dasar  komunikasi  data. Pengolahan  data  yang  diperoleh  dari  sistem akuisisi  data  memiliki  tantangan  tersendiri dalam  perancangannya.  Namun  seiring  dengan perkembangan waktu, dan perkembangan teknologi  telah  diciptakan  modul  rangkaian terpadu Arduino sebagai salah satu kekuatan inti dalam  merancang  sebuah  sistem  kendali modern.
Salah satu model yang senantiasa dikembangkan  dalam  ranah  akuisisi  data  adalah konsep data  logging ,  dimana  data  yang  diambil dari  besaran  fisis  yang  diolah  sedemikian  rupa dengan  berbagai  algoritma  sederhana  hingga kompleks  untuk  memberikan  hasil  yang  dapat dimanfaatkan  lebih  lanjut,  seperti  pemantauan suhu, pemantauan kecepatan  angin, pemantauan tekanan,  pemantauan  jarak  dan  ain  sebagainya. Prinsip data  loggin g  dalam  kesempatan  ini adalah  dengan  melibatkan  modul  kendali  mikro yaitu Arduino UNO R3 untuk dijadikan sebagai perantara  atau  antarmuka  sistem  komputasi berbasis  PC  dengan embedded  system berbasis Arduino.  Implementasi  sederhana  penggunaan
sistem  pemantauan  jarak  ini  adalah  pada  sistem pemandu  parkir  mobil  yang  merupakan  sebuah perangkat  bantu  pengendara  dalam  melakukan parkir, sehingga sistem ini akan memberitahukan  kepada  pengendara  melalui suara  dengan  kecepatan  periodik  yang  berbeda, dimana semakin dekat dengan bodi mobil maka akan semakin cepat periodik suaranya.
Pada  kesempatan  ini  implementasi  sistem kendali  berbasis data  logging ini  diharapkan pada penelitian selanjutnya adalah implementasi pada  sebuah  3D  printing,  pengukuran  dimensi, 3D  scanning  dan  lain  sebagainya.  Pada permulaan  penelitian  ini  diharapkan  menjadi bahan  penelitian  selanjutnya  dalam  mengukur kontur  obyek  3D,  dan  semoga  dapat  menjadi bahan  pengembangan  teknologi  selanjutnya berkaitan  dengan  teknologi  sensor  ultrasonik. Sementara  itu  Matlab  sebagai  salah  satu  tools andalan untuk memberikan analisa akan mampu memberikan  visualisasi data  logging ini  secara realtime ,  sehingga  pengamatan  akan  lebih obyektif  dan  mampu  terekam  ke  dalam  sistem dokumentasi  file  untuk  jangka  panjang,  yang tentu  saja  dapat  menjadikan  dampak  dan kemanfaatan konsep data logging ini. Kombinasi  dari  kedua  sistem  ini  baik  tinjauan dari  sisi  software  maupun  hardware  ini memerlukan sebuah prinsip komunikasi datanya, sehingga  validasi  sistem  akan  terjaga  dengan kontiuitasnya secara realtime .

## PERUMUSAN MASALAH
Berdasarkan  latar  belakang  di  atas,  maka penulis  mencoba  merumuskan  masalah  dalam penelitian ini diantaranya adalah:
1. Teknik dan Algoritma Akusisi Data
2. Teknik  Perangkat  Komunikasi  Antarmuka Sistem PC dan Modul Arduino

## BATASAN MASALAH
Adapun batasan masalah dalam
kesempatan penelitian ini adalah:
1. Penggunaan teknik/metode komunikasi serial  dalam  proses  akuisisi  data  ini  dalam implementasinya  berbasis  elemen  GUIDE  - MATLAB
2. Data  masukan  sistem  adalah  jarak  yang terukur  dari  sensor  ultrasonik  dengan menggunakan modul Arduino R3.

## TUJUAN DAN MAFAAT PENELITIAN
Adapun  tujuan  dalam  penelitian  pada kesempatan kali ini adalah:
1. Mengimplementasikan  bagian  proses/sub proses  yang  berkaitan  dengan  akusisi  data berbasis  komunikasi  serial  komputer/PC menggunakan MATLAB dan Modul
Arduino R3.
2. Mengetahui konsep komunikasi serial berbasis Matlab – Arduino UNO R3.
Manfaat  yang  ingin  dicapai  dalam penelitian ini adalah:
1. Memberikan  wawasan  proses  fundamental berkaitan  dengan  pengambilan  data real time komunikasi  serial  untuk  sistem  kendali terpadu.
2. Memberikan wawasan pengembangan teknik  dasar  pengamatan  jarak  untuk rekayasa lanjut bagi pendeteksian obyek 3D dengan proses scanning.

## METODE PENELITIAN
Metode  yang  akan  digunakan  dalam penelitian  ini  terdiri  dari  langkah-langkah sebagai berikut ;
1. Studi Literatur
Untuk  memperoleh  dasar  teori  berkaitan dengan pemrograman komunikasi serial baik berasal dari jurnal, buku cetak dari berbagai penerbit maupun searching di internet
2. Pemrosesan Data Matlab
Pemrosesan  data  ini  dimaksudkanadalah pemrosesan  terhadap  data  masukan  yang merupakan  hasil  akuisisi  data,  untuk direkam dengan beberapa metode fundamental  komunikasi  serial  digital  dan mengimplementasikanteknik visualisasi data olahan, sehingga diharapkan mampu dikenali  beberapa  model  tampilan  grafis data  terekam  secara realtime yang  mampu diproses  dan  dilakukan  dengan  harapan penggunaan data hasil yang lebih baik.

## HASIL DAN PEMBAHASAN
Pada kesempatan penelitian ini, dilakukan pengamatan  terhadap  obyek  fisis  dari  suatu sensor  jarak  berdasarkan  ketentuan  sebagai berikut :
1. Komunikasi  secara  serial  pada  port  USB komputer.
2. Data sampling diambil  dari  data  murni sensor  jarak  dengan  menggunakan  sensor ultrasonik.
3. Konversi data dalam satuan centimeter.
4. Tampilan berupa grafis realtime.

## Implementasi Pemrograman

## Diagram Sistem

## A. Arduino UNO
Adapun  urutan  proses  persiapan  rekayasa sistem  ini  terdiri  dari  beberapa  langkah  dan proses  yang  diimplementasikan  pada  papan Arduino adalah sebagai berikut :
Gambar 1. Diagram Proses Arduino board
Pada gambar 1. di atas proses akan diawali dengan  inisialisasi  port  dan  variabel  untuk menerima  dan  menampung  data  yang  akan
dibaca  dari  sensor  yang  telah  terhubung  pada port-port  yang  telah  ditentukan  sebelumnya. Kondisi  input  ditetapkan  pada  port  sensor  yang terhubung  dengan  ultrasonik.  Proses  inisialisasi dilanjutkan dengan pengkondisian status INPUT bagi  port  data  sensor,  dan  pembacaan  data berdasarkan rentang waktu tertentu yang diiringi dengan  waktu  tundaan  untuk  pengambilan sampel  data  selanjutnya.  Data  hasil  pembacaan ini akan dikonversikan menjadi besaran besaran jarak,  yaitu  centimeter,  dimana  berdasarkan datasheet  diperoleh  bahwa  untuk  1  centimeter memerlukan  waktu  tempuh,  yaitu  waktu  saat dipancarkan  hingga  diterima  kembali  adalah kurang  lebih  29  microseconds  atau  dinyatakan dalam  besaran  kecepatan  suara  untuk  sensor ultrasonik  adalah  340  m/detik,  yang  berarti bahwa jarak sebenarnya adalah :
Dx = ( D0 x 2 ) / 29 ....................................... (1)
Dimana :
Dx = Data/Jarak terukur
D0 = Data terbaca
B. MATLAB 2010b

## User Interface MATLAB
Adapun  skema  diagram  proses  untuk konsep pengujian port adalah sebagai berikut :
Gambar 2. Diagram Proses I/O Interfacing
MATLAB
Proses  diagram  di  atas  diawali  dengan eksekusi library Matlab-Arduino, dimana proses ini akan memberitahukan kepada Matlab tentang adanya papan Arduino yang terkoneksi kepadanya.  Proses  selanjutnya  adalah  proses untuk  menetapkan  status  port  komunikasi utamanya,  yang  dalam  kesempatan  ini  adalah port  serial  (USB  port).  Proses  pembacaan  data yang  dimaksud  adalah  pembacaan  status  data terakhir  pada  papan  Arduino  secara realtime . Sementara  proses  eksekusi  adalah  proses  untuk memberitahukan  kepada  papan  Arduino  untuk menjalankan perintah eksekusi status portnya.
Pengujian  yang  dilakukan  adalah  dengan membuat  suatu  tampilan  visualisasi  data  dari sensor  jarak  menggunakan  sensor  ultrasonik, yang  akan  ditampilkan  dalam  visualisasi  data secara  realtime  pada  sebuah  grafik  plot,  dimana visualisasi tampilan grafik plot akan disesuaikan dengan  perubahan  data  pada  nilai  sensor  jarak yang  telah  dikonversikan  kedalam  besaran fisika,  yang  dalam  kesempatan  ini  adalah centimeter. Contoh tampilan visualisasi diagram
distance logger ,  yang  ditampilkan  berdasarkan data  masukan  pada  terminal  yang  terhubung dengan sensor ultrasonik.
Gambar 4. Tampilan grafik plot distance logger. Sumbu X menyatakan data jarak terkonversi  dalam  satuan  fisis  centimeter,  yang dibatasi  pada  jarak  antara  sensor  ultrasonik dengan dinding adalah varian antara 0 – 203 cm sehingga  periode  jarak  terdisipasi  dalam  10  cm dan range jarak terukur antara 0 – 220 cm.
Gambar 5. Screenshoot tampilan IDE Arduino
Kode  program  yang  tersedia  dalam screenshoot di  atas  dilanjutkan  dengan upload (penulisan program ke mikrokontroler Arduino).
Hal ini akan menugaskan kepada mikrokontroler Arduino  untuk  melakukan  proses  pendeteksian, pengukuran  dan  pengiriman  data  jarak  yang diperolehnya.
Gambar 6. Potongan Listing MATLAB
Listing program  MATLAB  di  atas dimaksudkan  untuk  memerintahkan  Matlab membaca  port/terminal  yang  terhubung  ke sensor  ultrasonik,  untuk  mengambil  data  dari mikrokontroler Arduino. Data yang diambil oleh Matlab  adalah  data  yang  sudah  terkonversi dalam  format  fisis  yaitu  centimeter,  sehingga Matlab  hanya  menjembatani  penerimaan  data sekaligus  menampilkan  data  tersebut  dalam mode grafik.

## Analisa Hasil
Implementasi  prinsip  komunikasi  data antara  MATLAB  dan  Arduino  memiliki  ciri khas  tersendiri  dimana  diperlukan  beberapa media komunikasinya seperti :
1. ArduinoIO
2. Adioes.pde
3. Kabel USB
Pra  proses  untuk  komunikasi  data  perlu dilakukan beberapa langkah diantaranya :
a. Untuk perangkat mikrokontroler Arduino :
- Upload sketch arduino I/O server, atau
- Upload sketch program untuk penerimaan dan poengiriman data sensor pada arduino
b. Untuk perangkat Matlab :
- Instalasi Arduino
- Penentuan port terminasi sensor
- Olah data
Langkah  proses  di  atas  diperlukan  untuk melakukan  komunikasi  serial  antara  papan arduino  dan  PC/laptop  dengan  perangkat  lunak Matlab.

## KESIMPULAN
Adapun beberapa kesimpulan yang berhasil diperoleh dalam penelitian ini diantaranya adalah sebagai berikut : a. Proses  komunikasi  data  sensor  dengan Matlab memerlukan pengkondisian perangkat komunikasi yang terdiri dari 2 sisi yaitu  dari  unit  perangkat  keras  (papan Arduino)  dan  perangkat  lunak  (Matlab), secara terpisah.
b. Pembacaan  data  pada  papan  Arduino memerlukan  konversi  dari  hasil  terbaca untuk bisa digunakan pada proses pengolahan  data  atau  pengiriman  data selanjutnya.
c. Implementasi  komunikasi  data  serial  dalam kasus distance  logger ,  telah  membuktikan bahwa  komunikasi  data  dapat  dilakukan antara  MATLAB  dan  Arduino  dapat berjalan  baik  seiring  dengan  visualisasi tampilan data terukur dalam format grafik.

## DAFTAR PUSTAKA
E  Nurraharjo,  (2011).  “Analisis  Model Akuisisi  Data  Terhadap  Piranti  Analog  To Digital  (ADC)”,  Dinamik-Jurnal  Teknologi Informasi
E  Nurraharjo,  (2012).  ”Terminal  Port Komputer  sebagai  Perantara  Pemrograman Bahasa  Tingkat  Tinggi”,  Dinamik-Jurnal Teknologi Informasi.
E  Nurraharjo,  (2012).  ”Implementasi Image  Statistic  Method  pada  Pengolahan  Citra Digital”, Dinamik-Jurnal Teknologi Informasi
E  Nurraharjo,  (2013).  ”  Rangkaian Pembangkit  Gelombang  dengan  menggunakan IC XR-2206”, Dinamik-Jurnal  Teknologi
Informasi.
Z Budiarso, EN Raharjo, V Lusiana, 2006, Laporan  Penelitian,  “Sistem  Kendali  Terpadu dengan  Menggunakan  Metode  Octal  Bus Transceiver with Non Inverting 3 State Output”