ごきげんよう、ちゃまおです。
前回の記事から、だいぶ空いてしまいましたが、皆様いかがお過ごしでしょうか?
ちょっと前に、picodisplayと言う製品を買ったので、その記事を書こうかなと思ったのですが、Arduino用の統合開発環境であるArduino IDEがRaspberry Pi Picoにも対応したみたいなので、今回は導入方法を解説します。
Arduino IDEについて
Arduino IDEとは、Arduinoと言うマイコンボードに関するIDE(Integrated Development Environment: 統合開発環境)の事です。電子工作の歴史的には、「PICかAVRを使ったC言語での開発」→「Arduino登場」→「Raspberry Pi登場」と言う感じで、Arduinoが登場した2010年代頃から、電子工作が身近になったと言う印象を私は持っています。
Arduino IDE開発環境の導入
こちらのページから、Windows用のArduino IDE (Windows Win7 and newer)をインストールしましょう。2021年4月23日時点での最新版は1.8.13です。
無事にインストールが終わったら、ソフトを立ち上げ、「ツール -> ボード -> ボードマネージャー」をクリックします。
検索窓に「pico」と入力すると、下図のように「Arduino Mbed OS RP2040 Boards」が出てくるので、インストールします。
インストールが完了すると、「ツール -> ボード」から、Raspberry Pi Picoが選べるようになるので、選びます。導入は以上です。
Arduino IDEでLチカ
ここからは実際に、サンプルコードを使って、Arduino IDE上でLチカの実装をしてみましょう。「ファイル -> スケッチ例 -> 01. Basics -> Blink」を選択すると、別ウィンドウでサンプルコードが開かれます。
サンプルコードが開かれたら、パソコンにRaspberry Pi Picoを接続し、Arduino IDEの画面上部にある「→」ボタンを押す事で、ソースコードのコンパイルと、Raspberry Pi Picoへの書き込みが行われて、基板上のLEDが点滅を繰り返したら成功です。マイコンボードに書き込みを行っている為、C/C++での開発時と同様、ソースコードの内容は、パソコンと接続を外した後も、保持されていました。
ちょっとだけコード解説
ArduinoはC/C++をベースとしたArduino言語と呼ばれる独自言語が用いられています。先ほどのサンプルコードも、Arduino言語で書かれています。この言語の特徴としては、void setup()
とvoid loop()
の2つの関数で構成されている事です。
void setup()
では、1回だけ実行される内容を書きます。今回の場合、pinMode(LED_BUILTIN, OUTPUT);
が書かれていますが、これは「LED_BUILTINで定義されているピン(Raspberry Pi Picoの場合、25番ピン)をOUTPUTとして定義する」と言う意味です。
void loop()
では、繰り返し実行される内容を書きます。今回の場合、digitalWrite(LED_BUILTIN, HIGH);
とdelay(1000);
が書かれていますが、前者は「LED_BUILTINで定義されているピン(Raspberry Pi Picoの場合、25番ピン)をHIGH(スイッチON)にするよ」と言う意味で、後者は「1000ms待つよ」と言う意味です。LEDのスイッチをOFFにしたい場合は、digitalWrite(LED_BUILTIN, LOW);
と書きます。
もう一つの開発環境の導入方法
実は、Arduino IDE開発環境の導入方法はもう一つあります。Earle F. Philhower, IIIさんがGithubで公開している方法です。これを用いて、別の方が解説動画をアップロードしています。私はこの方法が上手くいきませんでしたが、気になる方は動画を参考に導入してみてください。
…で、結局何で開発すれば良いの?
これまでに、C/C++での開発環境の導入、Micro Pythonでの開発環境の導入を紹介して、今回はArduino IDEでの開発環境の導入を紹介しました。電子工作を始めたばかりだと、どれを使って開発するのが良いのか分からないかもしれません。私自身、どれもまだ使いこなせていませんが、Lチカを通じて感じた事を以下に書きます。
-
C/C++は、環境構築が難しいし、そもそもC言語が難しい為、ライブラリの扱いの難易度が高いけれども、開発の自由度は高そう。
-
Micro Pythonは、環境構築がとても楽だし、Pythonは簡単だけど、ソースコードの内容を保持出来ないので、組み込みには向いていない。(注)もし保持出来る方法があったら、それは私の情報不足ですので、教えて頂けると助かります。
-
Arduino IDEは、環境構築が楽だし、Arduino言語に関する情報は世の中にたくさんあるので、これまでのArduino用ライブラリがそのまま使えると開発が進みそう。(注)これまでのArduino用ライブラリがそのまま使えるかは未確認。
簡単に感想を書きましたが、結局は自分が書きやすい言語を使うのが一番だと思います。
以上です、お疲れ様でした。
次回予告
次回はpicodisplayの記事を書きたいなと思っていますが、未定です。