ジェスチャセンサAPDS9960をMicroPythonで使う

以前秋月電子で購入したシャープのジェスチャセンサを、以下のThomas Liskeさんのデバイスドライバを使ってMicroPythonで動作させてみました。
結線は、SDA/SCL/GND/VDDは定番通りに、LEDには3.3V、INTは接続無しでOKです。

liske/python-apds9960: Python APDS-9960 Library

このモジュールはMicroPythonに対応するためのクラスuAPDS9960が(device.pyの末尾で)定義されています。
そして、このクラスは内部でreadfrom_memとwriteto_memを呼んでいます。
前回の記事で紹介したI2Cクラスの追加メソッドを使って、ベアメタルRaspberry PiのMicroPythonでこのモジュールを動作させることができました。

まず、上記のリポジトリのapds9960フォルダを、Raspberry PiのSDカードのルートへコピーします。
そして、

としてSDカードをマウントし、SDカードのルートへ移動すればモジュールを利用できます。

上記のリポジトリのmicropythonフォルダにあるサンプル(ジェスチャ検出、照度検出、近接検出)は、ほぼそのまま使用できます。
(ベアメタルRaspberry PiのMicroPythonでは、I2Cのインスタンス生成は

bus = I2C(1)

というように変更する必要があります。)

サンプルtest_gesture.pyを動作させると、センサの前で手を動かすとその動きに応じてleft、right、up、down、far、near、noneを表示させることができます。
標準はprintでの出力で、上の写真では出力先をOLEDに変更しています。

コメント