Arduinoの追加ボード(サードパーティボード)&ライブラリまとめ

Raspberry Pi/電子工作
スポンサーリンク

こんにちは、あろっちです。

ArduinoでURLの追加が必要なボード(サードパーティボード)とよく使うライブラリをまとめてみました。

スポンサーリンク
スポンサーリンク

ボードを追加する方法

Arduino IDE

Arduino IDEから[ファイル] > [環境設定]の画面を開きます。

後述のボードに記載してある追加のボードマネージャのURLを赤枠の箇所に入力します。

画像はRaspberry Pi Pico/RP2040の例

複数のボードのURLを追加したい場合は、赤枠右にあるアイコンをクリックします。

こちらの画像は、Raspberry Pi Pico/RP2040、ESP32(安定リリース)、Seeeduino XIAO、M5Stackの追加のボードマネージャのURLの入力例です。

このウインドウから、1行を1URLとして、複数のURLを入力できます。

入力後は、[OK]をクリックしてください。

設定を実施することで、当該ボードがボードマネージャからインストールできるようになります。

VS Code

Arduino for Visual Studio Code拡張機能でArduino Board Managerを使用する場合のボードの追加方法を記述します。

setting.json

    "arduino.additionalUrls": [
        "https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json",
        "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json"
    ],

“arduino.additionalUrls”に、後述のボードに記載してある追加のボードマネージャのURLを記述します。
複数のボードURLを指定する場合は、コンマで区切ります。

上記は、Raspberry Pi Pico/RP2040、ESP32(安定リリース)の追加のボードマネージャのURLの記述例です。

サードパーティボード

Raspberry Pi Pico/RP2040

追加のボードマネージャのURL:

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

対応ボード

  • Raspberry Pi Pico
  • Adafruit Feather RP2040
  • Adafruit ItsyBitsy RP2040
  • Adafruit KB2040
  • Adafruit Macropad RP2040
  • Adafruit QTPy RP2040
  • Adafruit STEMMA Friend RP2040
  • Adafruit Trinkey RP2040 QT
  • Arduino Nano RP2040 Connect
  • Cytron Maker Pi RP2040
  • Cytron Maker Nano RP2040
  • DeRuiLab FlyBoard2040 Core
  • DFRobot Beetle RP2040
  • Invector Labs Challenger RP2040 WiFi
  • Invector Labs Challenger NB RP2040 WiFi
  • Invector Labs Challenger RP2040 LTE
  • Invector Labs Challenger RP2040 LoRa
  • Invector Labs RPICO32
  • Melopero Shake RP2040
  • Seeed XIAO RP2040
  • Solder Party RP2040 Stamp
  • SparkFun ProMicro RP2040
  • SparkFun Thing Plus RP2040
  • uPesy RP2040 DevKit
  • WIZnet W5100S-EVB-Pico
  • Generic (configurable flash, I/O pins)

など。(バージョンアップ時に対応ボードが増えることがあるようです。)

関連URL:

GitHub - earlephilhower/arduino-pico: Raspberry Pi Pico Arduino core, for all RP2040 boards
Raspberry Pi Pico Arduino core, for all RP2040 boards - GitHub - earlephilhower/arduino-pico: Raspberry Pi Pico Arduino core, for all RP2040 boards

RP2040搭載ボードまとめ記事(参考サイト)

ESP32

追加のボードマネージャのURL:

安定リリース:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

開発リリース:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

関連URL:

GitHub - espressif/arduino-esp32: Arduino core for the ESP32
Arduino core for the ESP32. Contribute to espressif/arduino-esp32 development by creating an account on GitHub.

Seeeduino XIAO

追加のボードマネージャのURL:

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

関連URL:

Seeeduino Xiaoをはじめよう - Seeedウィキ(日本語版)

M5Stack

追加のボードマネージャのURL:

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

関連URL:

m5-docs
The reference docs for M5Stack products. Quick start, get the detailed information or instructions such as IDE,UIFLOW,Arduino. The tutorials for M5Burner, Firmw...
M5Stack/README.md at master · m5stack/M5Stack
M5Stack Arduino Library. Contribute to m5stack/M5Stack development by creating an account on GitHub.

Teensy

Arduino IDE 2.x版が対象です。

追加のボードマネージャのURL:

https://www.pjrc.com/teensy/package_teensy_index.json

関連URL:

Arduino IDE 2.0.0 Teensy Support

Adafruit

追加のボードマネージャのURL:

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

関連URL:

Adding Third Party Boards to the Arduino v1.6.4+ IDE
Version 1.6.4 of the Arduino IDE introduced official support for adding third party boards to the new Board Manager. This short tutorial will walk you through h...

Arduinoサードパーティボード一覧(参考URL)

Unofficial list of 3rd party boards support urls · arduino/Arduino Wiki
open-source electronics platform. Contribute to arduino/Arduino development by creating an account on GitHub.

サードパーティボードの削除

環境設定の「追加のボードマネージャのURL:」から入力済みURLを削除すると、削除したURLのボードは選択できなくなります。

注意点

誤ってURLを消してしまった、あるいは、なんらかの事象により消えてしまっていたなどの場合、

あれっ、ボードが選択できない!

というような事態に陥ったりすることがあるかもしれません。

この場合、設定画面からURLが入力されているか確認し、もしなかった場合は、再度URLを入力してみてください。

Arduinoライブラリ

Arduinoライブラリについて記述します。
ライブラリはArduino IDEライブラリマネージャ([ツール] > [ライブラリを管理])からインストールできます。

ライブラリをArduino for Visual Studio Code拡張機能からインストールする場合はArduino Library Managerを使います。

ライブラリ格納ディレクトリ

ボード

ボードにあらかじめ用意されている(ボード固有)ライブラリの場所

OS場所
Windows
(アプリ版)
C:¥Users¥ユーザー名¥Documents¥ArduinoData¥packages¥ボード名¥hardware¥ボード名¥バージョン¥libraries
Mac/Users/ユーザ名/Library/Arduino15/packages/ボード名/hardware/ボード名/バージョン/libraries
Linux/home/ユーザー名/.arduino15/packages/ボード名/hardware/ボード名/バージョン/libraries

カスタムライブラリ

カスタムライブラリはライブラリマネージャーやzipファイルからインストールするライブラリです。

ライブラリマネージャーやzipファイルからインストールしたライブラリの場所

OS場所
WindowsC:¥Users¥ユーザ名¥Documents¥Arduino¥libraries
Mac/Users/ユーザー名/Documents/Arduino/libraries
Linux/home/ユーザ名/Arduino/libraries

カスタムライブラリの削除方法

上記ライブラリディレクトリから削除したいカスタムライブラリのディレクトリを削除します。

ボードのライブラリは削除しないよう注意してください。

RP2040 PWM Audio

オーディオ(8kHz 8bit モノラル)をPWMで再生するライブラリを作成してみました。

Raspberry Pi Pico/RP2040ボード(earlephilhower版)専用のライブラリです。

ダウンロード

以下(GitHub)からダウンロードできます。

https://github.com/aloseed/RP2040-PWM-Audio

Codeをクリックするとメニューが開きます。
Download ZIPをクリックするとダウンロードできます。

インストール

Arduino IDEの

スケッチ > ライブラリをインクルード > .ZIP形式のライブラリをインストール…

を選択し、ダウンロードしたZIPファイルを選択するとインストールできます。

音源の作成方法について

簡易手順
  • STEP.1
    8kHz 8bit モノラル音源の作成

    Audacityで8kHz 8bit モノラル音源を作成しwavファイルで出力します。

    Audacity
    https://www.audacityteam.org/

  • STEP.2
    Cファイル出力

    WAVToCodeというソフト(Windows用)でwavファイルを読み込んでCファイル(rawデータ配列)を出力できます。

    出力ファイル名をヘッダーファイル(拡張子.h)にしておくとスケッチからインクルード(#include “ファイル名”)して使いやすいかと思います。
    ※スケッチ例を参考にしてみてください。

    配列の宣言は以下のような形式を推奨。配列長は明示しても構いません。

    uint8_t 変数名[] PROGMEM = {
    ...
    };

    WAVToCode (Windows)
    https://colinjs.com/software.htm

スケッチ例について

Arduino IDEの

ファイル > スケッチ例 > RP2040 PWM Arduio

にスケッチ例があります。

デフォルトのオーディオ出力ピンは、

Raspberry Pi Picoボード A2(GPIO28) ※
Raspberry Pi Pico以外のボード A3(GPIO29)

となっています。
※Raspberry Pi PicoはA3ピンがブレイクアウトしていないため

出力ピンを別のピンにしたい場合は#define PIN_BUZZERの箇所のコメントを外し任意のピン(GPIO番号か定数)を定義します。
※以下は出力先をA0(GPIO26)にした例

// 任意のピンを定義するには以下のコメントを外しオーディオ出力先GPIO番号を指定してください
#define PIN_BUZZER A0

スケッチ例の動作例

Raspberry Pi Pico/RP2040ボード(earlephilhower版)で書き込めるRP2040ボードであれば動作する感じになっています。

Raspberry Pi Picoの例

Grove Shield for Pi PicoとGroveモジュール OLEDとパッシブブザーを使用しています。

Seeed XIAO RP2040の例

nt_se

typewriter

拡張ボード使用例
ブレッドボード使用例

RP2040-0.42LCD【01Space】の例

電子ブザー使用
パッシブブザー使用

RTROBOT RP2040の例

OLEDに1.54インチ 4ピン(I2Cタイプ)を使ってみました。

RTROBOT RP2040のご紹介

RP2040のGPIO30本全てブレイクアウトしているボードにRTROBOT RP2040があります。
メモリも16MBと潤沢です。

RTROBOT RP2040(参考サイト)

OLEDディスプレイ

ライブラリ名

Adafruit SSD1306

U8g2

様々なOLEDディスプレイに対応したライブラリ
フォントが充実していて日本語フォントも使用できます。

カラーTFT(IPS) LCDディスプレイ

ライブラリ名

Adafruit ST7735 and ST7789 Library

以下のディスプレイ(IPS)は、ST7789を使っています。

以下のディスプレイ(TFT)は、ST7735を使っています。

Adafruit GFX(グラフィックライブラリ)

ライブラリ名

Adafruit GFX

グラフィックライブラリです。上記のディスプレイライブラリとセットで使う感じになっています。

RGB LED (NeoPixel)

ライブラリ名

Adafruit NeoPixel

Seeed XIAO RP2040、M5Stamp C3、Adafruit QT Py RP2040などのRGB LEDの制御で使用します。

LCD ディスプレイモジュール(1602)

写真のような1602 LCDディスプレイをArduinoで制御するライブラリです。

ライブラリ名

LiquidCrystal

I2Cシリアルモジュール付き

ライブラリ名

LiquidCrystal I2C

以下はシリアルモジュールです。

MAX7219 7セグ

DigitLed72xx使用

7セグディスプレイ

ライブラリ名

DigitLed72xx

DigitLedDisplay

※RP2040の場合、DigitLedDisplayが使用できました。

DigitLedDisplay使用

画像のスケッチは、以下の記事に掲載しています。

コメント

タイトルとURLをコピーしました