スクーミーアートモーションプログラム①~円の明るさ変化&拡大縮小~

スクーミーボードの圧力センサーを押すと円が明るくなり、明るさセンサーを隠すと円の大きさが変わります。

使用センサー

  • 左上:圧力センサー
  • 右上:明るさセンサー

※他のセンサーを使う事も出来ます

動画

スクーミーIDEのコード

int sensors[2];
int inByte;

void setup(){
  Serial.begin(9600);
  pinMode(A5, INPUT);
  pinMode(A1, INPUT);
  
  sensors[0] = 0;
  sensors[1] = 0;
  inByte = 0;
  establishContact();
}
 
void loop(){
  if (Serial.available() > 0) {
    inByte = Serial.read();
    sensors[0] = analogRead(A5);
    sensors[1] = analogRead(A1);
    Serial.print(sensors[0]);
    Serial.print(",");
    Serial.println(sensors[1]);    
  }
}
 
void establishContact() {
  while (Serial.available() <= 0) {
    Serial.println("通信中");
    delay(300);
  }
}

アートモーションIDEのコード


import processing.serial.*;
Serial myPort; 
 
float Color;
float diameter;
 
void setup() {
  size(640, 480);
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.bufferUntil('\n');
}
 
void draw() {
  background(0);
  fill(Color);
  ellipse(width/2, height/2, diameter, diameter);
}
 
void serialEvent(Serial myPort) { 
  String myString = myPort.readStringUntil('\n');
  myString = trim(myString);
  int sensors[] = int(split(myString, ','));
  if (sensors.length > 1) {
    Color= map(sensors[0], 0, 1023, 0, 255);
    diameter = map(sensors[1], 0, 1023, 0, height);
  }
  myPort.write("A");
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です