2017.06.21Arduinoでサーボライブラリを使用したときに出力される信号の周波数、パルス幅を実測してみました。ライブラリの中身を確認するとデフォルトで周波数は20ms、パルス幅は544μs~2400μsのようです。.attach(pin番号、最小パルス幅、最大パルス幅);で任意で設定できるようになってます。パルス幅はデフォルトのまま、実際の周波数とパルス幅を実測してみました。使用して、各々出力幅を変えて確認してます。ロジアナツールを使用してます。周波数はきっちり20ms、パルス幅は最小「0」で540μs、中央「90」で1470μs、最大「180」で2400μsと、当たり前ですがほぼ想定通りの出力となりました。次に「.writeMicroseconds」を使ってパルス幅を直接記述したものを測定してみました。servo9.writeMicroseconds(300);このような感じで、わざと設定されている範囲外の値を出力させてみました。(.attachでパルス幅の設定はしないでデフォルトのまま行ってます)結果、3番pinは指示通り750μsのパルス幅を出力。5番、9番pinからは記述の値が無視されて、それぞれ540μsと2400μsが出力されました。今回はサーボライブラリの記述で少し気になることがあり、実際に実測して確認してみました。想定通りの結果でしたが、すっきりしました。コメントをキャンセルメールアドレスが公開されることはありません。