Tutorial Dasar Processing Mengendalikan Output Arduino


Pada tutorial sebelumnya telah dibahas mengenai bagaimana komunikasi dasar Arduino mengirimkan data String ke Processing. Untuk tutorial kali ini akan mengulas komunikasi dasar dari sebaliknya, yakni dari Processing ke Arduino. Menggunakan GUI Processing untuk mengendalikan output board Arduino. Berikut ini ialah langkah-langkah persiapannya.

Processing
Buka Processing dan tulis source code (sketch) berikut.

/*
Komunikasi Processing dengan Arduino
Loki Lang
*/

import processing.serial.*;

Serial myPort;

void setup()
{
  size(200,200);
  myPort = new Serial(this, Serial.list()[0], 9600);
}

void draw()
{
  if (mousePressed == true)
  {
    myPort.write('1');
    println("1");
  }
  else
  {
    myPort.write('0');
    println("0");
  }
}


Bila source code (sketch) tersebut berhasil dijalankan (tidak ada error), maka akan muncul pop up window. Ketika melakukan click pada pop up window tersebut maka akan dikirimkan data char '1' via komunikasi serial, yang mana nantinya akan diterima oleh board Arduino.

<img src="processing_send_data_to_arduino.png" alt="processing_send_data_to_arduino">


Catatan pada source code (sketch) ini, bila ditemukan pesan error seperti berikut 'ArrayIndexOutOfBoundsException: 0', maka nilai com port perlu disesuaikan. Ganti nilai 0 dengan nilai com port yang digunakan terhubung ke board Arduino.

Arduino
Setelah source code (sketch) Processing selesai, selanjutnya ialah menyiapkan source code (sketch) Arduino berikut.

/*
Komunikasi Processing dengan Arduino
Loki Lang
*/

char val;
int ledPin = 13;

void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  if (Serial.available())
  {
    val = Serial.read();
  }
  if (val == '1')
  {
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
  delay(10);
}


Setelah semua persiapan selesai, ketika board Arduino menerima data char '1' yang dikirimkan dari GUI Processing, pada pin digital 13 board Arduino akan berlogika high.
Kesimpulannya setiap kali melakukan click pop up window GUI Processing, maka akan dikirimkan data char '1' ke board Arduino via komunikasi serial. Kemudian pin digital 13 akan bernilai high dan menghidupkan LED indikator yang ada pada board Arduino.
Lihat juga mengenai tutorial pembacaan suhu dari Arduino dan dikirimkan ke Processing.