STEMMAで広がるArduinoの世界⑫Step1 近接センサAPDS9960
Broadcom(Avago)社のAPDS9960は、
- 赤外線LED、そのドライバと四つの検出センサによる近接センサ
- 周囲光センサ、RGBカラー・センシング
を搭載しています。簡単なジェスチャ(左から右、右から左、上から下、下から上が現在サポートされている)を検出し、赤、青、緑、およびクリア・ライトの量を返せます。またはオブジェクトがセンサの前面にどれだけ近いかを返します。
IC自体が3.3V電源で使うデバイスのため、5V->3.3VのレギュレータとI2Cの信号レベル変換回路が入っています。SDA/SCL信号のプルアップ抵抗は10kΩが入っています。
●Adafruitのブレークアウト・ボード
STEMMA QT(JST SH 4ピン)コネクタは2か所に装着されていて、どちらにつないでもかまいません。このコネクタを使ってI2Cで制御する場合、特に、ジャンパ線をつなぐなどは不要です。
●近接センサAPDS9960のおもなスペック
- 電源電圧 2.4~3.6V
- 認識範囲 10~20cm
- インターフェース I2C(0~400kHz)
- スレーブ・アドレス 0x39(固定)
●使用環境
- Arduino UNO R3
- Arduino IDE 1.8.13
- Windows10 20H2
●接続
電源は5V を使いました。Arduino UNO R3のI2Cは、SCLとSDA端子がありますが、SCLはA5に、SDAはA4につながっています。どちら側につないでもかまいません。白色のリード線は見えないので、黄色で配線図を描きました。
●スケッチ
利用手順は、Adafruit APDS9960 breakout Overviewに書かれています。
ライブラリを導入します。メニューのツールから、「ライブラリを管理」を選び、検索欄にAPDS9960を入力します。見つけてきたAdafruit APDS9960のインストールをクリックします。
同時にサンプル・スケッチも導入されます。三つあります。
メニューのファイルからサンプルの入っているスケッチ例を選択します。そこから、Adafruit APDS9960- color_sensorを選択します。
実行中の様子です。赤、青、緑、およびクリア・ライトの量を表示しています。
gesture_sensorを実行している様子です。センサのすぐ上で、指をつまんだり動かしています。
proximity_sensorを実行している様子です。次のメッセージを出したあと、なにも起こりませんでした。
ブレークアウト・ボードのINT端子とArduino UNOの3番ピンをつなぎました。指をセンサの上にもっていくと、次のように距離を表示しました。