作業を開始する前に以下のことを確認してください。
- ArduinoはMacに接続されているか?
- Arduinoの電源ランプ(ONと書かれているLED)は点灯しているか?
- Processingのスケッチを実行していないか?
- なにか実行していたら停止ボタンを押して停止しておこう
 
スケッチの入力は、最初はとりあえずコピペで。
うまく動いたら、コピペせずに手入力してもういちど実行してみよう。
Arduino側
Processing側が起動しているとArduinoに書き込めないので、Arduino側から作業する。
シリアルポートを選択する
/dev/tty.usbmodem1411 の部分は名前が実行するMacによって異なる
Arduinoにスケッチを書き込む
read_from_serial.ino
int val;
void setup(){
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  if(Serial.available() > 0) {
    val = Serial.read();
    if(val == 1) {
      digitalWrite(13, HIGH);
    }
    else {
      digitalWrite(13, LOW);
    }
  }
}
「検証」をクリックして「コンパイル終了」と表示されたら、「マイコンボードに書き込む」をクリックしてArduinoに書き込む。
"L"と横に書かれているLEDが消灯していることを確認する。
Processing側
スケッチを準備する
シリアルポートの指定を前述の「シリアルポートを選択する」で選んだシリアルポートにあわせて書き換えるのを忘れずに。
write_to_serial.pde
// シリアルライブラリを取り入れる
import processing.serial.*;
// myPort(任意名)というインスタンスを用意
Serial myPort;
int on = 0;
void setup(){
  // 画面サイズ
  size(128, 128);
  // シリアルポートの設定
  myPort = new Serial(this, "/dev/tty.usbmodem1411", 9600);
  myPort.write(0);
}
void draw() {
  if(on == 1) {
    // 背景色を白に設定
    background(255);
  }
  else {
    // 背景色を黒に設定
    background(0);
  }
}
void mouseClicked() {
  if(on == 0) {
    on = 1;
  } else {
    on = 0;
  }
  myPort.write(on);
}
スケッチを実行する
▶ ボタンを押して実行する
Processingの実行画面をクリックするたびに背景の白黒が切り替わる。
- Processing実行画面の背景が白のときにLED(L)が点灯
- Processing実行画面の背景が黒のときにLED(L)が消灯
Processing実行画面をクリックして、LED(L)の点灯/消灯が切り替わることを確認する。

