Raspberry Pi3 AndroidThingsでI2C

Raspberry Pi3 でAndroid ThingsのI2C通信を試してみます。

今回は手元にあったAPDS-9960というジェスチャーセンサーのデバイスで試してみました。

データシートは下記にあります。

https://cdn.sparkfun.com/datasheets/Sensors/Proximity/apds9960.pdf

スレーブアドレスは 0x39 です。

 

APDS-9960の使い方はこちらが参考になります。
http://www.geocities.jp/zattouka/GarageHouse/micon/Arduino/Gesture/APDS.htm

 

■公式


https://developer.android.com/things/sdk/pio/i2c.html

今回も公式の通りですぐに試せます。

 

■スレーブデバイスへの接続


GPIOやPWMと同様に利用可能なデバイス名のリストアップ

“I2C1″という名前が取得できます。

I2C通信は I2cDevice というクラスを使って行います。

I2cDeviceのopenI2cDevice()を使ってデバイス毎にオープンします。

 

■Read / Write


レジスタに対する読み書きは、readRegByte() / writeRegByte() を使います。

複数バイトの読み出し関数なども用意されています。

実際にこのデバイスを使うのはまた今度。