カラーセンサーS11059-02DTをArduinoで使用する(準備編)

概要

この記事について

デジタルカラーセンサS11059-02DTを制御するライブラリを作成したので、紹介も兼ねて、Arduino UNO R3での使用方法を説明します。

S11059-02DTについて

I2C通信により測定の制御、測定結果として、赤、緑、青、赤外の光量の受信が行えます。

測定については下記の2つのモードが用意されています。

  • 固定時間モード
  • マニュアル設定モード

各モードの詳細についてはこの記事のあとで下記の記事を参照してください。

Arduinoについて

S11059-02DTの信号電圧は3.3V、Arduino UNO R3の入出力ピンの電圧は5Vなので、この記事ではI2Cレベル変換の基板を使用しています。 信号電圧が3.3VのArduinoを使用する場合はI2Cレベル変換は不要です。

参考

回路

部品

  • デジタルカラーセンサ S11059-02DT(秋月電子)
  • PCA9517ADP I2Cレベル変換バスバッファ基板(スイッチサイエンス)
  • Arduino UNO R3
  • 1kΩ抵抗 x 4
  • ブレッドボード
  • ジャンパ線

S11059-02DTについては、基板に実装済みのものを使用します。

後述する接続表のピン名について、S11059-02DTはここを、PCA9517ADP I2Cレベル変換バスバッファ基板の回路図はここを参照してください。

接続表

  • Arduino: Arduino UNO R3
  • 変換基板: PCA9517ADP I2Cレベル変換バスバッファ基板
  • カラーセンサ: S11059-02DT

主要な上記の部品を下記のように接続します。 接続例を参考に、SCLAとSDAAについては電源3.3Vに対して、SCLBとSDABについては電源5Vに対してプルアップ抵抗を加えてください。

  • 変換基板のVCCB -> 電源5V
  • 変換基板のSCLB -> ArduinoのSCLピン
  • 変換基板のSDAB -> ArduinoのSDAピン
  • 変換基板のVCCA -> 電源3.3V
  • 変換基板のSCLA -> カラーセンサのSCL
  • 変換基板のSDAA -> カラーセンサのSDA
  • 変換基板のGND -> GND
  • 変換基板のEN -> 接続しない
  • カラーセンサのGND -> GND
  • カラーセンサのVdd -> 電源3.3V

接続例

f:id:jakalada:20160328223835j:plain

ライブラリのインクルード

下記よりArduinoライブラリをダウンロードして、開発環境にインクルードしてください。

jakalada/Arduino-S11059

動作確認

下記のサンプルスケッチをArduino UNO R3に書き込み、シリアルモニタを表示してください。

Arduino-S11059/FixedMode.ino at master · jakalada/Arduino-S11059

下記のような出力が行われていれば、Arduinoとカラーセンサの接続に問題がなく、正常に制御が行えています。

f:id:jakalada:20160328225927p:plain