Selasa, 08 Juli 2014

Memprogram Arduino Menggunakan MATLAB Simulink

Pada artikel sebelumnya, kita telah membahas bagaimana menghubungkan MATLAB dengan Arduino. Pada kesempatan kali ini, kita akan membahsa bagaimana memprogram Arduino menggunakan MATLAB Simulink. Simulink adalah bahasa pemrograman blok. Kita merangkai logika pemrograman dalam bentuk blok-blok yang memiliki fungsi tertentu. Untuk pembahasan lebih lengkap, kita bisa membaca HELP yang telah disediakan pada MATLAB. Simulink sangat populer untuk mendesain suatu project tertentu, terutama pada pemahaman mengenai aliran data, dsb.
 
Pada pembahasan kali ini, kita akan menggunakan MATLAB 2014a. Pada MATLAB ini, telah disediakan Hardware Support Packages untuk beberapa board yang populer saat ini, misalnya Arduino, BeagleBoard, Gumstix Overo, LEGO, PandaBoard, Raspberry Pi, bahkan Samsung Galaxy. Nah, agar dapat menggunakannya, kita harus menginstal support packages menggunakan koneksi internet. Caranya cukup mudah. Mari kita simak pembahasan berikut...

Syarat utama yang harus kita miliki adalah sebuah papan Arduino beserta kabel USB untuk dikoneksikan ke komputer. Syarat lainnya adalah MATLAB kita harus terinstal Simulink. Selanjutnya, pastikan komputer kita terkoneksi internet. Bukalah program MATLAB, dan amati pada bagian kanan atas terdapat pilihan Add-Ons, dan klik kanan. Pilihlah Get Hardware Support Packages, dan tunggu instruksi selanjutnya.
 
 
 
 
Selanjutnya, terdapat opsi pada jendela Support Package Installer. Pilihlah Install From Internet, lalu Next. Selanjutnya, akan ada opsi untuk memilih paket apa yang akan kita install. Pilihlah Arduino Uno/Nano/Mega2560, kemudian ikuti saja langkah selanjutnya.  



Ketika sudah berhasil, ada baiknya kita restart MATLAB kita dengan mengetikkan exit pada Command Window, kemudian jalankan ulang lagi program MATLAB.
Langkah berikutnya setelah program MATLAB dibuka lagi adalah menjalankan program Simulink. Ketikkan sintaks simulink pada Command Window.
 
simulink
 
Selanjutnya akan muncul jendela Simulink Library Browser. Pastikan pada bagian bawah terdapat Simulink Support Package for Arduino Hardware. Ini menandakan bahwa paket untuk Arduino telah terinstal pada MATLAB. Selanjutnya, klik simbol New Model pada bagian kiri atas dan akan tampil jendela baru untuk membuat model kita. 
 
 
 
Pada pembahsan kali ini, kita akan membuat proyek yang sederhana dulu, yaitu menyalakan dan mematikan led internal yang dimiliki oleh Arduino (pada pin 13) secara bergantian dengan durasi tiap-tiap keadaan (menyala/padam) selama 1 detik. Nah, sekarang kembali ke Simulink Library Browser. Ekspansi Simulink Support Package for Arduino Hardware dan pilihlah Common. Selanjutnya, pilihlah Digital Output pada jendela sebelah kanan. 
 
 
 
Kita berpindah ke jendela model kita yang masih 'untitled'. Pada jendela ini, telah terdapat blok Digital Output. Klik kanan dua kali pada blok tersebut, dan gantilah pin 9 menjadi pin 13, seperti pada gambar di bawah ini.  



Selanjutnya, kembali ke Simulink Library Browser. Pilihlah Simulink --> Sources -->Pulse Generator, seperti gambar di bawah ini. Kirimkan ke project 'untitled' kita.
 
 
 
Blok Pulse Generator akan muncul di jendela 'untitled' kita. Klik dua kali dan ubahlah propertis-nya. Ubahlah Pulse Type menjadi Sample Based dan ubah juga Sample Time menjadi 0.1, seperti pada gambar di bawah ini.  



