Komunikasi serial Arduino adalah Komunikasi antara Arduino Uno dan Komputer dapat dilakukan melalui port serial (via USB). Dalam hal ini, Arduino Uno tidak hanya bisa membaca data dari komputer yang ada di port serial, melainkan juga dapat mengirim data ke komputer. Sehingga komunikasi yang dilakukan bersifat dua arah.
Pada Arduino IDE menyesuaikan fasilitas untuk melakukan komunikasi dua arah tersebut melalui serial monitor. Dengan menggunakan fasilitas ini, dapat dikirimkan data ke Arduino Uno dan sebaliknya dapat membaca kiriman dari arduino uno. Tentu saja, hal ini memungkinkan dapat mengontrol Arduino Uno melalui komputer dan memantau sesuatu yang sedang terjadi di Arduino Uno. Sebagai contoh, saat mengirimkan isyarat untuk menghidupkan lampu atau memantau suhu yang terdeteksi oleh sensor suhu di Serial Monitor.
ilustrasi sederhana komunikasi antara laptop dengan arduino
Jenis Perintah Komukasi serial Arduino
- Serial.begin() : berguna untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Kecepatan yang umum digunakan adalah 9600 bit per detik (9600 bps). Namun, kecepatan hingga 115.200 didukung oleh Arduino Uno. Contoh : Serial.begin(9600)
- Serial.end() : digunakan untuk menghentikan komunikasi serial
- Serial.available : berguna untuk menghasilkan jumalh byte di port serial yang belum terbaca. Jika port serial dalam keadaan kosong, fungsi ini dapat menghasilkan nilai nol.
- Serial.read() : berguna untuk membaca satu byte data yang terdapat di port serial. Setelah pemanggilan Serial.read(), jumlah data di port serial berkurang satu. Untuk membaca seluruh data, diperlukan perintah seperti berikut :
- Serial.print(data) : berfungsi untuk mengirimkan data ke port serial. Apabila argumen format disertakan, data yang dikirim akan menyesuaikan dengan format tersebut. Dalam hal ini, format yang digunakan bisa berupa :
- DEC : format desimal atau basis 10
- HEX : format hexadesimal atau basis 16
- OCT : format oktal atau basis 8
- BIN : format biner atau basis 2
jika argument hanya satu, hasilnya dalam bentuk string. Contoh :- Serial.print(65); //hasil nilai tertampil 65
- Serial.print(65,DEC) //hasil nilai tertampil 65
- Serial.print(65, HEX); //hasil nilai tertampil 41
- Serial.print(65, OCT) //hasil nilai tertampil 101
- Serial.print(65, BIN) //hasil nilai tertampil 1000001
- Serial.flush() : berguna untuk mengosongkan data pembacaan yang ditaruh pada buffer
- Serial.parseFloat() : berguna untuk bilangan titik mengambang atau real
- Serial.println(data) : memiliki fungsi yang hampir sama dengan serial print, yang memberi efek perpindahan baris berikutnya
- Serial.parseln() : untuk menghasilkan nilai bulat
Contoh program komunikasi serial
Hasil pembacaan seperti gambar dibawah ini, dengan kondisi memberikan nilai “ngarep.net” dan send :
Tampilan komunikasi serial
note tambahan, pengiriman string ke port serial dapat diatur dengan:
- No line ending : tanpa tambahan apapun
- Carriage return
- Newline
- tambahan newline dan carriage return
Tutorial lanjutan : Aplikasi pengendalian LED Melalui port serial
Komentar
Posting Komentar