Episode 12 ArduinoプログラムをラズパイPicoで動作させる

ブログ

皆さんこんにちは、グレキチです。

2024年も、もう年末になりました。いやー、年を取ると本当に、一年があっという間に風のように過ぎ去ってしまいます。なので、一日一日を有意義に過ごして行きたいですね。

さて今回は、自作しているロボットでArduinoプログラムを使う機会があり、Arduino基盤は無いけど、ラズパイ基盤はあるという状況だったので、何とかならないかをあれこれ調べた結果、ラズパイPicoでArduinoプログラムが使えるようになったので、それに関して紹介します。(この記事で紹介する方法は、M1Macで構築した仮装環境(UTM)上のLinuxOS(arm64版)での話になります)
なお、本記事を作成するにあたっては、以下のサイトを参考にさせて頂きました。

 参考にしたサイト: RANDOM NERD TUTORIALS

Arduino IDEのインストール

Arduinoのプログラム作成には、Arduino IDEと言う便利な統合開発環境ソフトがあり、その中の設定次第でRaspberry Pi Picoが使えるようでした。(Pico Wにも対応)
なのでまずは、Arduino IDEをインストールする必要がありました。Arduino IDEには、現在バージョン1と2の2つがありますが、arm64版LinuxOS上で使う場合は、クラシックバージョンと言われるバージョン1(ver1.8.19が最新)しか使えないようだったので、そちらをインストールしました。
なお、インストールについては、以下のArduino公式サイトの内容に沿って実施しましたので、本記事での詳細説明は割愛します。

 Arduino公式サイト: https://docs.arduino.cc/software/ide-v1/tutorials/Linux/

Pico Boardの追加

Arduino IDEがインストール出来たら、早速ソフトを立ち上げてみます。立ち上げると下記のような状態になっています。プログラムも何も無い状態です。

そして、このままではラズパイPicoの基盤が認識されない状態なので、まずはPicoボードが認識されるように設定していきます。

以下の通り、File -> Preferences をクリックします。

すると、Preferencesのウィンドウが開きます。

下記の記述をコピーして、“Additional Boards Manager URLs:” 右の空欄のところに転記します。(空欄の右にあるボタンを押すと、別のページが開くので、そこに記載)

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

追記して OK を押します。

さらに、Preferencesのウィンドウを OK を押して閉じます。

次に、以下のように、Tools -> Board -> Boards Manager… をクリックすると、Boards Managerウィンドウが立ち上がります。

そこの、“Filter your search...” と薄字で書かれている欄に”pico”と記載してリターンすると、”Arduino Mbed OS RP2040 Boards”と”Raspberry Pi Pico/PR2040″の2つが表示されます。

その内、今回は前者の“Arduino Mbed OS RP2040 Boards”を選択して、下部の Install ボタンを押してインストールします。これで、ラズパイPico(RP2040)のボードが選択できるようになりました。

Portの接続確認

次は、Pico基盤を実際にPCと繋げた時に、ポート接続が出来ているかの確認を行います。Picoに、付属のUSBケーブルを繋げて準備します。下図のように、Pico基盤はブレッドボードに挿しておいた方が、ピンを曲げたりする心配がないので扱い易いです。

これをPCと繋げるのですが、一番最初(フォーマットされていない場合)だけ、Pico基盤上にある“BOOTSEL”の白いボタンを押しながら、USBケーブルをPCと接続します。

すると、以下のようにポップアップが起動するので、“確定”をクリック。

続いて、Linux上に“RPI-RP2”と表示されれば接続成功です。表示されない場合は、ケーブルを抜いて再度行います。

そして、Tools -> Port と開いて、“/dev/ttyACM0 (Raspberry Pi Pico)”と表示されていれば、Portの接続確認は成功で、それを選択しておきます。

サンプルプログラムの実行テスト

サンプルプログラムとして、Pico基盤の実装テストではお馴染みの、実装済みLEDの点滅プログラムがあるので、それを実行してみます。
プログラムを開くので、以下のように、それには、以下のように File -> Examples -> 01.Basics -> Blink を選択します。

そうすると、以下のようなプログラムが表示されます。
内容を読み解くと、1000ミリ秒(1秒)毎に、LEDを点灯させたり消灯させたりするプログラムのようです。

このプログラムをPicoにロードします。
プログラムを基盤にロードするには、ウィンドウ左上にある ➡️ のボタンを押して実行します。

プログラムのロードが成功すると、以下の通り、LEDが1秒間隔で点滅します。(※USBコードを抜かない限り延々と点滅します)

と言うことで、うまく行きました!

まとめ

最後に、今回の手順について、簡単に箇条書きでまとめます。

  • Raspberry Pi Pico でArduinoプログラムを動かすには、Arduino IDEを活用する
  • Arduino IDE へ Raspberry Pi Picoを認識させるには、Board Managerの拡張が必要
  • Pico基盤のPCとの接続にあたっては、正しいPortを選択する

と、こんな感じですかね。
これで、今後もArduinoプログラムを、ラズパイPico で動かせるようになりました。
Arduino IDEでは、他にもESP32と言う基盤も使えるとのことだったので、次はそちらの基盤でも試してみたいと考えています。(その場合は、“Boardの追加”のところで、またESP32基盤を認識させる手順が必要)

それでは、今回は以上になります。
いやー探してみると結構、ソフトと基盤の互換性とか、先達の方々によってよく考えられているものなんですね。

今回も、最後までご覧頂きまして、ありがとうございました。
それではまた👋