2021/10/17

Tiny2040 を Arduino IDE で使う

環境構築のハードルを乗り越える.

Raspberry Pi Pico こと本体のRP2040の開発基板を買うつもりはなかったもののつい手が滑ってTiny2040[1]を買ってしまった. 選択肢が増えることは悪いことではないからね.

どっさり.

RP2040では本来 Raspberry Pi Pico C/C++ SDK[2] を利用して開発を行う. が, 開発環境の構築のハードルの高さを考えると, 既存のIDEが使えるのがよい. こうして全ては Arduino に集約されていく.

基本的にすべきことはESP32のようなArduino以外のボードと変わらない. 内容は[3]のまま. まずは Arduino IDE に以下のリポジトリを追加する. 「ボードマネージャ」から「Raspberry Pi Pico/RP2040」をインストールするだけ.

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

通常ではこの時点で「シリアルポート」からデバイスの接続が確認できるが, RP2040は認識されないらしい. また書き込みを行う場合は「BOOT」スイッチを押しながら接続する必要がある[4]. 「BOOT」スイッチを押しながら接続するとUSBバス上では「RP2 Boot」として, またドライブとして「RPI-RP2」としてマウントされる(この時点でも「シリアルポートには表示されない」).

この状態ですでに書き込みが可能で, Arduino IDE が自動でボードを選択して書き込みしてくれる(ボードが複数刺さっていたらどうなるんだ🤔). この時デバイスの設定は以下の通り. 設定値は「CPU Speed」以外はてきとう. 「USB Stack」は「 Adafruit Tiny USB」とすると Adafruit_TinyUSB.h をインクルードできる. インクルードしてどうなるかはわからない.

  • ボード: Adafuit QT Py RP2040
  • Flash Size: 8MB (no FS)
  • CPU Speed: 133MHz
  • Debug Port: Disabled
  • Debug Level: なし
  • USB Stack: Adafruit Tiny USB

この状態でシリアルポートを利用するプログラムを書き込むとようやくシリアルポートが使えるようになる. [3]と同様に「Temperature」のスケッチ例を使ってCPU温度が表示できるか確認する.

GPIOの利用に関しても違和感なくGPIOの数字だけでピンを指定できる. Tiny2040の RGB LED なら, それぞれ 18, 19, 20 を指定するだけ. (Serial が使えてしまうので)Arduinoのライブラリがどこまで利用できるかは不明だが, Arduinoを触ったことがあればある程度使えるのはとてもありがたい.

0 件のコメント:

コメントを投稿