Arduinoの標準ライブラリについて
Arduinoの標準ライブラリは、Arduinoプラットフォームでプログラミングを簡素化し、ハードウェアや一般的な機能を簡単に扱えるように設計されたライブラリの集合です。
基本的な通信機能や一般的なハードウェア(サーボモーター、LCDディスプレイなど)をサポートするもので、Arduino IDEに最初から含まれており追加のインストールなしで利用可能でインストールフォルダ内(librariesフォルダ)に含まれています。
Arduino標準ライブラリ一覧
2025年7月時点でのArduino IDEに含まれる標準ライブラリのリストです。Arduino IDEをインストールしたフォルダーに存在します。私の環境では次のようなフォルダーが確認できます。
2つめは、AVRマイコンを実装したUno R3などのボード向け、3つめは、ルネサスRA4M1マイコンを実装しているUno R4ボード向けのライブラリフォルダーとなります。
- C:\Users\username\AppData\Local\Arduino15\libraries
- C:\Users\username\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries
- C:\Users\username\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.5.1\libraries
標準ライブラリ
- EEPROM: マイクロコントローラのEEPROMにデータを保存・読み出し。例:
EEPROM.read(),EEPROM.write() - Ethernet: Ethernetシールドを使用したインターネット接続。例:
Ethernet.begin() - Firmata: コンピュータとの標準通信プロトコル。例:
Firmata.begin() - LiquidCrystal: Hitachi HD44780互換LCDディスプレイ制御。例:
LiquidCrystal.begin() - SD: SD/microSDカードの読み書き。例:
SD.begin(),SD.open() - Servo: サーボモーター制御。例:
Servo.attach(),Servo.write() - SPI: SPIバス通信。例:
SPI.begin(),SPI.transfer() - SoftwareSerial: 任意のピンでシリアル通信。例:
SoftwareSerial.begin() - Stepper: ステッピングモーター制御。例:
Stepper.step() - Wire: I2C通信。例:
Wire.begin(),Wire.write()
よく利用する標準ライブラリ
Arduino Core Library
- 概要: Arduinoの基本機能を提供するコアライブラリ。
setup()やloop()関数、digitalWrite()、analogRead()などの基本的な入出力操作が含まれます。 - 主な関数:
pinMode(pin, mode): ピンの入出力モードを設定。digitalWrite(pin, value): デジタルピンのHIGH/LOWを設定。analogRead(pin): アナログピンの値を読み取る。delay(ms): 指定時間プログラムを一時停止。
- 用途: ピンの制御、基本的な入出力、タイミング管理。
EEPROM
- 概要: ArduinoボードのEEPROM(不揮発性メモリ)にデータを読み書きします。
- 主な関数:
EEPROM.read(address): 指定アドレスからデータを読み込む。EEPROM.write(address, value): 指定アドレスにデータを書き込む。
- 用途: 設定値やログデータの永続的保存。
Servo
- 概要: サーボモーターの制御を簡素化します。
- 主な関数:
Servo.attach(pin): サーボモーターを指定ピンに接続。Servo.write(angle): サーボの角度を設定(0~180度)。
- 用途: ロボットや回転機構の制御。
Wire (I2C)
- 概要: I2C通信をサポートし、センサーやディスプレイなどのデバイスと通信します。
- 主な関数:
Wire.begin(): I2C通信を開始。Wire.write(data): データを送信。Wire.read(): データを受信。
- 用途: I2C対応デバイス(例: OLEDディスプレイ、センサー)との通信。
SPI
- 概要: SPI通信をサポートし、高速なデバイス間通信を実現します。
- 主な関数:
SPI.begin(): SPI通信を開始。SPI.transfer(data): データを送受信。
- 用途: SDカードや高速センサーとの通信。
softwareSerial
- 概要: ハードウェアシリアル以外のピンでシリアル通信をエミュレートします。
- 主な関数:
SoftwareSerial.begin(baud): シリアル通信を開始。SoftwareSerial.print(data): データを送信。
- 用途: GPSモジュールやBluetoothモジュールとの通信。
MKRファミリー向けライブラリ
以下のライブラリは、特にArduino MKRシリーズボード向けに設計されていますが、標準ライブラリとしてArduino IDEに含まれています。
- ArduinoMKRGPS: GPSデータの取得。例:
GPS.begin(),GPS.location() - ArduinoMKRRGB: RGB LED制御。例:
RGB.begin(),RGB.setPixel() - ArduinoMKRENV: 環境センサー(温度、湿度など)。例:
ENV.begin(),ENV.readTemperature() - ArduinoMKRTHERM: 温度センサー制御。例:
THERM.begin(),THERM.readTemperature() - MKRIMU: 加速度計/ジャイロ制御。例:
IMU.begin(),IMU.readAcceleration() - ArduinoRS485: RS485通信。例:
RS485.begin(),RS485.send() - ArduinoMotorCarrier: モーター制御。例:
MotorCarrier.begin(),MotorCarrier.setMotor() - RTCZero: リアルタイムクロック。例:
RTC.begin(),RTC.setTime() - Scheduler: マルチタスク管理。例:
Scheduler.startLoop()
USB関連ライブラリ
以下のライブラリは、ArduinoをUSBホストまたはデバイスとして使用するためのものです。
- USBHost: USB周辺機器通信。例:
USBHost.begin() - Keyboard: キーボードエミュレーション。例:
Keyboard.begin(),Keyboard.print() - Mouse: マウスエミュレーション。例:
Mouse.begin(),Mouse.move()
非推奨または特定ボード向けライブラリ
以下のライブラリは、廃止された製品(例: Arduino Robot、Yún、Esplora)や特定のボード向けで、現在はアーカイブされていますが、標準ライブラリの一部として含まれています。
- Bridge: Yúnボードのプロセッサ間通信。例:
Bridge.begin() - CurieBLE: Arduino 101のBLE通信。例:
BLE.begin() - CurieIMU: Arduino 101のモーションセンサー。例:
CurieIMU.begin() - CurieTimerOne: Arduino 101のタイマー。例:
CurieTimerOne.start() - CurieTime: Arduino 101のRTC。例:
CurieTime.setTime() - Esplora: Esploraボードのセンサー制御。例:
Esplora.readLightSensor() - Robot: Arduino Robot制御。例:
Robot.begin(),Robot.motorsWrite()
その他のライブラリ
以下のライブラリも標準ライブラリの一部として扱われる場合がありますが、主に特定の用途やボード向けです。
- ArduinoGraphics: グラフィック描画。例:
Graphics.begin(),Graphics.drawLine() - Arduino_UnifiedStorage: フラッシュ/USB/SDストレージ操作。例:
UnifiedStorage.begin(),UnifiedStorage.writeFile()
参考
- 上記は公式リファレンスに基づく標準ライブラリ一覧です。一部のライブラリは特定のボード(例: MKRシリーズ)に限定されます。
- 標準ライブラリー以外のライブラリーの詳細については公式リファレンスのlibrariesやArduino GitHubで確認できます。


コメント