Selanjutnya, hubugkanlah blok Pulse Generator dengan Digital Out, dan simpanlah project kita, misalnya kita beri nama arduinoSim.slx. Selanjutnya, kita harus mengkoneksikan Arduino ke komputer melalui kabel serial USB. Klik Deploy to Hardware pada bagian kanan atas jendela, dan tunggulah proses selanjutnya. Pada pembahasan kita saat ini, papan Arduino yang kita gunakan adalah Arduino UNO.
 
 
 
 
Tunggulah sampai proses kompilasi selesai. Jika lancar, maka led internal pada Arduino akan berkedip...

Yuppp... semoga pembahsan kali ini bermanfaat... sampai jumpa pada pembahsan berikutnya.. Terima kasih..

6 komentar:

Anonim mengatakan...

selamat siang bro..
ni di dalam matlab saya g ada add-ons..
gimana caranya kalau pake matlab 2011a ?
tolong ya bro ya ?

Kusuma Wardana mengatakan...

siang, bro.... menurut saya, kita memang 'dipaksa' untuk mengikuti tren dari suatu software. intinya sederhana, yaitu agar kita tetap membeli produk yang baru dan tidak berlama-lama di produk yang versi lama. karena itulah, beberapa sintaks2 dan fitur2 dalam matlab juga berubah.

mulai matlab versi 2012, terdapat perubahan yang cukup besar pada matlab, termasuk dr tampilan, toolbox, dll. apalagi dulu beberapa driver yang awalnya disediakan, sekarang kita harus mengunduh secara terpisah. kita 'dipaksa' untuk membuat akun di situs mathworks.com. mungkin untuk alasan keamanan dan kontrol dr pihak matlab.

untuk bro Lawa, saya sarankan sekali mulai memakai MATLAB paling tidak 2014a. Untuk 2011 saya sudah tidak memakai lagi, bro. jadi saya sudah lupa bagaimana tampilannya.

cara yang bisa dicoba adalah dengan mengunduh langsung file support untuk simulink di laman berikut:

http://www.mathworks.com/matlabcentral/fileexchange/40312-simulink-support-package-for-arduino-hardware

nanti di klik dua kali dan selanjutnya akan terbuka program matlab. matlab selanjutnya akan mengarahkan ke proses instalasi. saya belum mencobanya langsung di matlab 2011, tapi di versi 2014 berjalan. semoga berhasil, broo...


ardi mengatakan...

gan untuk menggunakan simulink pada arduino harus melalui tahap komunikasi serial ini http://waterfilling.blogspot.co.id/2014/07/menghubungkan-arduino-dengan-matlab.html atau simulink ini udah otomatis terkonek dengan arduino ya ?

Zayd Andri mengatakan...

Selamat Siang... bagaimana pesan BUKU pak Nyoman yang berjudul Teknik Antarmuka Matlab dengan Arduino.
apakah bisa pesen langsung dengan anda.

terimakasih

Unknown mengatakan...

Selamat malam... bagaimana cara beli BUKU mas I Nyoman Kusuma Wardana yang berjudul Teknik Antarmuka Matlab dengan Arduino ...???

terimakasih

Unknown mengatakan...

sewaktu saya mencoba, terdapat error saat saya click deplot to hardware dan keterangan dari matlab tidak dapat menghubungkan ke hardware dikarenakan harus memastikan COM nya sesuai. Namun saya sudah mencobanya lagi dengan menginputkan COM secara manual agar sesuai maupun secara otomatis, namun masih belum berhasil. kira2 kenapa ya?

pada jendela diagnostic veiwer keluar seperti ini :
The following error occurred during deployment to your hardware board:
Could not connect to specified Arduino board.

Verify that the board is connected to your host, and that the host COM port number set in the model matches the COM port number in Windows.

To change the host COM port number in the model, click 'Simulation ', click 'Model Configuration Parameters'... In the dialog that opens, select the 'Hardware Implementation' pane, click 'Host-board connection' and set the COM port number.

To find out the COM port number in Windows, open Device Manager and open your board in the COM ports group.

mohon bantuannya, trims