なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

Arduinoで遊ぼう - カラーセンサー(TAOS TCS230)

Posted by arms22 on 2009年01月31日 6  0

Arduino with TAOS TCS230 Color Sensor #1

Arduino with TAOS TCS230 Color Sensor #2

千石電商日本橋で購入したTAOSのカラーセンサIC、「TCS230」をArduinoで使ってみました。

TCS230は光-周波数コンバータで、光の強さを矩形波(デューティサイクル50%)で出力するICです。矩形波の周波数は光の強さに正比例しています。TCS230は8x8のフォト・ダイオード・アレイをもち、そのうち16個は赤フィルタ、16個は青フィルタ、16個は緑フィルタ、16個はフィルタなしとなっている。フォト・ダイオードをS2/S3端子で選択し、OE端子をLowにするとOUT端子から光の強さ応じた周波数で矩形波が出力される。TCS230から出力される矩形波はArduinoのpulseIn関数で読み取る。

例によってまたまたライブラリを作成しました。

ダウンロード: ColorSensorライブラリ



http://xfind.hp.infoseek.co.jp/electric/arduino/ColorSensor001.zip

使い方
1.ColorSensorライブラリをarduino-0012/hardware/libraries/以下にコピーする。
2.新しいスケッチを作成する。
3.メニューからSketch > Import Library > ColorSensorを選択する。

サンプルスケッチ:


#include <ColorSensor.h>

uint8_t _pinLED = 5;

ColorSensor myCS = ColorSensor(4,3,2);

void setup(){
  pinMode(_pinLED, OUTPUT);
  digitalWrite(_pinLED, LOW);
  Serial.begin(9600);
}

void loop(){
  // LED on
  digitalWrite(_pinLED, LOW);
  delay(50);

  // measure color
  myCS.measureColor();

  // LED off
  digitalWrite(_pinLED, HIGH);

  Serial.print("Red = ");
  Serial.print(myCS.redValue());

  Serial.print("Hz Green = ");
  Serial.print(myCS.greenValue());

  Serial.print("Hz Blue = ");
  Serial.print(myCS.blueValue());
  Serial.println("Hz");

  delay(900);
}

1秒間隔で各色ごとの光の強さを周波数に変換しシリアルでPCに送信しています。測定前にはLED点灯させ測定対象に光をあてます。そしてその反射光を調べます。測定対象とカラーセンサの距離によって出力される周波数が変わるのを確認してみてください。

各色フィルタ毎に光の強さに対する感度が異なります。光の強さと周波数の関係は次の表のとおりです。
Snap Shot TAOS TCS230 Datasheet
Irradiance responsivityの行を見てください。赤フィルタはテストコンディションがλp=640nmの場合、550Hz/(μW/cm2)の感度をもち、それ以外の場合は91~26Hz/(μW/cm2)の感度をもっています。次にOutput frequencyの行を見てください。テストコンディションがEe=34.6μW/cm2、λp=640nmの場合、出力は19kHz(typ)となっています。この出力周波数19kHz(typ)を赤フィルタの感度550Hz/(μW/cm2)で割ると、34.6μW/cm2となります。

またカラーセンサは赤外線(640nm以上)にも反応するため正確な色判定を行いたい場合、外付けの赤外線フィルタを取り付ける必要があります。

TAOS TCS230 データシート
http://www.cohsei.co.jp/PDF/taospdf/PRODUCTS/TCS230-e32.pdf



Arduinoをはじめようキット
スイッチサイエンス
売り上げランキング: 2431
おすすめ度の平均: 4.5
4 USBはB端子です
5 ここから大ジャンプは無理だけど



Ads by Google

6 Comments

そら。 says..."No title"
光で操るテルミンを作れそうですね。
2009.02.01 00:01 | URL | #- [edit]
arms22 says..."No title"
カラーセンサーから出力される矩形波で直接テルミンの音色を奏でるのわけですね?
2009.02.05 14:58 | URL | #j7sy4omY [edit]
says..."承認待ちコメント"
このコメントは管理者の承認待ちです
2010.03.31 22:27 | | # [edit]
Int says..."No title"
Arduinoの使い方を学ばせていただいています。
ColorSensorライブラリへのリンクがきれてしまっているのですが、
ライブラリを送っていただく、あるいは
新しい場所にリンクをはっていただくことはできないでしょうか。
よろしくお願いします。
2011.05.14 08:19 | URL | #EGTCt1XI [edit]
arms22 says..."Re: No title"
こちらをご利用ください。
http://dl.dropbox.com/u/14188987/isweb/arduino/ColorSensor001.zip
2011.05.14 08:33 | URL | #- [edit]
Int says..."Thank you"
早速ご対応いただきありがとうございます。
ライブラリを拝見させていただきます。
2011.05.15 14:55 | URL | #- [edit]

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。