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

Apa itu komunikasi serial pada Arduino? Komunikasi serial adalah komunikasi yang terjadi antara mikrokontroler Arduino dan komputer (PC to Arduino serial communication) melalui perantara port USB.

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 mikrokontroler khususnya Arduino yang perlu kamu ketahui.



Pengertian Komunikasi Serial Arduino

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.

Komunikasi serial Arduino dengan PC memungkinkanmu mengontrol Arduino melalui komputer atau memantau sesuatu yang terjadi padanya.

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.

Itulah alasan mengapa kadang ada yang menyebutkan istilah komunikasi RX TX Arduino. 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. Pengertian 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.


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 serial begin pada Arduino adalah 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);}
Jadi intinya, maksud serial.begin(9600) adalah perintah yang mendeklarasikan kecepatan transfer data. Sampai sini kamu sudah paham kan fungsi serial.begin(9600) dalam sketch.

4. Serial.end()

Perintah ini berfungsi untuk menghentikan komunikasi pada Arduino 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)

Serial.print berfungsi 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)

Fungsi serial.println pada Arduino yaitu 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()

Parsefloat Arduino 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 cara menampilkan serial monitor Arduino, 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 pada Arduino IDE 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.

Contoh Program dan Rangkaian Komunikasi Serial Arduino Untuk Mengedipkan Lampu

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. Pengertian serial port
    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.


FAQ Komunikasi Serial:

Serial monitor Arduino tidak muncul

Dalam hal ini penyebabnya bisa saja karena aplikasinya yang tidak terinstal dengan sempurna. Solusinya yaitu menghapus lalu menginstalnya kembali.

Pengertian USART

Ialah sejenis mode komunikasi yang memungkinkan terjadinya komunikasi serial antara mikrokontroler maupun dengan komponen lainnya.

Perbedaan UART dan USART

UART berbentuk perangkat keras, sedangkan USART adalah mode komunikasinya.

Pengertian serial port

Port serial Arduino adalah jalur yang menghubungkan untuk memungkinkan terwujudnya komunikasi serial.

Baud rate Arduino adalah

Kecepatan transfer data pe bit dalam satuan detik.

Komunikasi serial 2 Arduino RX TX

Komunikasi 2 Arduino (2 Arduino serial communication) sangat mungkin dilakukan.

Komunikasi serial mikrokontroler dengan PC

Antara PC dan mikrokontroler memungkinkan terjadi komunikasi serial.

Serial.begin(9600) artinya

Arti serial.begin(9600); ialah kecepatan transfer data ditentukan sebagai 9600 bit per detik.

Serial begin Arduino adalah

Perintah untuk menentukan seberapa cepat pengiriman data melalui port serial.

Perbedaan serial.print dan serial.println

Penampilan data serial.print di serial monitor hanya satu baris saja. Sedangkan serial.println adalah pada baris baru.

Apa fungsi serial monitor pada Arduino

Fungsi serial monitor Arduino adalah untuk menampilkan informasi yang didapatkan dari komunikasi serial.

Fungsi serial print pada Arduino

Mengirimkan data ke port serial lalu menampilkannya di serial monitor.

Serial komunikasi Arduino

Komunikasi serial Arduino adalah jenis komunikasi yang terjadi dalam bentuk pengiriman per bit daya secara berurutan dan bergantian.

What is serial begin 9600 in Arduino

Serial.begin adalah perintah yang fungsinya menentukan kecepatan transfer data.

Cara menggunakan serial monitor Arduino

Untuk memunculkannya, kamu hanya perlu menekan tombol Ctrl+Shift+M

Jenis command pada Arduino yang berfungsi untuk mengirimkan data ke port serial yaitu…

serial.print dan serial.println

Sebutkan komunikasi yang ada pada Arduino

Komunikasi serial TX RX Arduino

Pin yang diggunakan untuk berkomunikasi serial pada Arduino menggunakan pin

Komunikasi antara Arduino dengan komputer menggunakan pin RX dan TX

Pengertian void setup

Arti void setup adalah untuk mendeklarasikan variabel yang ada di dalamnya.


Jangan Lewatkan:

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