- Pendahuluan
Berbicara mengenai Arduino, tentu sudah tidak asing lagi
didunia mikrokontroler. Dengan sifat yang Open
Source tentunya sudah banyak pembahasan serta contoh-contoh dari
pemanfaatan menggunakan Arduino. Pada pembahasan kali ini, akan melanjutkan
pembahasan tentang komunikasi serial yang ada pada Arduino.
Pembahasan mengenai komunikasi serial sudah pernah saya singgung
pada materi yang berjudul “Menyapa
Arduino Dengan “Hello World”” – http://destyy.com/wMatJW
dan “Pengamatan Data Menggunakan Serial
Monitor - http://ceesty.com/w3zODo”.
Materi kali ini akan lebih fokus pada contoh-contoh program Komunikasi Serial
yang terdapat pada Library Arduino, sehingga mempermudah seorang programmer
untuk mempelajari perbedaan dari setiap fungsi-fungsi program serial yang digunakan
Arduino.
- Penjelasan
Komunikasi data serial digunakan untuk komunikasi antara board Arduino dengan komputer atau
perangkat lain. Semua board arduino mempunyai sedikitnya 1 buah port serial
yang juga dikenal dengan nama UART atau USART. Komunikasi data serial
menggunakan 2 buah pin yaitu pin RX untuk menerima data dan pin TX untuk
mengirimkan data. Pada board Arduino
pin RX terletak pada pin0 dan pin TX terletak pada pin1. Ketika board Arduino dikonfigurasikan untuk
berkomunikasi secara serial, maka kedua yaitu pin0 dan pin1 tidak dapat
digunakan sebagai pin input/output digital.
Pada sistem operasi windows XP dan sebelumnya terdapat
program HyperTerminal yang dapat
digunakan sebagai media berkomunikasi secara serial dengan hardware baik untuk
menampilkan maupun mengamati perubahan data. Pada Windows versi terbaru seperti
Win7, Win8 dan Vista program hyperterminal
sudah tidak tersedia, tetapi hal ini tidak menjadi masalah untuk program Arduino
IDE telah menyediakan serial monitor yang dapat dibuka dengan memilih menu tool – serial monitor atau dengan
memencet shift-ctrl-M secara bersamaan.
- Pembahasan
Pada pebahasan “Menyapa
Arduino Dengan “Hello World””, telah disinggung mengenai library Program
Arduino yang memudahkan programmer untuk membuat program komunikasi serial.
Berikut akan kita jabarkan satu-persatu fungsi dan contoh program serial port
library yang tersedia pada program Arduino:
1.
Serial.available()
Digunakan untuk
menyatakan angka, bytes atau karakter yang sudah siap dibaca dari serial port.
Data ini adalah data yang telah diterima dan disimpan dalam serial receive
buffer. Serial receive buffer dapat menampung 64 bytes data. Berikut merupakan
contoh penulisan instruksi available.
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);
}
}
|
2.
Serial.begin()
“begin()” digunakan untuk mengatur baudrate / kecepatan
transmisi data. Beberapa pilihan kecepatan komunikasi data yang dapat digunakan
pada board arduino adalah 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800,
38400, 57600 atau 115200. Pengaturan baudrate dilakukan pada bagian setup().
Berikut ini format penulisan dan contoh program “begin()”
void setup() { Serial.begin(9600);}
|
3.
Serial.end()
Perintah “serial.end()” digunakan untuk menutup
komunikasi serial port. Untuk membuka kembali komunikasi serial port dapat
menggunakan perintah “Serial.begin()”. Berikut format penulisan dan contoh
program.
Serial.end
|
4.
Serial.find()
Perintah “Serial.find() digunakan untuk membaca data dari
serial port buffer hingga target yang ditentukan dalam perintah “Serial.find()”
terpenuhi. Fungsi akan bernilai benar jika target tercapai dan bernilai salah
jika target tidak tercapai. Berikut ini contoh penulisan program
“Serial.find()”.
Serial.find
|
5.
Serial.print()
Perintah “Serial.print” digunakan untuk menampilkan data
ke serial monitor. Data yang ditampilkan dapat berupa karakter, bytes, atau
angka. Berikut ini beberapa contoh perintah “serial.print()”.
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"
Serial.println(1.23456, 0) // mencetak "1"
Serial.println(1.23456, 2) // mencetak "1.23"
Serial.println(1.23456,
4) //
mencetak "1.2346"
|
Catatan:
Terdapat 2 macam yaitu Serial.print dan Serial.println. perbedaannya adalah
jika “Serial.print” akan menampilkan data di serial monitor dalam satu baris,
tetapi perintah “Serial.println” akan menampilkan data di serial monitor pada
baris baru.
6.
Serial.read()
Perintah “Serial.read()” digunakan untuk membaca data
dari serial port. Berikut contoh penulisan perintah “Serial.read()”
void loop()
{
if (Serial.available() > 0)
{
dataterkirim = Serial.read();
Serial.print("saya
menerima data: ");
Serial.println(dataterkirim, DEC);
}
}
|
7.
Serial.write()
Perintah “Serial.write” digunakan untuk membaca data
biner dari serial port. Data ini dikirim dalam bentuk byte atau deretan data
byte. Contoh penulisan perintah “Serial.write”.
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.write(45);
int bytesSent = Serial.write(“helloâ€);
}
|
Demikian
penjabaran singkat tentang “Komunikasi
Serial Dengan Arduino”. Untuk selanjutnya, buat yang ingin mempelajari
Arduino dan lebih mengenal Arduino silakan follow akun sosial
media saya di facebook “fungkyking” juga diblog saya http://festyy.com/wNiBaj dan jangan
lupa subscribe channel youtubenya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk
melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler
yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk
penelitian ataupun alat untuk syarat kelulusan.
Mohon maaf jika terdapat kesalahan dalam penulisan yang
mana semua ini semata-mata hanya opini pribadi berdasarkan pengalaman. Jika ada
kekurangan dan tambahan dari materi pembahasan yang dibahas silahkan dapat
teman-teman sertakan pada kolom komentar tambahan materi yang ingin
disampaikan, sampaikan pertanyaan dan isi kolom komentar dengan bijak.
Terima Kasih,
Salam Otomatisasi
Afriansyah, S.T.
(Fungky King)
http://fungkynotes.blogspot.co.id
Kata
Kunci / Keywords: ATMEGA, Arduino, Arduino IDE, Arduino UNO, Bahasa C,
fungkynotes.blogspot.co.id, fungky corporation, fungky king, microcontroller,
otomatis, pemprograman, Programming, plc, NodeMCU, ESP8266, Internet of Things (IoT), Wi-Fi
Referensi / Reference:
- www.arduino.ac.id
- http://festyy.com/wNiBaj
- http://destyy.com/wMatJW
- Afriansyah. 2012. Pengukur Kadar pH Air Berbasis Mikrokontroler ATMega 8, TE-UGM, Yogyakarta.
- Afriansyah. 2017. “Perancangan Monitoring Sinyal EKG (Elektrokardiografi) Jantung Menggunakan Mikrokontroler Berbasis Android Sebagai Penampil Sinyal Dengan Memanfaatkan Komunikasi Bluetooth”, Skripsi, Institut Sains & Teknologi AKPRIND Yogyakarta, Yogyakarta.
- http://arduino.cc/en/Main/Software
- https://www.arduino.cc/reference/en/language/functions/communication/serial/
- https://www.arduino.cc/reference/en/language/functions/communication/serial/print/
- https://www.arduino.cc/reference/en/language/functions/communication/serial/println/
- https://fungkynotes.blogspot.com/2019/03/menghubungkan-aplikasi-arduino-ide.html
- https://fungkynotes.blogspot.com/2019/02/instruksi-instruksi-dasar-pada.html
- https://fungkynotes.blogspot.com/2019/02/apa-itu-sketch-arduino.html
- http://arduino.cc/en/Guide/Windows
- www.google.com
No comments:
Post a Comment
Berfikirlah kreatif dengan komentar yang bijak. Salam Otomatisasi.!