種々のサーボモーターを制御することを可能とする。
このライブラリは多くのサーボを制御することができる。タイマーを注意深く利用し、12個のサーボを1つのタイマーで制御する。Arduino Dueでは、60個まで制御することができる。
互換性
このライブラリは、avr、megaavr、sam、samd、nrf52、stm32f4、mbed、mbed_nano、mbed_portenta、mbed_rp2040、renesas、renesas_portenta、renesas_unoアーキテクチャで利用できるので、以下のArduinoボードで利用可能である。
- Arduino Micro
- Arduino Leonardo
- Arduino Mega
- Arduino Due
- Arduino MKR FOX 1200
- Arduino MKR GSM 1400
- Arduino MKR NB 1500
- Arduino MKR VIDOR 4000
- Arduino MKR WAN 1300 (LoRa connectivity)
- Arduino MKR WAN 1310
- Arduino MKR WiFi 1010
- Arduino MKR ZERO (I2S bus & SD for sound, music & digital audio data)
- Arduino MKR1000 WIFI
- Arduino Nano
- Arduino Nano 33 BLE
- Arduino Nano 33 IoT
- Arduino Nano Every
- Arduino Uno
- Arduino Uno WiFi REV2
- Arduino Yún
- Arduino Zero
- Portenta H7
- Arduino UNO R4 Minima
- Arduino UNO R4 WiFi
- Arduino Nano RP2040 Connect
互換性に関する注意
注意: 上記のアーキテクチャで正しくコンパイルされるように作成されているが、特定のボードでのみ利用可能なハードウェア機能が必要となる場合がある。
リリース
このライブラリを使うためには、Arduino IDEでライブラリマネージャを開きインストールする。
- 1.2.1(最新)
使用方法
このライブラリを使うとArduinoボードを使ってRCサーボモーターを制御することができる。サーボは精密に制御できるギアとシャフトを統合したものである。一般的なサーボはシャフトを様々な角度にすることができ、それは、通常0度から180度である。連続回転サーボはシャフトの回転速度を制御することができる。
サーボライブラリは、ほとんどのArduinoボードで12個のモーターを制御できる。Arduino Megaでは48個のモーターを制御できる。Mega以外のボードでは、サーボライブラリを使うと、サーボを接続していなくても、9番ピンと10番ピンのanalogWrite()(PWM)が使えなくなる。Megaでは、12個までPWMの機能を妨げずに利用できる。12から23までのモーターを使うと11番ピンと12番ピンのPWMが使えなくなる。
このライブラリを使うためには、以下を宣言する。
#include <Servo.h>
回路
サーボモーターは、電源、アース、制御信号の3線を持っている。電源線は多くの場合赤で、Arduinoボードの5Vピンに接続する。アース線は多くの場合黒か茶色で、ArduinoボードのGNDピンに接続する。制御信号線は黄色かオレンジ、白で、Arduinoボードのデジタルピンに接続する。サーボは大量の電力を消費するので、1個か2個よりも多くのサーボを制御する場合は、Arduinoの5Vピンではなく、外部から電源を供給する必要がある。この場合Arduinoと外部電源のアースを接続することを忘れないように。