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のバージョンにより、若干アドレスが違っているのかも知れません。
※コメント投稿者のブログIDはブログ作成者のみに通知されます