Arduinoの標準ライブラリについて
Arduinoの標準ライブラリは、Arduinoプラットフォームでプログラミングを簡素化し、ハードウェアや一般的な機能を簡単に扱えるように設計されたライブラリの集合です。
基本的な通信機能や一般的なハードウェア(サーボモーター、LCDディスプレイなど)をサポートするもので、Arduino IDEに最初から含まれており追加のインストールなしで利用可能でインストールフォルダ内(librariesフォルダ)に含まれています。
Arduino標準ライブラリ一覧
2025年7月時点でのArduino IDEに含まれる標準ライブラリのリストです。
標準ライブラリ
- 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()
- WiFi: WiFi接続(WPA2/WEP対応)。例:
WiFi.begin()
,WiFi.status()
よく利用する標準ライブラリ
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()
注意点
- 上記はArduino公式リファレンスに基づく標準ライブラリ一覧です。一部のライブラリは特定のボード(例: MKRシリーズ)に限定されます。
- ライブラリはArduino IDEの
libraries
フォルダ(例:C:\Program Files (x86)\Arduino\libraries
)に保存されています。 - 詳細はArduino GitHubで確認できます。
コメント