JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

micro:bit MicroPython i2c scan

2019-12-03 13:07:49 | micro:bit

 micro:bit のi2cについて勉強します。

 micro:bit でi2cに使うピンは、デフォルトで、SCLがpin19、SDAがpin20です。

 micro:bitでは、加速度センサーと磁気センサーがI2C接続されていますので、ピン割り当ては変更しない方が良いです。

 MicroPythonには、i2c.scan()という関数があり、検出したI2Cアドレスを返してくれます。これを利用して、micro:bit内蔵のI2Cデバイスのアドレスと、I2C LCD AQM0802Aのアドレスを調べてみます。

 micro:bitとAQM0802Aモジュールを下のように接続します。

 スクリプトです。

 このプログラムを走らせると、micro:bitのLEDマトリクスにI2Cアドレスのリストがスクロール表示されます。

 私の場合の結果は、[25,30,62]と表示されました。これは、16進表示なら[0x19,0x1E,0x3E]です。

 25(0x19)が磁気センサーMAG3110、30(0x1E)が加速度センサーMMA8653FCのI2Cアドレス、62(0x3E)がAQM0802Aのアドレスです。

 Web上で調べると磁気センサーが0x0E、加速度センサーが0x1Dとなっていますが、micro:bitのバージョンにより、若干アドレスが違っているのかも知れません。