[企画・制作] ZEPエンジニアリング

いろいろなマイコンボードに使える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 IDEのインストールと本家Arduino UNO、3rd Partyボードの位置づけである Raspberry Pi Pico、M5Stack、STM32 Nucleo-64ボードを取り上げ、Arduino IDEを利用したそれらの開発環境構築方法をまとめました。


Arduino IDE で使用出来るマイコンボード例

Arduino UNO
Arduino Uno


Raspberry Pi Pico
M5Stack
M5Stack
STM32 Nucleo-64
STM32 Nucleo-64

 ※各マイコンボード共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ページが開きます。

Arduino IDE Downloadsのページ

 Widows用には、3つのファイル形式で配布されていますが、今回は一番上のWindows Win 7 and newerを使用しますので、クリックします。するとArduino団体への貢献(寄付)を求めるページが開きますので、「JUST DOWNLOAD(ダウンロードのみ)」か「CONTRIBUTE & DOWNLOAD(貢献(寄付)をしてダウンロード)」の何れかをクリックしてインスールプログラムを適当なフォルダにダウンロードします。

貢献(寄付)画面

ダウンロードしたプログラムをクリックするとインストールが始まりますので以下のとおりインストールを進めます。

ライセンス条項 ①ライセンス条項を読み、「I Agree」をクリック。
インストールオプション ②すべてのオプションにチェックがあることを確認して「Next」をクリック。
インストールフォルダ ③インストール先フォルダを確認して「Install」をクリック。
COMポートドライバー ④このようなCOMポートドライバーインストールを促される場合は「インストール」をクリック。
インストール完了 ⑤「Close」をクリックしてインストールの完了です。

 インストールが完了したら、続いて動作確認を行います。WindowsパソコンのUSBポートにArduino UNOを接続して、Windowsのスタートメニューから「Arduino」を起動します。起動したら「ツール」メニューをクリックし、以下の図のようにボードが「Arduino UNO」に、シリアルポートが「COMx(Arduino UNO)」になっていることを確認してください。COMポート番号は環境によって異なります。

ツールメニューの確認

もし、違う内容の場合はそれぞれクリックして、上記のように設定してください。

 次にプログラムを入力して、コンパイル、Arduino UNOへ転送して実行してみます。
 メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、LED点滅スケッチ(プログラム)、通称「Lチカ」を読み込みます。

Blinkサンプル

 ファイルメニューと編集メニューの下にある RUN をクリックするとLチカスケッチがコンパイルされ、Arduino UNOへ転送されます。エラーがなく転送されると自動的にスケッチが実行され、Arduino UNO上のLEDが点滅を繰り返します。 プログラム上の delay(1000); の1000は、1000ms、つまり1秒を表しますので、1秒点灯し、1秒消灯を繰り返します。いろいろ値を変えて都度 RUN をクリックすることにより、コンパイル、転送、実行を行うことができます。

(2) Mac編

 Arduinoの公式サイトのSOFTWAREのタブをクリックするとDownloadsページが開きます。

Arduino IDE 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)」になっていることを確認してください。

Mac版ボード設定

 もし、違う内容の場合はそれぞれクリックして、上記のように設定してください。 次にプログラムを入力して、コンパイル、Arduino UNOへ転送して実行してみます。
 メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、LED点滅スケッチ(プログラム)、通称「Lチカ」を読み込みます。

Blinkサンプル

 Windowsと同様にArduino IDEウィンドウ上部の RUN をクリックすると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

Blinkサンプル

(2) ボードパッケージのインストール

 ・ Arduino IDEのメニューで ツール ⇒ ボード ⇒ ボードマネージャ を選択。
 ・ 検索欄に「pico」と入力し検索されたものの中から「Raspberry pi pico/RP2040」をインストールする。

ボードパッケージのインストール

(3) 対象ボードをRaspberry Pi Picoに設定

 ・パソコンのUSBポートにRaspberry Pi Pico を接続して、メニューの「ツール」をクリックし、以下の図のようにボードを「Raspberry Pi Pico」に設定し、その他の項目も同様になっていることを確認してください。    

ボードパッケージのインストール

(4) 動作確認

 ・ メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、Lチカスケッチを読み込む。
 ・ RUN ボタンを押下して、コンパイル、プログラム転送、実行を確認する。

 以上で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欄の横にあるボタンをクリックして、改行して複数行で入力してください。

Blinkサンプル

(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欄の横にあるボタンをクリックして、改行して複数行で入力してください。

Blinkサンプル

(2) ボードパッケージのインストール

 ・ Arduino IDEのメニューで ツール ⇒ ボード ⇒ ボードマネージャ を選択。
 ・ 検索欄に「stm32」と入力し検索されたものの中から「STM32 based boards」をインストールする。

ボードパッケージのインストール

(3) 対象ボードをNecleo-64に設定

 ・パソコンのUSBポートにSTM32 Nucleo-64 を接続して、メニューの「ツール」をクリックし、以下の図のようにボードを「Nucleo-64」に設定し、今回はNucleo-64 STM32F446REを使用しましたので、そのように設定しています。    

ボードパッケージのインストール

(4) 動作確認

 ・ メニューの ファイル ⇒ スケッチ例 ⇒ 01.Basics ⇒ Blink をクリックし、Lチカスケッチを読み込む。
 ・ RUN ボタンを押下して、コンパイル、プログラム転送、実行を確認する。

 以上で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」をご参照ください。

©2021ー Takami.K, @logic_star All rights reserved.



Page Top