Tutorial Dasar ADC Arduino Processing


Setelah sebelumnya diulas tentang bagaimana melakukan komunikasi serial dengan Processing, pada tutorial project Arduino Indonesia kali ini akan diulas mengenai trick bagaimana mengatur tingkat gelap terang background Processing. Memanfaatkan nilai ADC untuk mengendalikan tingkat brightness. Untuk source code (sketch) terdiri atas bagian Arduino yang digunakan untuk mengolah input dari potentiometer, sebagai nilai ADC, kemudian mengirimkannya via komunikasi serial, dan akan diterima oleh Processing.

Arduino
Berikut ini ialah gambar wiring Arduino dengan menggunakan potentiometer yang mempengaruhi nilai ADC.

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


Dengan satu pin potentiometer ke Vcc, satu lagi ke Ground, dan satu lagi ke pin analog Arduino A3. Berikut ini source code (sketch) Arduino yang digunakan untuk mengirimkan data ADC ke Processing guna mengatur tingkat brightness.

/*
Program Arduino mengirimkan data ADC ke Processing
Loki Lang
*/

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

void loop()
{
  int lang;
  lang = map(analogRead(A3), 0, 1023, 0, 255);
  Serial.println(lang);
  delay(50);
}


Secara default ADC pada board Arduino ialah 10 bit, nilai antara 0 hingga 1023. Namun dalam source code (sketch) ini, nilai ADC dipetakan menjadi 8 bit, dengan nilai antara 0 hingga 255.

Processing
Berikut ini ialah source code (sketch) untuk Processing yang menerima data ADC dari board Arduino yang telah dipetakan.

/*
Program Processing menerima data ADC dari Arduino
Loki Lang
*/

import processing.serial.*;
Serial myPort;
float brightness = 0;

void setup()
{
  size(500, 500);
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.bufferUntil('\n');
}

void draw()
{
  background(0, 0, brightness);
}

void serialEvent(Serial myPort)
{
  brightness = float(myPort.readStringUntil('\n'));
}


Nilai ADC pada board Arduino berbanding lurus dengan tingkat terang, brightness. Semakin besar nilai ADC maka semakin terang tampilan pop up window Processing.

Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment.