コンテンツにスキップ
ショップ

ライブラリとボード定義

いつものAIとセットアップ

Gemini・その他のAI

質問文をコピーして、いつものAIに貼り付け。キットの確認から動作確認まで、一つずつ進められます。

Geminiを開く

質問文をコピーして、Geminiの入力欄に貼り付けてください。

質問文を確認

プログラムを書き込むには、CPUに合ったボード定義と、使うリーフ・サンプルに必要なライブラリを選びます。まず開発環境設定で最初のプログラムを動かし、その後に必要なライブラリを追加してください。

リーフArduino IDEPlatformIO
AP01 AVR MCUArduino AVR BoardsArduino Pro or Pro MiniATmega328P (3.3V,8MHz)設定手順platform = atmelavrboard = pro8MHzatmega328設定手順
AP02 ESP32 MCUesp32 by Espressif SystemsESP32 Dev Module設定手順platform = espressif32board = esp32dev設定手順
AP03 STM32 MCULeafony配布のボードパッケージを使用。URLと設定手順Leafony配布のLEAFONY_AP03定義とvariantファイルを使用。配置・書き込み設定

AP03のPlatformIO手順は、ボード一覧から名前を選ぶだけでは完了しません。参照先に沿ってファイルを配置し、書き込みツールとポートも指定してください。AP01ではUSBリーフの型番によりリセット操作が変わるため、AZ01Cを使う場合の手順も確認します。

AP03BAP05は別の型番です。上の設定をそのまま流用せず、それぞれの技術資料で公開されているソフトウェアと接続条件を確認してください。

以下は掲載サンプルで参照する主な配布元です。全部をインストールする必要はありません。 サンプルの「使用するリーフ」「ライブラリ」と、配布プロジェクトのplatformio.iniを優先してください。表の同じ行にあるライブラリを、すべてのCPU・すべてのリーフで使えるという意味ではありません。

リーフ・機能配布元 / ヘッダ選ぶときの確認事項
4-Sensorsの共通処理Adafruit Unified Sensor / Adafruit_Sensor.hAdafruit BusIO / Adafruit_BusIO_Register.hセンサ用ライブラリが要求する依存関係も確認
温湿度 HTS221SmartEverything HTS221 / HTS221.hサンプルで指定された実装を使用
照度 OPT3001ClosedCube OPT3001 / ClosedCube_OPT3001.hArduinoのライブラリマネージャでClosedCube OPT3001を検索
AI01の加速度(LIS2DHTR)Adafruit LIS3DH / Adafruit_LIS3DH.h掲載サンプルはAdafruit LIS3DHを使用。AI05のLIS2DW12向けではない
BLEリーフTBGLib / TBGLib.hESP32内蔵BLEのライブラリとは別
AI04 LCDtomozh/arduino_ST7032 / ST7032.h下のAI04の注意点を確認
RTC & microSDのRTCRTClib / RTClib.hSTM32内蔵RTC用ライブラリとは別
AVRタイマ割り込みMsTimer2 / MsTimer2.hSTM32ではHardwareTimerを参照
STM32内蔵RTC・低消費電力STM32RTC / STM32RTC.hSTM32LowPower / STM32LowPower.hArduino Coreとの対応条件を確認
LTE-Mの既存サンプルLteLeafV4 / LteLeafV4.h通信リーフの型番とサンプルの対応を確認
Wi-Fi MaryWiFi101Leafony / WiFi101Leafony.hAP02内蔵Wi-Fi向けの設定とは別
LoRa・署名通信arduino-LoRa / LoRa.harduino-tca9536 / TCA9536.hSparkFun ATECCX08a / SparkFun_ATECCX08a_Arduino_Library.h使用する通信リーフ・機能のサンプルに従う

AI04の掲載サンプルは**tomozh氏のarduino_ST7032**を使います。LCD_ST7032ST7032_asukiaaaは別の実装です。Arduino IDEでは配布元からZIPを取得し、下の手順で導入してください。

ST7032.h: No such file or directoryが出る場合はインストールを確認します。ライブラリを入れるだけではLCDに給電されません。AI04の給電・初期化と、使用CPUに合うLCDサンプルを確認してください。

  1. サンプルでライブラリ名・作者・バージョンの指定を確認します。
  2. ライブラリマネージャにある場合は、ツール → ライブラリを管理から名前を検索し、作者と版を確認してインストールします。
  3. ZIPで配布されている場合は、配布元のCode → Download ZIPなどから取得し、スケッチ → ライブラリをインクルード → ZIP形式のライブラリをインストールで読み込みます。
  4. サンプルをコンパイルします。ヘッダが見つからない場合は、エラーにあるファイル名と導入したライブラリを照合します。

操作の詳細はArduino公式のライブラリ導入手順を参照してください。

platformio.ini使用する[env:...]セクション内lib_depsを記述します。すでにある場合は同じ一覧へ追記します。依存ライブラリはビルド時に取得されます。サンプルに完成した設定ファイルがあれば、その指定を使ってください。

; 指定方法の例。Hello Worldには追加ライブラリは不要です。
lib_deps =
adafruit/Adafruit Unified Sensor
adafruit/Adafruit BusIO

GitHubのURLで取得する場合はGitも必要です。インストール後にVS Codeを再起動し、ターミナルでgit --versionが実行できることを確認してください。指定方法はPlatformIO公式のlib_deps説明を参照できます。

既存サンプルのバージョン指定

Section titled “既存サンプルのバージョン指定”

過去の一覧には、次の指定が掲載されています。これは既存プロジェクトを読むための情報です。新しいプロジェクトへ一括でコピーせず、サンプルとArduino Coreの対応を確認してください。

ライブラリ既存のPlatformIO指定例
Adafruit Unified Sensoradafruit/Adafruit Unified Sensor@^1.1.6
Adafruit BusIOadafruit/Adafruit BusIO@^1.14.1
ClosedCube OPT3001closedcube/ClosedCube OPT3001@^1.1.2
Adafruit LIS3DHadafruit/Adafruit LIS3DH@1.1.2
AI04 LCDtomozh/ST7032@0.0.0-alpha+sha.501bf64fe6
MsTimer2paulstoffregen/MsTimer2@^1.1
RTClibadafruit/RTClib@^2.1.1
STM32RTCstm32duino/STM32duino RTC@1.2.0
STM32LowPowerstm32duino/STM32duino Low Power@^1.2.2

特にSTM32RTC・STM32LowPowerは、STM32 Arduino Coreの版に合わせた選択が必要です。ライブラリだけを更新してビルドが変わった場合は、エラー全文、ボードパッケージ、ライブラリの版を確認し、質問テンプレートにまとめてください。