Arduinoの商品選定、購入はこちら
いろいろなマイコンボードに使えるArduino IDE。環境構築メモ
Arduinoの開発環境であるArduino IDE(Integrated Development Environment)は、Arduinoボード上で動作するソフトウェアを開発するために作られた統合開発環境です。ソースコードの編集や、コンパイル、リンク、作成されたオブジェクトのボードへの書込み機能などが提供されます。またプログラム実行時には、Arduinoボードとデータの送受信を行う「シリアルモニタ(コンソール機能)」とArduinoボードからのデータをグラフ化して表示する「シリアルプロッタ機能」なども提供されます。
Arduino IDEには、様々なArduinoボードに対応するためのボードパッケージを管理、取込むための「ボードマネージャ」や各種I/O(センサー等を含む)サポートするライブラリを管理、取込むための「ライブラリマネージャ機能」があり、これを利用して本家Arduinoボードだけでなく、多くの3rd Partyのマイコン、マイコンボードベンダー*1がボードパッケージやI/Oライブラリを提供しており、自社のマイコン、マイコンボードの開発環境としてArduino IDEを利用できるようにしています。
ユーザーにとっては、開発環境をArduino IDEに統一することで、異なるボード間での移植性が高まったり、Arduino環境向けに開発された各種センサーやI/O制御ライブラリがそのまま利用できるなど多くのメリットが得られます。
Arduino IDEの画面キャプチャー画像(Windows版)
今回は、Arduino IDEのインストールと本家Arduino UNO、3rd Partyボードの位置づけである Raspberry Pi Pico、M5Stack、STM32 Nucleo-64ボードを取り上げ、Arduino IDEを利用したそれらの開発環境構築方法をまとめました。
Arduino IDE で使用出来るマイコンボード例
※各マイコンボード共Arduino IDEをインストールしたパソコンとUSB接続して使用します。
*1Arduino IDEで使用できる3rd Partyのマイコン、マイコンボード例
Arduino IDEでは、公式のArduinoボード以外にも非公式のマイコン、マイコンボードを使用することができます。それらの情報は「Unofficial list of 3rd party boards support urls」で参照することができます。今回紹介するもの以外にも多数存在し、広く応用することができます。
環境構築の流れ
環境構築の大まかな流れを以下に示します。最初にArduino IDE本体をインストールし、続いてArduinoマイコンボード以外のボードを使用できるようにボード追加の設定を行います。
Arduino IDE インストール方法
Arduino IDEは、どのマイコンボードで使用するにも、まずArduino UNOなど公式ボード用のベース環境をインストールする必要があります。Raspberry Pi PicoやM5Stack、Nucleo-64などの他のマイコンボードを使用するには、そのボード用のボードパッケージを追加することによって使用できるようになります。Arduino IDEは、Windows、Linux、Mac OS XのOS上で動作する各バージョンがあります。ここでは、WindowsとMacでのインストール方法について解説します。
(1) Windows編
Arduinoの公式サイトのSOFTWAREのタブをクリックするとDownloadsページが開きます。
Widows用には、3つのファイル形式で配布されていますが、今回は一番上のWindows Win 7 and newerを使用しますので、クリックします。するとArduino団体への貢献(寄付)を求めるページが開きますので、「JUST DOWNLOAD(ダウンロードのみ)」か「CONTRIBUTE & DOWNLOAD(貢献(寄付)をしてダウンロード)」の何れかをクリックしてインスールプログラムを適当なフォルダにダウンロードします。
ダウンロードしたプログラムをクリックするとインストールが始まりますので以下のとおりインストールを進めます。
①ライセンス条項を読み、「I Agree」をクリック。
②すべてのオプションにチェックがあることを確認して「Next」をクリック。
③インストール先フォルダを確認して「Install」をクリック。
④このようなCOMポートドライバーインストールを促される場合は「インストール」をクリック。
⑤「Close」をクリックしてインストールの完了です。
インストールが完了したら、続いて動作確認を行います。WindowsパソコンのUSBポートにArduino UNOを接続して、Windowsのスタートメニューから「Arduino」を起動します。起動したら「ツール」メニューをクリックし、以下の図のようにボードが「Arduino UNO」に、シリアルポートが「COMx(Arduino UNO)」になっていることを確認してください。COMポート番号は環境によって異なります。
もし、違う内容の場合はそれぞれクリックして、上記のように設定してください。
次にプログラムを入力して、コンパイル、Arduino UNOへ転送して実行してみます。
メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、LED点滅スケッチ(プログラム)、通称「Lチカ」を読み込みます。
ファイルメニューと編集メニューの下にある
をクリックするとLチカスケッチがコンパイルされ、Arduino UNOへ転送されます。エラーがなく転送されると自動的にスケッチが実行され、Arduino UNO上のLEDが点滅を繰り返します。
プログラム上の delay(1000); の1000は、1000ms、つまり1秒を表しますので、1秒点灯し、1秒消灯を繰り返します。いろいろ値を変えて都度
をクリックすることにより、コンパイル、転送、実行を行うことができます。
(2) Mac編
Arduinoの公式サイトのSOFTWAREのタブをクリックするとDownloadsページが開きます。
Macにインストールする場合は、Mac OS Xをクリックします。するとArduino団体への貢献(寄付)を求めるページがWindows版と同様に開きますので、「JUST DOWNLOAD(ダウンロードのみ)」か「CONTRIBUTE & DOWNLOAD(貢献(寄付)をしてダウンロード)」の何れかをクリックしてプログラムをダウンロードします。Macの場合はzipファイルがダウンロードされ、クリックすることにっより解凍されプログラムアイコンが表示されます。それをクリックするとArduino IDEが起動されます。
Arduino IDEが立ち上がったら、続いて動作確認を行います。MacのUSBポートにArduino UNOを接続して、メニューの「ツール」をクリックし、以下の図のようにボードが「Arduino UNO」に、シリアルポートが「(Arduino UNO)」になっていることを確認してください。
もし、違う内容の場合はそれぞれクリックして、上記のように設定してください。 次にプログラムを入力して、コンパイル、Arduino UNOへ転送して実行してみます。
メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、LED点滅スケッチ(プログラム)、通称「Lチカ」を読み込みます。
Windowsと同様にArduino IDEウィンドウ上部の
をクリックするとLチカスケッチがコンパイルされ、Arduino UNOへ転送されます。エラーがなく転送されると自動的にスケッチが実行され、Arduino UNO上のLEDが点滅を繰り返します。
なお、intel MacだけでなくM1 Macでも問題なく動作しました。
Raspberry Pi PicoをArduino IDEで使う
Raspberry Pi PicoをArduino IDE環境で使う場合には、Raspberry Pi PicoにMicroPythonなどのファームウェアを書き込んでいない状態である必要があります。もし、MicroPython等他のファームウェアを書込んでいる場合は、フラッシュメモリーを工場出荷時と同じ状態にリセットする必要があります。以下手順に従ってリセットしてください。
① Raspberry Pi Picoのリセット用のUF2 file(flash_nuke.uf2)をこちらのサイトからダウンロードする。
※ページの一番下方にある「Resetting Flash memory」の項にあります。
② Raspberry Pi Picoの「BOOTSEL」ボタンを押下したままパソコンのUSBに接続する。
③ パソコンがRaspberry Pi PicoをUSBドライブ(RPI-RP2)として認識したら「BOOTSEL」ボタンから手を離し、ダウンロードしたUF2ファイルをRaspberry Pi Picoのフォルダにドラッグ&ドロップする。
上記によりRaspberry Pi Picoが初期状態にリセットされます。
では、Arduino IDEでRaspberry Pi Picoを扱えるように設定していきましょう。
(1) 追加のボードマネージャのURL設定
Arduino IDEのメニューで ファイル ⇒ 環境設定 を選択し、「追加のボードマネージャのURL」に以下URLを入力し「OK」をクリックします。
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
(2) ボードパッケージのインストール
・ Arduino IDEのメニューで ツール ⇒ ボード ⇒ ボードマネージャ を選択。
・ 検索欄に「pico」と入力し検索されたものの中から「Raspberry pi pico/RP2040」をインストールする。
(3) 対象ボードをRaspberry Pi Picoに設定
・パソコンのUSBポートにRaspberry Pi Pico を接続して、メニューの「ツール」をクリックし、以下の図のようにボードを「Raspberry Pi Pico」に設定し、その他の項目も同様になっていることを確認してください。
(4) 動作確認
・ メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、Lチカスケッチを読み込む。
・
ボタンを押下して、コンパイル、プログラム転送、実行を確認する。
以上でArduino IDEでRaspberry Pi Picoを取扱う設定と確認ができました。Raspberry Pi Picoは、そのデバイス構成から高速のArduinoといった位置付けでの応用が多くあるのではと想像します。その際にこの開発環境は、とても有用なのでないでしょうか。
M5StackをArduino IDEで使う
Raspberry Pi Picoと同様の手順でM5Stack用のArduino IDE環境を構築できます。以下に解説します。
(1) 追加のボードマネージャのURL設定
Arduino IDEのメニューで ファイル ⇒ 環境設定 を選択し、「追加のボードマネージャのURL」に以下URLを入力し「OK」をクリックします。
https://dl.espressif.com/dl/package_esp32_index.json
既に別のボードマネージャのURLが設定されている場合には、URL欄の横にあるボタンをクリックして、改行して複数行で入力してください。
(2) ボードパッケージのインストール
・ Arduino IDEのメニューで ツール ⇒ ボード ⇒ ボードマネージャ を選択。
・ 検索欄に「esp32」と入力し検索されたものの中から「esp32 by Espressif Systems」をインストールする。
M5Stackでは、M5Stack内蔵のLCDやスイッチなどのI/Oを制御するI/Oライブラリもインストールします。
・ Arduino IDEメニューで ツール ⇒ ライブラリ を管理 を選択。
・ 検索欄に「m5stack」と入力し検索されたものの中から「M5Stack by M5Stack」をインストールする。
(3) 対象ボードをM5Stackに設定
・パソコンのUSBポートにM5Stack BASIC を接続して、メニューの「ツール」をクリックし、以下の図のようにボードを「M5Stack-Core-ESP32」に設定し、その他の項目も同様になっていることを確認してください。
(4) 動作確認
・ メニューの ファイル ⇒ スケッチ例 ⇒ M5Stack-Core-ESP32 のスケッチ例 の中から適当なものを選び、コンパイル、転送、実行できることを確認してください。
STM32 Nucleo-64 をArduino IDEで使う
手元にSTM32F446 Nucleo-64ボードがあったため、Arduino IDE環境で使用できるように設定してみました。
(1) 追加のボードマネージャのURL設定
Arduino IDEのメニューで ファイル ⇒ 環境設定 を選択し、「追加のボードマネージャのURL」に以下URLを入力し「OK」をクリックします。
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
既に別のボードマネージャのURLが設定されている場合には、URL欄の横にあるボタンをクリックして、改行して複数行で入力してください。
(2) ボードパッケージのインストール
・ Arduino IDEのメニューで ツール ⇒ ボード ⇒ ボードマネージャ を選択。
・ 検索欄に「stm32」と入力し検索されたものの中から「STM32 based boards」をインストールする。
(3) 対象ボードをNecleo-64に設定
・パソコンのUSBポートにSTM32 Nucleo-64 を接続して、メニューの「ツール」をクリックし、以下の図のようにボードを「Nucleo-64」に設定し、今回はNucleo-64 STM32F446REを使用しましたので、そのように設定しています。
(4) 動作確認
・ メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、Lチカスケッチを読み込む。
・
ボタンを押下して、コンパイル、プログラム転送、実行を確認する。
以上でSTM32ベースのNucleo-64ボードでもArduino IDEを使用して開発することができます。AVRマイコンベースの公式Arduinoに比べて高性能、多機能ですので、過去の資産を活かしつつ、高機能、高性能化が図れるのではないでしょうか。
I/Oライブラリ等のインストールについて
上記のそれぞれのマイコンボード用のボードパッケージの他にM5Stackの項で述べたようなそのマイコンやマイコンボード独自のI/O等を制御するためのライブラリをインストールする必要がある場合があります。その際は、メニューの ツール ⇒ ライブラリを管理 からライブラリマネージャを起動して必要なライブラリをインストールしてください。
まとめ
以上でArduino IDEのインストールから他のマイコン、マイコンボードを使用するための一連の作業内容を解説しました。Arduino IDEを使用して開発することによりさまざまなI/Oライブラリが使用できるようになるなど、開発効率がかなり高まります。皆さんもぜひ活用してみてください。
マルツで購入できるArduino IDE対応のマイコンボード
マルツでは、多くの種類のマイコン、マイコンボードを取り扱っています。こちらのページから参照いただきお客様の用途にあった製品をお選びいだけます。今回解説したArduino IDEでの使用可否については、記事の冒頭で示した「Unofficial list of 3rd party boards support urls」をご参照ください。
c2021ー Takami.K, @logic_star All rights reserved.
Arduinoの商品選定、購入はこちら