Jumat, 07 Oktober 2016

Komunikasi Serial pada Arduino


Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu. Pada dasarnya komunikasi serial adalah kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara simultan.Hal ini dapat disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128.

Berikut adalah Intruksi intruksi yang terdapat pada komunikasi serial arduino :
  • if (Serial) : Untuk mengecek apakah Port sudah siap
  • Serial.available() : Untuk mengecek apakah data sudah ada di buffer penerima
  • Serial.begin() : untuk mengeset kecepatan transmisi data
  • serial.end() : Untuk menon-aktifkan pin rx dan tx sbg fungsi serial dan kembali sbg pin I/O
  • Serial.find() : mencari string dlm buffer data
  • Serial.findUntil(): mencari buffer data sampai data dgn panjang/terminator nya yg diberikan ditemukan
  • Serial.flush(): menunggu data terkirim semua
  • Serial.parseFloat(): mengambil data float pertama dari data di buffer serial.
  • serial.parseInt(): mengambil data integer pertama dari data di buffer serial.
  • Serial.peek(): mengambil data berikutnya di bufer penerima
  • Serial.print() : mengirim data ASCII
  • Serial.println() : mengirimdata ASCII + CR,LF (kode enter)
  • Serial.read(): membaca data yg diterima
  • Serial.readBytes(): membaca data byte yg diterima
  • Serial.readBytesUntil()
  • Serial.setTimeout(): mengeset batas maksimum waktu  tunggu(timeout)  transmisi data.
  • Serial.write() : mengirim data byte (numerik)
  • Serial.serialEvent(): fungsi ini akan dipanggil jika data datang/diterima.berlaku spt interupsi serial


Langkah membuat contoh program Komunikasi Serial :

Alat dan Bahan :
  1. Arduino
  2. Protoboard
  3. Kabel
  4. 3 Buah LED
  5. Kabel downloader
Langkah - langkah membuat program Komunikasi Serial :

1.Buka aplikasi Arduino
2.Pada tampilan Awal pilih Tools - Port - Port yang akan digunakan ( contoh ; COM 3 )



3.Tulis skrip pada program Adruino seperti dibawah ini :

int lampu1 = 13;
int lampu2 = 12;
int lampu3 = 11;
int out;
void setup()
{
  Serial.begin(9600);
  pinMode(lampu1, OUTPUT);
  pinMode(lampu2, OUTPUT);
  pinMode(lampu3, OUTPUT);
}
void loop()
{
  if (Serial.available()>0)
  {
    int baca = Serial.read();
    if (baca =='a')
    {
    out=1;
    }
    if (baca =='s')
    {
    out=2;
    }
    if (baca =='d')
    {
    out=3;
    }
    if (baca =='f')
    {
    out=4;
    }
    if (baca =='g')
    {
      out=5;
    }
  
       if(out==1)
       {
       digitalWrite(lampu1,HIGH);
       digitalWrite(lampu2,LOW); 
       digitalWrite(lampu3,LOW); 
       Serial.println("LED 1 Nyala lurrr");
       }
       if(out==2)
       {
       digitalWrite(lampu1,LOW); 
       digitalWrite(lampu2,HIGH);
       digitalWrite(lampu3,LOW); 
       Serial.println("LED 2 Nyala lurrr");
       }
       if(out==3)
       {
          digitalWrite(lampu1,LOW); 
           digitalWrite(lampu2,LOW); 
       digitalWrite(lampu3,HIGH);
       Serial.println("LED 3 Nyala lurrr");
       }
       if(out==4)
       {
       digitalWrite(lampu1,HIGH);
       digitalWrite(lampu2,HIGH); 
       digitalWrite(lampu3,HIGH);
       Serial.println("LED Nyala Semua lurrr");
       }
       if(out==5)
       {
       digitalWrite(lampu1,LOW);
       digitalWrite(lampu2,LOW); 
       digitalWrite(lampu3,LOW);
       Serial.println("LED Mati Semua lurrr");
       }
       
  }

Keterangan :
  • int lampu1 =13; ( Alamat yang digunakan )
  • pinMode(lampu1,OUTPUT) ; Lampu1 bekerja sebagai OUTPUT
  • if (baca=='a') ; (Digunakan sebagai inputan dari Komputer / Laptop untuk memanggil instruksi lain
  • Jika out=1 ( output 1 ) maka lampu1 nyala,lainya mati dan akan muncul indikator berupa sebuah teks yaitu "LED 1 Nyala lurrr"


4.Tancapkan kabel downloader yang sudah terhubung dengan arduino ke Port pada PC/Laptop.



5.Setelah selesai membuat Program,upload program ke Arduino



6.Pastikan Proses upload program ke Adruino sukses seperti gambar dibawah ini:


7.Kemudian klik icon Serial Monitor


8.Lalu ketik program sesuai yang dibuat tadi.


Selamat Mencobaaa ~




0 komentar:

Posting Komentar