Komunikasi serial via Port

By | January 15, 2021
1,652 Views

Sinopsis

Pembahasan kali ini agak sedikit berbeda dengan yang sebelumnya, yaitu komunikasi serial. Penulis menggunakan arduino UNO sebagai contoh sederhananya. Dibawah ini Arduino UNO sudah terpasang pada port USB di COM.

Untuk contoh sederhanya yaitu, Arduino UNO akan menerima perintah via USB dari Matlab yaitu kode 1 dan 2, dimana untuk 1 akan menghidupkan lampu led, sebaliknya untuk 2 akan mematikan lampu led. Secara default, arduino UNO mempunya pin no 13 berupa lampu led, kita akan menggunakan hal tersebut sehingga menjadi lebih mudah.

byte a,b; //variabel awal
void setup()
{
  Serial.begin(9600); // baud rate nya
  pinMode(13,OUTPUT);  //kita set pin no 13 sebagai output
  digitalWrite(13,HIGH); //kita hidupkan dari awal
  
}

void loop()
{
  a = Serial.read(); //baca serial
  b = char(a); //ubah ke string
  
  switch(b)
  {
    case '1':
      digitalWrite(13,HIGH); 
      Serial.println("portal terbuka");     
      break;
    case '2':
      digitalWrite(13,LOW);
      Serial.println("portal tertutup");     
      break;
  }
  
}

Yuk, kita pakai komunikasi serial bawaan IDE nya Arduino seperti berikut

Cukup mudah, bukan?

Matlab Komunikasi serial

Nah sekarang kita menggunakan Matlab Komunikasi serial  seperti code berikut

s=serial('COM5')
fopen(s)

Hasil dari fopen(s)

Serial Port Object : Serial-COM5

   Communication Settings 
      Port:               COM5
      BaudRate:           9600
      Terminator:         'LF'

   Communication State 
      Status:             closed
      RecordStatus:       off

   Read/Write State  
      TransferStatus:     idle
      BytesAvailable:     0
      ValuesReceived:     0
      ValuesSent:         0

Nah, kirimkan data ke USB menggunakan perintah berikut

fprintf(s,'1')

atau kode berikut

fprintf(s,'2')

Nah, jangan lupa bila sudah selesai, coba-cobanya, agar close serial nya dengan code berikut

fclose(s)