皆さんこんにちは、グレキチです。
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基盤を認識させる手順が必要)
それでは、今回は以上になります。
いやー探してみると結構、ソフトと基盤の互換性とか、先達の方々によってよく考えられているものなんですね。
今回も、最後までご覧頂きまして、ありがとうございました。
それではまた👋
〆