Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino Part 4. Komunikasi Serial dengan PC

Komunikasi Ardunio dengan komputer bisa melalui komunikasi serial. Komunikasi serial bisa untuk pertukaran informasi antara Arduino dengan komputer. 

Dengan adanya komunikasi serial maka kita bisa memantau status project-project yang sedang anda ujicoba langsung di komputer, misalnya kita bisa memantau besarnya nilai sensor, kondisi output dan lain-lain.

Sebagai contoh, anda bisa menguji sensor gas atau sensor jarak tanpa harus menggunakan LCD display terlebih dahulu, jadi cukup dilihat pada serial monitor computer. Dengan demikian, fakus anda terlebih dahulu pada sensor-sensor tersebut, tanpa perlu bersusah payah merangkai LCD display dan memprogramnya.



Hal yang menarik, komunikasi dapat dilakukan dengan dua arah. Artinya baik komputer maupun papan Arduino dapat saling mengirim maupun menerima data / informasi.

Silahkan coba ketikkan sketch program di bawah ini:

//---------------------------------------------------------
// contoh komunikasi serial antara Arduino dan computer
// Arduino akan membaca data dari port dan
// akan mengirim balik ke port supaya bisa
// dibaca oleh komputer
// pada uji coba ini hanya menggunakan Arduino uno saja
//------------------------------------------------------------
void setup ()
{
   // Pengaturan kecepatan penerimaan dan pengiriman data serial
   Serial.begin(9600);
}
void loop ()
{
   while (Serial.available () != 0) //mengecek data di serial monitor
    {
      char data = Serial.read ();
      Serial.print (data);
      delay(20); // tunda sebentar untuk menyiapkan pembacaan data berikutnya
     }
}

Keterangan Sketch Program

//--------------------------------------------------------------
// contoh komunikasi serial antara Arduino dan computer
// Arduino akan membaca data dari port dan
// akan mengirim balik ke port supaya bisa
// dibaca oleh komputer
// pada uji coba ini hanya menggunakan Arduino uno saja
//--------------------------------------------------------------

Sketch diatas hanya sebuah judul dan keterangan dalam program. Semua teks yang diberi tanda garis miring dua kali // tidak akan di jalankan oleh program. Walaupun tidak dijalankan judul dan keterangan ini tetap kita perlukan sebagai penjelasan awal dalm program yang kita buat.

void setup ()
{
   // atur terlebih dahulu kecepatan penerimaan dan pengiriman data
   Serial.begin(9600);
}

Didalam void setup maka sketch yang ada didalamnya akan dijalankan hanya sekali saja sehingga cocok untuk membuat inisialisasi program. Perintah Serial.begin(9600); adalah untuk mengaktifkan komunikasi data secara serial antara arduino dengan komputer, sedangkan angka  9600 adalah angka yang menunjukkan kecepata transfer data serial atau istilah lainnya  baudrate.

Sebenarnya Arduino mendukung beberapa kecepatan baud rate seperti 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600, and 115200. Tetapi yang sering digunakan adalah 9600.

Pada saat mengaktifkan serial monitor di aplikasi Arduino IDE maka setting kecepatan baudratenya harus sama dengan sketch dalam program yaitu 9600. Jika setting baudratenya berbeda maka tampilan karakternya akan tidak sesuai yang kita inginkan.

void loop ()
{
while (Serial.available () != 0) //mengecek data di serial monitor
    {
      ……..
     }
}

Pada sketch void loop maka semua perintah yang ada di dalamnya akan dijalankan secara berulang dan terus menerus.

Perintah while merupakan perintah untuk melakukan perulangan secara terus-menerus berdasarkan kondisi yang ditentukan. Kondisinya adalah (Serial.available () != 0); jadi jika pada data serial ada karakter yang di tulis (datanya tidak kosong) maka akan melaksanakan program yang ada di bawahnya yaitu :

char data = Serial.read ();

pada  perintah ini dideklarasikan variabel data sebagai variabel yang bertipe char (untuk menampung satu karakter. Jadi hasil pembacaan Serial.read akan disimpan dalam variabel data.

Serial.print (data);

Informasi karakter yang tersimpan dalam variabel data akan dikirimkan ke port serial sehingga karakter tersebut akan tampil di computer.

delay(20);

Delaya merupakan waktu tunda. Waktu tundanya singkat sekali yaitu 20 ms. Waktu tunda ini digunakan untuk mempersiapkan pembacaan data berikutnya

CARA PENGUJIAN SERIAL MONITOR

Klik menu Tools di Arduino IDE lalu pilih Serial monitor. Atau bisa menggunakan Ctrl+Shift+M.




Setelah menu serial monitor tampil maka settinglah baudrate sesuai dengan baudrate yang kita buat di program yaitu 9600. Tetapi biasanya setelan baudrate sudah dalam 9600, jadi kalau menggunakan selain itu maka harus di pilih lagi sesuai baudrate dalam sketch program. 

Setelah itu bisa di ketikkan teks yang akan di kirim, lalu pilih Send



Jika berhasil maka komunikasi serial antara mikroprosessor Arduino Uno dan Komputer telah sukses. Pembahasan berikutnya kita akan memanfaatkan serial monitor memonitor besaran-besaran atau nilai-nilai yang dihasilkan sensor-sensor atau input analog.

Silahkan berkreasi dengan serial monitor sehingga anda benar-benar menguasai materi ini. Setelah itu bisa melanjutkan membaca  materi-materi Arduino berikutnya.

Jika anda sudah berhasil pada project komunikasi serial maka sebaiknya anda lanjut pada materi berikutnya yaitu Arduino Part 5 "Pengendali lampu led on off melalui Keyboard Komputer"

Selamat membaca

Posting Komentar untuk "Arduino Part 4. Komunikasi Serial dengan PC"