yoshiyuki's blog

Arduino/Teensy/Raspberry pi pico を利用した I2C, SPI 通信アプリを紹介します

Raspberry Pi Pico で I2C

元々、Arduino を使った USB-I2C 変換ツールとアプリを作って公開していましたが、今度は Raspberry Pi Pico を使って同じことができるファームを作成しました。Windows/Android アプリは Arduino 用と同じものが使用できます。

入手方法

Amazon やスイッチサイエンスなどで購入できます。以下の記事をご参照ください。

ysin1128.hatenablog.com

Arduino版との違い

  • USBコネクタが Micro-B (Arduino版 は Mini-B)

スマホでお馴染みの Micro-B で接続できます。ものすごく便利です。

  • I2C, SPI 他の信号の High Level が 3.3 V (Arduino版 は 5 V)

レベルシフタで 3.3 V に変換する手間が無くなります。ただし、逆に 5 V では使用できません。外部から 5 V の信号を印加すると耐圧超過で壊れます。

  • GPIO コマンドの信号幅の単位がマイクロ秒 (Arduino版はミリ秒)

GPIO コマンドにおいて信号幅に 00 01 を入力した場合、Arduino版では 1 ms を意味していましたが、Raspberry Pi Pico では 1 us を意味します。ただし、 1 us では短すぎて処理が間に合わないようで、実用できそうなのは 50 us 程度からとなります。

  • Clock 出力コマンドの最大周波数が 62.5 MHz (Arduino版は 8 MHz)
  • UART 対応
  • Logic Data Logger 対応

ファームウェア

下記の記事をご参照ください。

ysin1128.hatenablog.com

セットアップ

1. PC に Raspberry Pi Pico を BOOTSEL mode で接続する
Raspberry Pi Pico 上の BOOTSELボタンを押しながら PC に接続すると Raspberry Pi Pico が USB メモリのようにストレージとして認識されます。下図は認識例で RPI-RP2 (D:) として認識されています。


2. Raspberry Pi Pico にファームウェアを書き込む
USB ストレージとして認識された Raspberry Pi Pico にファームウェア (pico_ctrl_Rxx.uf2) をドラッグ&ドロップします。通常はドロップした直後に Raspberry Pi Pico がストレージとして認識されなくなり、消えます。これでセットアップは完了です。

各ピンの役割


アプリと使い方

対応するアプリのバージョンに注意してください。

  • Windows アプリ ver. 0.53 以降
  • Android アプリ ver. 3.5 以降

Arduino版と同じように使用できますが前述の Arduino版との違いには注意してください。
Windows アプリでは Startボタンをクリックする前に Config タブの変更が必要です。Keyword にはデバイスマネージャにおける Raspberry Pi Pico の認識名、または、その一部を書き込んでください。私の場合は「USB Serial Device (COM14)」という名前で認識されていたので「USB Serial」を Keyword にしました。「USB Serial Device」や「COM14」を Keyword にすることも可能です。Arduino System Clock Frequency には 100 を記入してください。

ysin1128.hatenablog.com
ysin1128.hatenablog.com
ysin1128.hatenablog.com