[TUTORIAL] Menggunakan Serial Plotter pada Arduino

Sejak IDE Arduino versi 1.6.6 (rilis 3 Nov. 2015), fasilitas Serial Plotter telah disediakan. Fasilitas ini sangat berguna bagi pemrogram yang ingin memvisualisasikan data yang terhubung dengan komunikasi serial. Mari kita simak tutorialnya...


on Jum, 07/07/2017 - 09:12
14.378 View

Pendahuluan

Pastikan IDE Arduino kita adalah versi 1.6.6 atau lebih baru. Serial Plotter dapat diakses melalui Tools → Serial Plotter. Untuk menggunakan fasilitas ini, pastikan kita melakukan inisiasi fungsi komunikasi serial pada bagian void setup() yaitu menggunakan Serial.begin().

Pemrograman Arduino

Mari kita lakukan percobaan pertama. Asumsi saat ini kita ingin menampilkan fungsi gelombang Sinus menggunakan Serial Plotter. Ketik dan unggahlah program berikut:

double x;
void setup() {
  Serial.begin(9600);
  x = 0;
}

void loop() {
  Serial.println(sin(x));

  // seting batasan input fungsi sinus
  x += 0.05;
  if(x>= 2*3.14){
    x = 0;
  }

  delay(50);  
}

Jalankan program tersebut. Bukalah Serial Plotter melalui Tools → Serial Plotter. Berikut contoh tampilannya:

[[{"fid":"1005","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"},"type":"media","field_deltas":{"1":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"}},"link_text":null,"attributes":{"alt":"Serial Plotter Arduino","title":"Serial Plotter Arduino","class":"media-element file-default","data-delta":"1"}}]]

Mari kita kembangkan program kita untuk menampilkan gelombang sinus dan kosinus secara bersamaan. Ketik dan unggahlah program berikut:

double x;
void setup() {
  Serial.begin(9600);
  x = 0;
}

void loop() {  
  Serial.println(sin(x));  
  Serial.println(cos(x));
  delay(50);

  // seting batasan input fungsi sinus
  x += 0.05;
  if(x>= 2*3.14){
    x = 0;
  }  
}

Amatilah hasilnya seperti gambar berikut:

[[{"fid":"1006","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"},"type":"media","field_deltas":{"2":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"}},"link_text":null,"attributes":{"alt":"Serial Plotter Arduino","title":"Serial Plotter Arduino","class":"media-element file-default","data-delta":"2"}}]]

Pada Gambar di atas, terlihat bahwa Arduino melakukan ploting data secara bergantian secara kontinu, namun tidak memisahkan tiap-tiap data (sinus dan kosinus). Untuk dapat melakukan ploting multi data, kita dapat memisahkan tiap data dengan koma, spasi, atau tab ("\t").

Mari kita perbaiki program kita:

double x;
void setup() {
  Serial.begin(9600);
  x = 0;
}

void loop() {  
  Serial.print(sin(x));
  Serial.print(" ");
  Serial.println(cos(x));
  delay(50);

  // seting batasan input fungsi sinus
  x += 0.05;
  if(x>= 2*3.14){
    x = 0;
  }  
}

Hasilnya ditampilkan pada Gambar berikut:

[[{"fid":"1007","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"},"type":"media","field_deltas":{"3":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"}},"link_text":null,"attributes":{"alt":"Serial Plotter Arduino","title":"Serial Plotter Arduino","class":"media-element file-default","data-delta":"3"}}]]

Ada lagi sesuatu yang menarik yang bisa kita dapatkan dari penggunaan Serial Plotter. Terkadang kita ingin melibat batasan nilai yang kita inginkan. Asumsi saat ini kita ingin menampilkan batasan nilai maksimum dan minimum dari fungsi sinus dan kosinus. 

Unggahlah program berikut:

double x;
void setup() {
  Serial.begin(9600);
  x = 0;
}

void loop() {  
  //membatasi data pada sumbu-y
  Serial.print(1);
  Serial.print(" ");
  Serial.print(-1);
  Serial.print(" ");

  //kirim data
  Serial.print(sin(x));  
  Serial.print(" ");
  Serial.println(cos(x));
  delay(50);

  // seting batasan input fungsi sinus
  x += 0.05;
  if(x>= 2*3.14){
    x = 0;
  }  
}

Amatilah hasilnya pada Gambar berikut:

[[{"fid":"1008","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"},"type":"media","field_deltas":{"4":{"format":"default","field_file_image_alt_text[und][0][value]":"Serial Plotter Arduino","field_file_image_title_text[und][0][value]":"Serial Plotter Arduino"}},"link_text":null,"attributes":{"alt":"Serial Plotter Arduino","title":"Serial Plotter Arduino","class":"media-element file-default","data-delta":"4"}}]]

Demikian tutorial kali ini. Semoga bermanfaat :)

Profil Penulis

User Picture
  • Member Since 7 tahun 7 bulan ago
Kusuma Wardana

MATLAB, Mikrokontroler, FPGA, Elektronika, Kontrol/Kendali, Signal Processing

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...

Comments