Komunikasi Serial pada Arduino
Komunikasi Serial
digunakan untuk komunikasi antara arduino dan komputer atau perangkat
lain. Semua jenis arduino memiliki port serial ( juga dikenal sebagai
UART atau USART). Komunikasi serial ini terdapat pada pin digital 0
(RX) dan 1 (TX) serta dengan komputer melalui USB. Apabila komunikasi
serial menggunakan port USB kita dapat menggunakan serial monitor
pada seketch Arduino untuk berkomunikasi antara komputer dengan
arduno. Syarat komunikasinya baud rate dari kedua device harus di
sinkronkan terlebih dahulu.
Komunikasi serial
pada pin RX/TX menggunakan level logika TTL ( 5V atau 3.3.V
tergantung dengan Arduino yang digunakan). Pada port serial arduino
atau port untuk mengupload jagan berikan tegangan lebih dari 5V
karena akan merusak Arduino, salah satu kerusakan yang ditimbulkan
karena berlebih tegangan yang masuk ke port serial yaitu arduino
tidak dapat diupload lagi.
Pada arduino mega
memiliki tiga port serial tambahan : Serial1 pada pin 19(RX) dan 18
(TX), Serial2 pada pin 17(RX) dan 16(TX), Serial3 pada pin 15(RX) dan
14(TX). Untuk mengakses pin ini untuk berkomunikasi dengan komputer
harus menambahkan adaptor USB-to-serial, karena pin-pin tersebut
tidak terhubung ke perangkat serial TTL eksternal.
Fungsi – fungsi
yang tersedia untkuk komunikasi serial Arduino
- if (Serial) : Untuk mengecek apakah Port sudah siap.
-
Serial.findUntil(): mencari buffer data sampai data dgn panjang/terminator nya yg diberikan ditemukan
-
Serial.serialEvent(): fungsi ini akan dipanggil jika data datang/diterima.berlaku spt interupsi serial.
Contoh program
komunikasi serial antara arduino dengan komputer.
Program dibawah
untuk mencoba komunikasi arduino dengan komputer, apabila pada serial
monitor di ketikan karakter ‘h’ maka akan dikirimkan ke arduino
dan arduino akan merespon dengan menuliskan “Lampu Hidup” pada
serial monitor dan apa bila dari serial monitor mengirimkan karakter
‘m’ maka arduino akan merespon dengan menuliskan “Lampu Mati" pada serial monitor , syarat komunikai serial menggunakan program di
bawah, pada serial monitor set baud rate 9600.
void setup(){
Serial.begin(9600);
}
void loop(){
if(Serial.available()>0){
char data =
Serial.read();
if(data==’h’)Serial.println(“Lampu
Hidup”);
else if(data==’m’)
Serial.println(“Lampu Mati);
}
Semoga dapat
membantu…..
Numpang tanya, kalau kita menghubungkan 2 buah Arduino board dimana Tx1->Rx2, dan Rx1->Tx1, kira-kira berapa maksimal panjang kabel yang bisa digunakan agar data tidak lost? terimakasih
ReplyDeleteMaaf refisi, Rx1->Tx2, terimakasih
DeleteAda nomor WA?
ReplyDelete