komunikasi serial arduino

Komunikasi Serial Arduino Uno via komputer

Penjelasan Singkat

Komunikasi serial Arduino adalah Komunikasi antara Arduino Uno dan Komputer dapat dilakukan melalui port USB. Dalam hal ini, Arduino Uno tidak hanya bisa mengolah data dari pin I/O secara independ.

Tetapi dapat juga dikomunikasikan dengan komputer untuk ditampilkan hasil dari pengolahan datanya sehingga komunikasi yang dilakukan bersifat dua arah.

Pada Arduino IDE terdapat fasilitas untuk berkomunikasi dua arah melalui serial monitor yang dapat dimanfaatkan dalam berbagai keperluan.

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.

Jenis command komukasi serial Arduino :

  • Serial.begin() : 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 yang sering digunakan yaitu Serial.begin(9600).
  • Serial.end() : digunakan untuk menghentikan program akan perintah komunikasi serial.
  • Serial.available () : berguna untuk menghasilkan jumlah byte di port serial yang belum terbaca. Jika port serial dalam keadaan kosong, maka 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.
  • 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.
  • Serial.flush() : berfungsi sebagai untuk pengosongan data pembacaan yang ditaruh pada buffer.
  • Serial.parseFloat() : berfungsi 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 konversi data pada komunikasi serial arduino seperti dibawah ini :

  • Serial.print(65); //hasil nilai tertampil 65
  • Serial.print(65,DEC); //(format desimal atau basis 10) hasil nilai tertampil 65
  • Serial.print(65, HEX); //(format hexadesimal atau basis 16) hasil nilai tertampil 41
  • Serial.print(65, OCT); //(format oktal atau basis 8) hasil nilai tertampil 101
  • Serial.print(65, BIN); //(format biner atau basis 2) hasil nilai tertampil 1000001

[irp]


Tutorial pertama komunikasi serial Arduino 

Bahan yang perlu dipersiapkan antara lain :

  1. Arduino Uno
  2. Komputer + Software IDE Arduino

Skema rangkaiannya yaitu hanya menghubungkan arduino dengan komputer menggunakan usb tipe printer.

Dan menggunakan software IDE sebagai sarana pemrogramannya, serta fitur serial monitor untuk melihat hasil dari koding pemrogramannya.

Komputer dan arduino

Skema rangkaian antara arduino dan laptop

Koding Pemrograman

void setup(){
Serial.begin(9600);
}

void loop(){
while(Serial.available() !=){
char data = Serial.read();
//kirim ke port serial
Serial.print("Karakter :");
Serial.print(data);
Serial.print(", ASCII :");
Serial.print(data,DEC);
Serial.print(", Oktal :");
Serial.print(data, OCT);
Serial.print(", Heksa :");
Serial.print(data, HEX);
Serial.print(", Biner :");
Serial.println(data, BIN); //untuk baris pembacaan berikutnya
delay(20); // waktu tunda untuk menyiapkan pembacaan berikutnya
}}

Berikut hasil pembacaan seperti gambar dibawah ini, dengan mengetikan kata “nyebarilmu.com”.

Komunikasi serial arduino

Hasil dari serial monitor


Tutorial kedua komunikasi serial Arduino 

Bahan yang perlu dipersiapkan antara lain :

  1. Arduino Uno
  2. LED (4 pcs)
  3. Resistor (4 pcs)
  4. Breadboard
  5. Kabel jumper
  6. Komputer + Software IDE Arduino

Skema rangkaian

Tutorial kedua rambu lalu lintas

Koding pemrogramannya

int lamp1 = 11;
int lamp2 = 12;
int lamp3 = 13;
int databaca;

void setup() {
pinMode(lamp1, OUTPUT);
pinMode(lamp2, OUTPUT);
pinMode(lamp3, OUTPUT);
Serial.begin(9600);
}

void loop()
{
if (Serial.available()>0)
{
int bacadata = Serial.read();
if (bacadata =='a') {databaca=1;}
if (bacadata =='b') {databaca=2;}
if (bacadata =='c') {databaca=3;}

if(databaca==1)
running: //LED akan berjalan pada mode running
{
digitalWrite(lamp1, HIGH);
delay(250);
digitalWrite(lamp1, LOW);
delay(250);
digitalWrite(lamp2, HIGH);
delay(250);
digitalWrite(lamp2, LOW);
delay(250);
digitalWrite(lamp3, HIGH);
delay(250);
digitalWrite(lamp3, LOW);
delay(250);
Serial.println("LED mode running");
loop();
goto running;
}

if(databaca==2)
flipflop: // LED akan berjalan pada mode flip flop
{
digitalWrite(lamp1, LOW);
digitalWrite(lamp2, LOW);
digitalWrite(lamp3, LOW);
delay(500);
digitalWrite(lamp1, HIGH);
digitalWrite(lamp2, HIGH);
digitalWrite(lamp3, HIGH);
delay(500);
Serial.println("LED mode flip flop");
loop();
goto flipflop;
}

if(databaca==3)
modeoff: // Semua LED akan off
{
digitalWrite(lamp1,LOW);
digitalWrite(lamp2,LOW);
digitalWrite(lamp3,LOW);
delay(1000);
Serial.println("LED mode off");
loop();
goto modeoff; }
}
}

Hasil pada serial monitor seperti gambar dibawah ini

Komunikasi serial arduino dan led

Tampilan pada serial monitor

Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!

>> CMIIW <<

 

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *