■
ストロベリーリナックスの
カラーセンサ・モジュールをArduinoで試す。
カラーセンサーとArduinoの接続にはスイッチサイエンスのI2C用ロジックレベル変換ボードを使う。便利。
Arduinoのスケッチは、
こちらを参考に、loop()のSerial.print部分を少し直した。
Serial.print(c/4 ,DEC); Serial.print(","); Serial.print(r/4 ,DEC); Serial.print(","); Serial.print(g/4 ,DEC); Serial.print(","); Serial.println(b/4 ,DEC);
Processingのスケッチはこちら。センサー値の表示とRGBの色を表示する。
import processing.serial.*; Serial port; PFont font; int c,r,g,b; void setup(){ size(256,256); port=new Serial(this,"COM8",9600); font = loadFont("MS-Gothic-24.vlw"); textFont(font); } void draw(){ background(0); fill(255); text(c, 10,50); text(r, 10,100); text(g, 10,150); text(b, 10,200); fill(r,g,b); rect(100,0,150,250); } void serialEvent(Serial p) { //「10」(ラインフィード)が来るまで読み込む String str = port.readStringUntil(10); if(str != null){ str =trim(str ); int data[]=int(split(str ,',')); if(data.length == 4){ c = data[0]; r = data[1] ; g = data[2] ; b = data[3] ; } } }
センサーモジュール上の白色LEDを使い、反射光で計測してみたが、5〜10mmくらいの距離であれば、それなりに計測できた。