Lompat ke konten Lompat ke sidebar Lompat ke footer

Komunikasi Serial Arduino dengan PC: Pengertian dan Program

komunikasi serial arduino

Berbicara tentang komunikasi serial Arduino, mungkin tak semua orang memahaminya dengan jelas. Nah, untuk itu saya ingin berbagi pengetahuan tentang komunikasi serial di postingan kali ini.

Apa yang perlu diketahui dari komunikasi serial pada Arduino? Membahasa tentang serial communication, tentu minimal kamu perlu tahu seputar pengertian, jenis perintah yang digunakan, serta contoh program dan rangkaiannya.

Hal yang diharapkan dari mempelajari ini adalah kamu bisa mahir ketika mengerjakan proyek yang berhubungan dengan komunikasi serial. Atau minimal bisa lah memahami dan mampu menggunakan perintah-perintah khusus dalam komunikasi serial.

Berikut ini adalah poin-poin materi belajar komunikasi serial di Arduino yang perlu kamu ketahui.


Pengertian Komunikasi Serial Arduino

Komunikasi serial Arduino adalah komunikasi yang terjadi antara mikrokontroler arduino dan komputer (PC) melalui perantara port USB.

Secara lebih sederhananya. Komunikasi serial adalah sebuah komunikasi yang terjadi dengan mengirimkan data per-bit secara berurutan dan bergantian.

Dengan adanya komunikasi serial, maka Arduino tak hanya bisa mengolah data dari pin input dan outputnya saja, tetapi juga bisa dikomunikasikan secara dua arah dengan perangkat komputer untuk menampilkan hasil pengolahan datanya.

Bahkan Arduino pun bisa melakukan komunikasi serial dengan perangkat Android melalui koneksi bluetooth.

Di Arduino IDE sendiri sudah disediakan fitur untuk komunikasi dua arah melalui serial monitor yang bisa digunakan untuk berbagai keperluan. Dengan adanya fitur ini, maka komputer bisa mengirim dan menerima data dari Arduino.

Hal ini memungkinkan kamu untuk bisa mengontrol Arduino melalui komputer atau memantau sesuatu yang terjadi di Arduino.

Misalnya kita dapat mengirim isyarat untuk menghidupkan lampu atau memantau suhu yang dideteksi sensor suhu melalui serial monitor di komputer.

Umumnya semua board Arduino telah memiliki minimal 1 port serial yang biasa dikenal dengan jenis UART atau USART.

Proses komunikasi serial menggunakan dua pin, yaitu pin RX untuk menerima data dan pin TX untuk mengirimkan data. Biasanya pin RX di Arduino adalah Pin 0 dan pin TX adalah Pin 1.

Ada satu istilah yang perlu kamu ketahui dalam komunikasi serial, yaitu baudrate. Baudrate adalah kecepatan transfer data dalam bit per satuan detik atau bit per second (bps).

Beberapa pilihan baudrate pada Arduino yaitu 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, dan 115200. Tetapi kebanyakan yang sering digunakan adalah 9600.

Baca Juga : Bahasa Pemrograman Arduino

Jenis-Jenis Perintah Komunikasi Serial Arduino.

1. If (Serial)

Perintah ini berfungsi untuk mengecek apakah port serial sudah siap atau belum.

2. Serial.available()

Berfungsi untuk menghasilkan jumlah byte, angka, atau karakter di port serial yang belum terbaca. Apabila port serial dalam keadaan kosong, maka fungsi ini akan menghasilkan nilai nol.

Singkatnya, perintah ini digunakan untuk memantau apakah data sudah ada di buffer penerima atau belum. Berikut ini adalah contoh penulisan instruksi available yang benar.
int kirimdata = 0;

void setup()
{ Serial.begin(9600);}

void loop()
{
  if (Serial.available() > 0)
{
   dataterkirim = Serial.read();
   Serial.print("data terbaca: ");
   Serial.println(kirimdata, DEC);
  }
}

3. Serial.begin()

Fungsi perintah ini adalah untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Biasanya kecepatan yang sering digunakan adalah 9600 bps (bit per second).

Tetapi untuk Arduino Uno sendiri bisa mendukung hingga kecepatan 115.200 bps. Contoh format penulisannya yang benar adalah:
void setup() { Serial.begin(9600);}

4. Serial.end()

Perintah ini berfungsi untuk menghentikan komunikasi serial atau menutup port komunikasi serial serta menonaktifkan pin RX dan TX sebagai fungsi serial lalu mengubahnya jadi pin input output. Cara penulisannya yang benar yaitu:
Serial.end()

