[ULASAN - LENGKAP] Ploting Real Time Data dari Arduino Menggunakan MATLAB


Kusuma Wardana 21 Nov 2015 Pemrograman

Mulai Baca

Visualisasi data merupakan salah satu kegiatan penting dalam bidang keteknikan. Viasualisasi data dapat memberikan gambaran bagaimana sistem berjalan dan apakah hasil sudah sesuai dengan harapan. Selain itu, visualisasi data dapat dijadikan acuan dalam perbaikan suatu sistem. 

MATLAB diakui sebagai salah satu perangkat paling tangguh yang pernah ada sampai saat ini terkait dengan visualisasi data. Selain visualisasi, MATLAB juga sangat tangguh untuk memodelkan suatu sistem dan selanjutnya dapat berguna dalam menganalisis sistem tersebut.

Pada ulasan kali ini, kita akan memvisualisasikan data menggunakan MATLAB berdasarkan  data yang diperoleh dari Arduino. Arduino akan kita aktifkan sebagai signal generator. Arduino akan diprogram untuk menghasilkan gelombang sinus secara terus-menerus, dan selanjutnya sinyal ini akan diplot secara real-time menggunakan MATLAB. Komunikasi yang digunakan antara Arduino dan MATLAB adalah komunikasi secara serial, dalam hal ini menggunakan kabel USB.

Untuk merealisasikan project ini, kita harus memprogram baik disisi Arduino maupun di sisi MATLAB. Untuk sisi Arduino, ketik dan upload-lah program di bawah ini.

double x; 
void setup() {
   //kecepatan komunikasi serial 
   Serial.begin(9600);
   x = 0;
}
  
void loop() {
   Serial.flush();
   Serial.println(sin(x));
   x += .05;
  
   if(x >= 2*3.14)
     x = 0;
 
   //Tunggu sebentar utk komunikasi serial
   delay(50);
}

Serial.flush(); adalah sintaks yang digunakan untuk menunggu sampai data yang dikirim benar-benar selesai dikirim. Selanjutnya, sin(x) berguna untuk menghasilkan gelombang sinus sesuai dengan nilai x.

Langkah selanjutnya adalah memprogram MATLAB. Ketiklah sintaks MATLAB berikut.

Adapun penjelasan dari program MATLAB tersebut adalah sebagai berikut.

Jika kita ganti nilai lebarScroll = 10; menjadi lebarScroll = 0; maka akan dihasilkan jendela berikut:

Mengambil Data dari Sensor

Sekarang, kita modifikasi program Arduino. Kalau sebelumnya Arduino sebagai signal generator, yaitu membangkitkan sinyal sinus, maka sekarang kita ganti dengan membaca suatu sensor. Misalkan kita akan meletakkan sensor analog di Pin A0, maka dapat kita ubah sintaks sebelumnya menjadi berikut:

double x;
  
void setup() {
   //kecepatan komunikasi serial 
   Serial.begin(9600);
}
  
void loop() {
   Serial.flush();
   int nilaiSensor = analogRead(A0);
   Serial.println(nilaiSensor);
   delay(50);
}

Untuk MATLAB, yang harus diubah hanya nilai maksimum dan minimum sumbu-y. Karena ADC yang digunakan Arduino adalah 10-bit (saat ini saya menggunakan Arduino UNO), maka nilai maksimal haruslah 2^10 - 1 = 1023. Oleh karena itu, nilai maksimum sumbu-y sebesar 1050 adalah masuk akal. Mari kita ubah bagian tersebut:

min = 0;                             
max = 1050;                          

Misalkan untuk mengganti sebuah sensor, saya menggunakan sebuah potensiometer yang dihubungkan di Pin A0, sesuai dengan gambar di bawah ini.

Adapun koding lengkapnya adalah sebagai berikut.

Jika kita putar-putar potensiometer, maka akan ditampilkan contoh grafik berikut:

Demikian tutorial ini. Semoga bermanfaat.


Referensi:
[1] [MATLAB] Real Time Serial Data Logger https://billwaa.wordpress.com/2013/07/10/matlab-real-time-serial-data-logger/

Kusuma Wardana

Tentang Penulis, Kusuma Wardana

I Nyoman Kusuma Wardana, yang akrab dipanggil Kusuma, lahir dan besar di Bali. Ia tinggal di Desa Wisata Ubud, dan lebih banyak melaksanakan aktivitasnya di Denpasar. Profesinya adalah sebagai staf pengajar di Jurusan Teknik Elektro, Politeknik Negeri Bali. Ia menjadi salah satu penulis di tutorkeren.com bersama Aditya Suranata dan Agus Ady Aryanto.

lihat artikel lain oleh Kusuma Wardana

Artikel Lainnya

Kategori Tulisan

E-Book Terbaru

Teknik Antarmuka MATLAB dan Arduino

Teknik Antarmuka MATLAB dan Arduino - Cover.jpg
Pelajari konsep yang sangat luar biasa antara visualisasi, analisis dan komputasi yang ditawarkan MATLAB dengan Platform Arduino sebagai perangkat...
Jumlah Halaman:
411 Halaman

Video Terbaru

Belum Puas ? Mari Kita Saling Bicara


Join Forum Diskusi MiaranaDIY untuk berdiskusi dengan respon cepat mengenai berbagai macam tutorial hingga ulasan yang terdapat di blog ini. Untuk berlangganan artikel terbaru silahkan Like & Follow Facebook Page MiaranaDIY dan Follow Twitter @MiaranaDIY