1 processingのインストール

processing をダウンロードしてインストールする.https://processing.org/ から.Windows 64-bit か Windows 32-bit かわからなかったら,コントロールパネル > システム を見る.

ダウンロードしたものを適当なフォルダに展開する.私は C:\processing に展開しちゃう.

2 arduino側

可変抵抗の値を4で割った値(これで0-255の1バイトにおさまる)を,1バイトずつシリアル通信で送ってみる.Arduino入門では文字コード(アスキーデータ)を送っていたが,ここではバイナリデータを送るように変えてみる.

const int sensor_pin = A0;
const int led_pin = 3;
const int wait = 30;

void setup() {
  pinMode(led_pin, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  int val = analogRead(sensor_pin);
  int output_val = val / 4;
  analogWrite(led_pin, output_val);
  delay(wait);

  Serial.write(output_val);
}

3 processing側

processingの方では,受け取った値に応じて,円の色を変えるようにしてみよう.

import processing.serial.*;

Serial port; 
int val;

void setup() {
  size(512, 512);

  println(Serial.list());
  String arduinoPort = Serial.list()[0];
  port = new Serial(this, arduinoPort, 9600);
  val = 255;
}

void draw() {
  background(0);
  fill(val);
  ellipse(width / 2, height / 2, 100, 100);
}

void serialEvent(Serial p)
{
  delay(30);
  val = port.read();
}

これが基本.可変抵抗だとあまり面白くないが,距離センサや加速度センサに変えるとぐっと面白くなる.