5. Serial.find()

Perintah ini digunakan untuk mencari string dalam buffer data. Contoh penulisan yang benar yaitu:
Serial.find()

6. Serial.findUntil()

Fungsi perintah ini adalah untuk mencari buffer data hingga data sesuai kriteria yang diberikan bisa ditemukan.

7. Serial.print(data)

Fungsinya untuk mengirimkan data ke port serial dan menampilkannya di serial monitor dalam satu baris saja. Apabila argumen format dimasukkan ke perintah, maka data yang dikirim akan menyesuaikan dengan format tersebut. Contoh format penulisan yang benar yaitu:
Serial.print(78)                // mencetak "78"
Serial.print(1.23456)           // mencetak "1.23"
Serial.print('N')               // mencetak "N"
Serial.print("Hello world.")    // mencetak "Hello world."
Serial.print(78, BIN)           // mencetak "1001110"
Serial.print(78, OCT)           // mencetak "116"
Serial.print(78, DEC)           // mencetak "78"
Serial.print(78, HEX)           // mencetak "4E"

8. Serial.println(data)

Berfungsi untuk mengirimkan data untuk ditampilkan di layar serial monitor atau di LCD pada baris baru. Contoh penulisannya yaitu:
Serial.println(1.23456, 0)      // mencetak "1"
Serial.println(1.23456, 2)      // mencetak "1.23"
Serial.println(1.23456, 4)      // mencetak "1.2346"

9. Serial.read()

Berfungsi membaca satu byte data yang diterima pada port serial. Biasanya setelah pemanggilan di Serial.read(), maka jumlah data di port serial akan berkurang satu. Contoh penulisan yang benarnya yaitu:
void loop()
{
  if (Serial.available() > 0)
{
   dataterkirim = Serial.read();
   Serial.print("saya menerima data: ");
   Serial.println(dataterkirim, DEC);
  }
}

10. Serial.readBytes()

Perintah ini digunakan untuk membaca data byte yang diterima.

11. Serial.write()

Fungsi perintah ini adalah untuk membaca data biner dari port serial. Biasanya data yang terkirim dalam bentuk byte atau deretan data byte. Contoh penulisan perintah yang benar yaitu:
void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.write(45);
   int bytesSent = Serial.write(“hello”);
}

12. Serial.setTimeout()

Penggunaan perintah ini biasanya untuk mengatur batas maksimum waktu tunggu (timeout) proses transmisi data.

13. Serial.flush()

Perintah ini berfungsi untuk mengosongkan data pembacaan yang tersisa di port serial.

14. Serial.parseFloat()

Fungsinya untuk mengambil data float (bilangan pecahan) pertama dari data di buffer serial.

15. Serial.peek()

Berfungsi untuk mengambil data berikutnya di buffer penerima.

16. Serial.parseIn()

Fungsinya untuk mengambil data integer (bilangan bulat) pertama dari data di buffer serial

17. Serial.serialEvent()

Perintah ini berfungsi layaknya interupsi serial yang biasanya dipanggil jika data datang atau diterima.


Contoh Format Pengonversian Data Pada Komunikasi Serial Arduino

1. Serial.print(65);
Hasil yang tertampil sesuai angka yang di dalam perintah

2. Serial.print(65, DES);
Hasil yang tampil berupa format desimal atau basis 10 yaitu 65

3. Serial.print(65, HEX);
Hasil yang tampil berupa format hexadesimal atau basis 16 yaitu 41

4. Serial.print(65, OCT);
Hasil yang tampil berupa format oktal atau basis 8 yaitu 101

5. Serial.print(65, BIN);
Hasil yang tampil berupa format biner atau basis 2 yaitu 1000001

Bagaimana Cara Memunculkan Serial Monitor

Untuk memunculkan serial monitor, maka yang harus kamu lakukan adalah memilih menu Tools lalu pilih Serial Monitor, bisa dengan menekan tombol Ctrl+Shift+M, atau bisa juga dengan memilih menu serial monitor di bagian kii atas (cek lingkaran merah gambar berikut).


Kira-kira tampilan serial monitor seperti ini.

tampilan serial monitor


Contoh Program dan Rangkaian Komunikasi Serial Arduino Untuk Menampilkan Teks

Hasil yang diinginkan :

Serial monitor akan menampilkan teks “Selamat Datang di aldyrazor.com” berulang kali. Dimana tiap teks pengulangan akan muncul di bawah teks sebelumnya. Kurang lebih tampilannya seperti ini.

contoh program komunikasi serial

Alat dan Bahan:

  • Arduino Uno dan kabelnya
  • Laptop atau komputer yang sudah terinstal Arduino IDE

Cara Kerja :

  1. Hubungkan Arduino Uno dan laptop menggunakan kabel USB
  2. Pastikan bahwa pengaturan board dan port-nya sudah benar di Arduino IDE. Jika belum, buka menu tools lalu atur board-nya sesuai jenis Arduino yang kamu gunakan. Sementara untuk port, pastikan kamu memilih port yang telah terbaca di komputer. Misalnya port COM2, COM4, atau sejenisnya.

  3. Ketikkan perintah berikut di Arduino IDE.
  4. void setup()
    {
    Serial.begin(9600); // set baudrate 9600
    }
    void loop()
    {
    Serial.println("Selamat Datang di aldyrazor.com");
    delay(1000);
    }
  5. Jika sudah, silahkan upload program ke Arduino.
  6. Buka serial monitor dan lihat apa yang terjadi.


Contoh Program dan Rangkaian Komunikasi Serial Arduino Untuk Menampilkan Perubahan Data

Hasil yang Diharapkan:

Serial monitor akan memunculkan tulisan “Ini adalah baris ke :” yang diikuti dengan angka baris ke berapa tulisan tersebut berada. Perlu kamu ketahui bahwa angka 2 dan seterusnya didapatkan dari hasil menjumlahkan angka di baris sebelumnya. Tampilannya kira-kira begini:

perubahan data

Alat dan Bahan:

  • Arduino Uno dan kabelnya
  • Laptop atau komputer yang sudah terinstal Arduino IDE

Cara Kerja:

  1. Hubungkan Arduino Uno ke komputer dengan kabel USB.
  2. Sesuaikan pengaturan board dan port-nya di Arduino IDE.
  3. Ketikkan perintah berikut:
  4. int angka=0;
    void setup()
    {
    Serial.begin(9600); // set baudrate 9600
    }
    void loop()
    {
    angka=angka+1;
    Serial.print("Ini adalah baris ke : ");
    Serial.println(angka);
    delay(1000);
    }

  5. Upload program ke papan Arduino
  6. Lihat apa yang terjadi di serial monitor.

Contoh Program dan Rangkaian Komunikasi Serial Arduino Untuk Mengedipkan Lampu 

Hasil yang diharapkan :

Lampu akan berkedip dalam jumlah yang sama dengan angka yang dimasukkan ke serial monitor Arduino IDE. Selain itu, di serial monitor juga akan muncul berapa kali jumlah kedipan yang dilakukan oleh lampu LED. Dalam hal ini kita hanya menggunakan angka dari 1 sampai 9. Kurang lebih tampilannya seperti ini.

Alat dan bahan :

  • Arduino Uno dan kabelnya
  • Laptop atau komputer yang sudah terinstal Arduino IDE
  • Lampu LED
  • Kabel Jumper male to male
  • Resistor 220 Ohm
  • Breadboard

Cara Kerja:

  1. Hubungkan Arduino ke komputer dengan kabel USB serta sesuaikan pengaturan board dan port-nya.
  2. Buatlah rangkaian seperti gambar di bawah ini.

  3. Gambar di atas menunjukkan bahwa pin GND Arduino dihubungkan ke kutub negatif lampu (kaki lampu pendek) dan pin 11 dihubungkan ke salah satu ujung resistor. Sedangkan ujung resistor yang satunya dihubungkan ke kutub positif lampu (kaki lampu panjang).

  4. Jika sudah, maka ketikkan perintah berikut di Arduino IDE.
  5. int x, angka;
    int led=11;
    void setup()
    {
      Serial.begin(9600);
      pinMode(led,OUTPUT);
      Serial.println("LED berkedip");
      Serial.print("kedipan : ");
    }
    void loop()
    {
      while(Serial.available()==0)
      {}
      angka=Serial.read()-'0';
      Serial.println(angka);
      for (x=1; x<=angka; x++)
      {
        digitalWrite(led, HIGH);
        delay(200);
        digitalWrite(led, LOW);
        delay(200);
      }
      angka=0;
      Serial.print("kedipan : ");
      Serial.flush();
    }
  6. Upload program ke papan Arduino.
  7. Buka serial monitor lalu ketikkan salah satu angka antara 1 sampai 9 kemudian pilih "Send".
  8. Periksa nyala lampu dan angka yang tertera di serial monitor.

Posting Komentar untuk "Komunikasi Serial Arduino dengan PC: Pengertian dan Program"