2020年9月10日木曜日

aruduino processingで色を読み取る

マウスの位置の色を読み取ります。
------------------------------------
import processing.serial.*;
import cc.arduino.*;

Arduino arduino;
PImage myImage;




void setup(){
 size(640,480);

 println(Arduino.list());
 arduino = new Arduino(this,Arduino.list()[1],57600);

 myImage = loadImage("image.JPG");

}

void draw(){
 image(myImage,0,0,width,height);

 color pixelColor = get(mouseX,mouseY);
 float r = red(pixelColor);
 float g = green(pixelColor);
  float b = blue(pixelColor);
 
  float rd = dist(255,0,0,r,g,b);
  float gd = dist(0,255,0,r,g,b);
  float bd = dist(0,0,255,r,g,b);
  float yd = dist(255,255,0,r,g,b);
 
  float [] list = {rd,gd,bd,yd};
  float smallest = min(list);
 
  arduino.digitalWrite(2,Arduino.LOW);
  arduino.digitalWrite(3,Arduino.LOW);
  arduino.digitalWrite(4,Arduino.LOW);
  arduino.digitalWrite(5,Arduino.LOW);
 
  if(smallest == rd )arduino.digitalWrite(2,Arduino.HIGH);
  if(smallest == yd )arduino.digitalWrite(3,Arduino.HIGH);
  if(smallest == gd )arduino.digitalWrite(4,Arduino.HIGH);
  if(smallest == bd )arduino.digitalWrite(5,Arduino.HIGH);
}
--------------------------------------
arduinoの画像の名前が「image.JPG」です。
LEDが点灯する色と、実際の色が違っていました。
何が間違っているのでしょうか。


0 件のコメント:

コメントを投稿