7/22(前期最終授業)は、ひきつづきProcessingとArduinoを連携させた演習を行います。
必要なもの:
・各自のノートパソコン(Processingインストール済み)
・Arduinoボード
・USBケーブル(Arduinoとパソコン接続用)
・ブレッドボード、ジャンパワイヤ、その他部品など
授業内サンプル:
ArduinoのanalogRead端子0番ピン(他2本はGNDと5V端子へ接続)に接続した可変抵抗器(ヴォリューム)を動かすことで、Processing上の画面(Pong:パドル)を操作する。
Arduinoのプログラム:
int val;
void setup(){
Serial.begin(9600);
}
void loop(){
val=analogRead(0)/4;
//Serial.println(val);
Serial.write(val);
delay(50);
}
Processingのプログラム:
import processing.serial.*;
Serial myPort;
int x;
int y;
int xdir;
int ydir;
int val;
void setup(){
size(256,300);
x=80;
y=100;
noStroke();
smooth();
rectMode(CENTER);
xdir=1;
ydir=1;
myPort = new Serial(this, Serial.list()[0], 9600);
}
void draw(){
background(0);
ellipse(x,y,20,20);
rect(val,250,60,15);
x=x+xdir;//x+=xdir;
y=y+ydir;
if(x<10 || x>width-10){
xdir=xdir*(-1);//xdir*=-1;
}
if(y<10){
ydir=ydir*(-1);
}
if(y>height){
y=10;
}
if(x>val-30 && x<val+30 && y==250-17){
ydir=ydir*(-1);
}
}
void serialEvent(Serial p) {
val = p.read();
}