スクーミーアートモーションプログラム⑤~圧力センサーで画像を拡大~

~アナログ値で画像拡大~

圧力センサーを押す力によって、ムサシくんの顔の大きさが変わります!

動画

スクーミー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; 

PImage img;
float diameter;
float x = 460;
float y = 460;
 
void setup() {
  size(940, 980);
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.bufferUntil('\n');
  img = loadImage("musashi_face.png");
}
 
void draw() {
  background(255);
  imageMode(CENTER);
  translate(x, y);
  image(img, 0, 0, diameter, diameter);
}
 
void serialEvent(Serial myPort) { 
  String myString = myPort.readStringUntil('\n');
  myString = trim(myString);
  int sensors[] = int(split(myString, ','));
  if (sensors.length > 1) {;
    diameter = sensors[0] + 20;
  }
  myPort.write("A");
}

コメントを残す

メールアドレスが公開されることはありません。