カラーセンサーを使用したArduinoベースのカラー検出器TCS230
このプロジェクトでは、Tcs3200カラーセンサーとArduino UNOをインターフェイスさせます。 TCS3200は右のプログラミングの色のいくつもを検出できる色センサーである。 TCS3200にはRGB(赤緑青)配列が含まれています。 顕微鏡レベルの図に示すように、センサーの目の中の正方形の箱を見ることができます。 これらの正方形のボックスは、RGB行列の配列です。 これらの箱のそれぞれは3つのセンサーを含んでいます、1つは赤い光の強度を感じるため、1つは緑色航法燈の強度を感じるためであり、青い光強度を感じるための最後のものです。
これら三つのアレイのセンサアレイは、要件に応じて個別に選択されます。 それ故にそれはプログラマブルセンサーとして知られています。 モジュールは特定の色を感じ、他を去るために特色にすることができる。 その選択目的のためのフィルタが含まれています。 フィルタモードではないforthモードがあります。 フィルターモード無しでセンサーは白色光を検出する。
必要な部品
ハードウェア:ARDUINO UNOの電源(5v)、LED、JHD_162ALCD(16*2LCD)、TCS3200色センサー。
ソフトウェア:ARDUINO IDE(ARDUINO nightly)。
回路図および働く説明
16x2LCDにすべてに16のピンがあります背部ライトがあれば、背部ライトがなければ14のピンがあります。 一つは、バックライトピンに電力を供給したり、残すことができます。 現在、14ピンには8つのデータピン(7-14またはD0-D7)、2つの電源ピン(1&2またはVSS&VDDまたはGND&+5v)、コントラスト制御用の3番目のピン(VEE-文字の太さ制御ピン。 コントラスト-ビットとリード/ライトはあまり使用されないため、グラウンドに短絡することができます。 これにより、LCDは最高のコントラストと読み取りモードになります。 それに応じて文字とデータを送信するには、ENABLEピンとRSピンを制御するだけです。
LCD用に行われている接続は以下の通りです:
PIN1またはvss to ground
PIN2またはVDDまたはvcc to+5v power
PIN3またはvee to ground(初心者に最適な最大コントラストを与えます)
PIN4またはRS(レジスタ選択)TO PIN8OF ARDUINO UNO
PIN5またはRW(読み取り/書き込み)to ground(lcdを読み取り/書き込みモードはユーザーのためのコミュニケーションを楽にします)
pin6かE(可能にして下さい)arduino unoのtopin9
pin11かARDUINO unoのpin7へのd4
pin12かarduino UNOのpin11へのd5
PIN13かARDUINO UNOのPIN12へのD6
PIN14またはd7からピン13のarduino uno
の接続
VDD to+5V
GND TO GROUND
OE(出力イネーブル)TO GND
S0TO UNO pin2
S1to UNO pin3
S2to UNO pin4
>
s3からuno端子へ5
OUTからUNO端子へ10
カラーセンサーで検出する必要がある色は、s2とS3の二つのピンで選択されます。 これら2つのピンの論理制御を使うと私達はどの色の輝度が測定されるべきであるかセンサーに言ってもいいです。
両方のピンをLOWに設定する必要がある赤色の強度を感知する必要があるとします。 それがされればセンサーは強度を検出し、モジュールの中の制御システムに価値を送る。
S2 |
S3 |
フォトダイオードタイプ |
L |
L |
赤 |
L |
H |
ブルー |
H |
L |
クリア(フィルタなし) |
H |
H |
グリーン |
モジュールの中の制御システムは図で示されています。 アレイによって測定された光強度は、電流対周波数変換器に送られる。 それがすることは、周波数が配列によって送られた電流に関連している方形波を出すことです。
だから我々は周波数がS2とS3によって選択された色の光強度に依存する方形波を送信するシステムを持っています。
モジュールによって送信される信号周波数は、使用に応じて変調することができます。 出力信号の周波数帯域幅を変更できます。
S0 |
S1 |
出力周波数スケーリング(f0) |
L |
L |
パワーダウン |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
周波数スケーリングは、2つのビットS0とS1によって行われます。 便宜上、周波数スケーリングを20%に制限します。 これは、s0をhighに、S1をLOWに設定することによって行われます。 この機能は、クロックの低いシステムでモジュールを使用しているときに便利です。
色に対する配列の感度を下の図に示します。
色によって感度は異なりますが、通常の使用ではあまり違いはありません。
ここでUNOは色を検出するためにモジュールに信号を送信し、モジュールが受信したデータはそれに接続された16*2LCDに表示されます。
UNOは三つの色強度を別々に検出し、LCDに表示します。
Unoは、モジュールによって送信される方形波の周波数を得ることができる信号パルス持続時間を検出することができます。 手元の頻度を使うと私達はセンサーの色とそれに一致させてもいいです。
- Int周波数=pulseIn(10,LOW);