このプロジェクトでは、TCS3200カラーセンサーをArduinoUNOとインターフェースさせます。TCS3200は、適切なプログラミングで任意の数の色を検出できるカラーセンサーです。TCS3200には、RGB(赤緑青)アレイが含まれています。顕微鏡レベルの図に示されているように、センサーの目の内側にある四角いボックスを見ることができます。これらの四角いボックスは、RGB行列の配列です。これらの各ボックスには3つのセンサーが含まれています。1つは赤色の光強度を検出するためのもので、1つは緑色の光強度を検出するためのもので、最後は青色の光強度を検出するためのものです。
これら3つのアレイの各センサーアレイは、要件に応じて個別に選択されます。したがって、それはプログラム可能なセンサーとして知られてい ます。モジュールは、特定の色を感知し、他の色を残すように機能させることができます。その選択のためのフィルターが含まれています。フィルタモードではない4番目のモードがあります。フィルタモードがない場合、センサーは白色光を検出します。
必要なコンポーネント
ハードウェア: ARDUINO UNO、電源(5v)、LED、JHD_162ALCD(16 * 2LCD)、TCS3200カラーセンサー。
ソフトウェア: ARDUINO IDE(ARDUINO毎晩)。
回路図と動作説明
16x2 LCDでは、バックライトがある場合は全体で16ピン、バックライトがない場合は14ピンになります。バックライトピンに電力を供給するか、そのままにしておくことができます。14ピンには8つのデータピン(7-14またはD0-D7)、2つの電源ピン(1&2またはVSS&VDDまたはGND&+ 5v)、コントラスト制御用の3番目のピン(VEE-文字の太さを制御します)があります。示されている)、および3つの制御ピン(RS&RW&E)
回路では、私が2つの制御ピンしか取っていないことがわかります。コントラストビットとREAD / WRITEはあまり使用されないため、グランドに短絡することができます。これにより、LCDが最高のコントラストと読み取りモードになります。ENABLEピンとRSピンを制御して、それに応じて文字とデータを送信する必要があります。
LCD用に行われる接続を以下に示します。
PIN1またはVSSをアースに接続
PIN2またはVDDまたはVCCから+ 5v電源
PIN3またはVEEを地面に接続(初心者に最適な最大のコントラストを提供)
ARDUINO UNOのPIN4またはRS(レジスター選択)からPIN8
PIN5またはRW(読み取り/書き込み)をグランドに接続(LCDを読み取りモードにすると、ユーザーの通信が容易になります)
ARDUINO UNOのPIN6またはE(有効)からPIN9
ARDUINOUNOのPIN11またはD4からPIN7
ARDUINOUNOのPIN12またはD5からPIN11
ARDUINOUNOのPIN13またはD6からPIN12
ARDUINOUNOのPIN14またはD7からPIN13
カラーセンサーに対して行われる接続を以下に示します。
VDD〜 + 5V
GNDからGROUND
GNDへのOE(出力イネーブル)
S0からUNOピン2
S1からUNOピン3
S2からUNOピン4
S3からUNOピン5
UNOピン10へのOUT
カラーセンサーが感知する必要のある色は、2つのピンS2とS3によって選択されます。これらの2つのピンのロジック制御により、どの色の光強度を測定するかをセンサーに伝えることができます。
両方のピンをLOWに設定する必要があるREDの色の強度を感知する必要があるとします。それが行われると、センサーは強度を検出し、モジュール内の制御システムに値を送信します。
S2 |
S3 |
フォトダイオードタイプ |
L |
L |
赤 |
L |
H |
青い |
H |
L |
クリア(フィルターなし) |
H |
H |
緑 |
モジュール内の制御システムを図に示します。アレイによって測定された光強度は、電流から周波数への変換器に送られます。それは、ARRAYによって送信された電流に関連する周波数の方形波を出力します。
そのため、S2とS3で選択された色の光度に周波数が依存する方形波を送信するシステムがあります。
モジュールから送信される信号周波数は、用途に応じて変調できます。出力信号の周波数帯域幅を変更できます。
S0 |
S1 |
出力周波数スケーリング(f 0) |
L |
L |
パワーダウン |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
周波数スケーリングは、2ビットS0とS1によって行われます。便宜上、周波数スケーリングを20%に制限します。これは、S0をハイに設定し、S1をローに設定することによって行われます。この機能は、低クロックのシステムでモジュールを使用している場合に便利です。
色に対するアレイの感度を下の図に示します。
色によって感度は異なりますが、通常の使用ではそれほど違いはありません。
ここでのUNOは、色を検出するためにモジュールに信号を送信し、モジュールによって受信されたデータは、それに接続された16 * 2LCDに表示されます。
UNOは、3つの色の強度を個別に検出し、LCDに表示します。
Unoは、モジュールから送信された方形波の周波数を取得できる信号パルス幅を検出できます。手元の周波数で、センサーの色と一致させることができます。
|
上記の条件と同様に、UNOはUNOの10番目のピンでパルス幅を読み取り、その値を「周波数」整数で格納します。
色認識のために、3色すべてに対してこれを実行します。3つの色の強度はすべて、16x2LCDの周波数で表示されます。