JH7UBCブログ

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

Raspberry Pi Pico MicroPython I2C テスト

2021-11-18 15:30:25 | Raspberry Pi Pico
Raspberry Pi PicoのI2Cのテストをします。
machineからI2Cモジュールをインポートします。
コンストラクタI2Cの仕様は、I2C(id, scl, sda, freq)です。
idだけを指定した時のデフォルト値は、

id      sda  scl   freq
0 GPIO8 GPIO9 400000(400KHz)
1 GPIO6 GPIO7 400000(400KHz)
です。
なお、I2Cはid=0か1で次の12の組み合わせで利用することができます。
id      sda  scl 
0    GPIO0   GPIO1
1    GPIO2   GPIO3
0    GPIO4   GPIO5
1    GPIO6   GPIO7 デフォルト
0    GPIO8   GPIO9 デフォルト
1    GPIO10   GPIO11
0    GPIO12   GPIO13
1    GPIO14   GPIO15
0    GPIO16   GPIO17
1    GPIO18   GPIO19
0    GPIO20   GPIO21
1    GPIO22   GPIO23

 I2CバスにI2C LCD AQM0802Aを接続して、I2Cアドレスを調べてみます。
 スクリプトです。id=0としましたので、AQM0802AのSDAはGP8にSCLはGP9に接続します。実行結果はshellに表示されます。


 shellの上段は、I2C(1)の場合、下段はI2C(0)の場合です。
 freqとSCLとSDAのピン番号が表示されます。デフォルト値ですね。
 I2Cのクロック周波数は、最大400KHzになると思ったのですが、399361Hz(399.361KHz)と表示されました。この値が最大値のようです。

 AQM0802AのI2Cスレーブアドレスは62=0x3eと表示されました。

 次に、クロック周波数frqとscl,sdaを変えてみましょう。freq=100KHz(標準の周波数)、scl=GP17,sda=GP16の場合のスクリプトです。



 次は、I2C LCD AQM0802Aの表示テストをします。


最新の画像もっと見る

コメントを投稿