LoginSignup
6
6

Arduino IDE ユーザーのためのPlatformIO導入案内

Last updated at Posted at 2022-07-27

さぶん!

この記事のターゲット

  • Arduino IDEでArduinoやESP32系、Teensyなどを使える。
  • ライブラリの導入などもできる。
  • PlatformIOは導入が面倒そうなのでなるべく避けたい。

PlatformIOのよいところ

  • ESP32DevkitCの書き込み速度がすごく早くなる
  • VSCodeの環境がそのまま使えるので、スクリプトが非常に書きやすい。

PlatformIOのよくないところ

  • 快適なので一度覚えるとArduino IDEがダルく感じられる。

ArduinoIDEとPlatformIOの違うところ

基本的にArduinoIDE用のスクリプトはPlatformIOでも使えますが、いくつか違う点があります。
その差分をあらかじめ把握しておけば、PlatformIOをすんなり導入できるかもしれません。

ファイルの開き方が違う

Arduino IDEは.inoファイルをそのまま開けます。
PlatformIOではプロジェクトのディレクトリを開きます。
また、PlatformIOは、まずVSCodeを開き、アリマークのアイコンを開き、その画面からプロジェクトを開くという手順になります。

ファイル名とディレクトリ構造が違う

Arduino IDEは ファイル名 / ファイル名.ino というディレクトリ構造。
PlatformIOは プロジェクト名 / src / main.cpp というディレクトリ構造。
main.cppにArduinoIDEでいうファイル名.inoの中身(コード)をコピペすればOKです。

<Arduino.h> が必要

上記でコピペしたファイルの先頭に、<Arduino.h> を入れる必要がある場合がほとんどです。これを入れるとArduino用のスケッチが動くようになります。

変数・関数の出現順が厳密になる

Arduino IDEは、関数の設定などを最後に書いてもビルドが通ります。
PlatformIOは、関数や変数は、使用する前に宣言される必要があります。
(拡張子.hのヘッダファイルを用意して関数の宣言を済ませておくことで、拡張子.cppで使用する関数の定義をコードの後半に持ってくることができます)

ライブラリを入れるディレクトリが違う

Arduino IDEは、よくわからないところにライブラリが入ります。
PlatformIOは プロジェクト名 / lib / ライブラリ名 / src / ライブラリ.cpp, ライブラリ.h というディレクトリ構造になります。
プロジェクトごとにライブラリが入るのでむしろわかりやすいです。

書き込み方法が違う

Arduino IDEは、シリアルポートと正しく選ぶ必要があります。
PlatformIOはは、自動で正しいポートが選択されます。(たぶん)

シリアルモニタ表示が違う

Arduino IDEは、メニューから選び、シリアルモニタの速度設定などもあります。
PlatformIOは、画面したのコンセントマークからシリアルモニタを開きます。

環境設定が違う

Arduino IDEは、メニューからプルダウンで各種設定をします。
PlatformIOは、platformio.iniというファイルに通信速度や導入ライブラリの設定を書き込みます(ものによっては自動で書き込まれます)。

Teensyduinoが必要なのは同じ

Arduino IDEでTeensyを使う際にはTeensyduinoが必要です。
PlatformIOでもTeensyduinoが必要ですが、ArduinoIDEで導入済みであればOKです。

ほかにもいろいろあるけれど

取り急ぎ、自分ばPlatformIOに移行する際に知りたかった情報をまとめておきました。
具体的な操作方法やインストール方法については他の検索結果記事をご参照ください!
また、次のArduinoIDEはUIがVScodeそっくりになるという噂もあります。でももしそうだとしたら、やはり早めにPlatformIOに移行しておいて損はないと思います。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6