Komunikasi Serial Arduino dengan PC: Pengertian dan Program
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 serial17. 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.
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.Alat dan Bahan:
- Arduino Uno dan kabelnya
- Laptop atau komputer yang sudah terinstal Arduino IDE
Cara Kerja :
- Hubungkan Arduino Uno dan laptop menggunakan kabel USB
- 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.
- Ketikkan perintah berikut di Arduino IDE.
- Jika sudah, silahkan upload program ke Arduino.
- Buka serial monitor dan lihat apa yang terjadi.
void setup()
{
Serial.begin(9600); // set baudrate 9600
}
void loop()
{
Serial.println("Selamat Datang di aldyrazor.com");
delay(1000);
}
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:Alat dan Bahan:
- Arduino Uno dan kabelnya
- Laptop atau komputer yang sudah terinstal Arduino IDE
Cara Kerja:
- Hubungkan Arduino Uno ke komputer dengan kabel USB.
- Sesuaikan pengaturan board dan port-nya di Arduino IDE.
- Ketikkan perintah berikut:
- Upload program ke papan Arduino
- Lihat apa yang terjadi di serial monitor.
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);
}
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:
- Hubungkan Arduino ke komputer dengan kabel USB serta sesuaikan pengaturan board dan port-nya.
- Buatlah rangkaian seperti gambar di bawah ini.
- Jika sudah, maka ketikkan perintah berikut di Arduino IDE.
- Upload program ke papan Arduino.
- Buka serial monitor lalu ketikkan salah satu angka antara 1 sampai 9 kemudian pilih "Send".
- Periksa nyala lampu dan angka yang tertera di serial monitor.
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();
}
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+MJenis command pada Arduino yang berfungsi untuk mengirimkan data ke port serial yaitu…
serial.print dan serial.printlnSebutkan komunikasi yang ada pada Arduino
Komunikasi serial TX RX ArduinoPin yang diggunakan untuk berkomunikasi serial pada Arduino menggunakan pin
Komunikasi antara Arduino dengan komputer menggunakan pin RX dan TXPengertian void setup
Arti void setup adalah untuk mendeklarasikan variabel yang ada di dalamnya.Jangan Lewatkan:
Nice post! Thanks for sharing this quality information with us. I really enjoyed reading. check this and visit this site to know more Rules in 7up 7Down in okbet app
BalasHapusSerial communication with a PC via Arduino entails creating a communication channel via a serial connection between the Arduino board and a computer. This enables the Arduino to send and receive data to and from the computer, opening up new possibilities for data logging, sensor readings, and interactive projects. Thank you for sharing your knowledge! Keep up the good job! Continue to spread the word. Please take a peek at my website.
BalasHapusLeyes de divorcio sin oposiciĆ³n de Virginia
It's a captivating piece! I was chasing after data on this theme, and this post furnished me with a great deal of it. Much thanks to you for sharing your insight.||How Much is A Divorce in New York State||How Much Divorce Cost in New York
BalasHapus