ホーム » 技術 » arduinoでサーボモータを制御

arduinoでサーボモータを制御


サーボモータとは

サーボモータはロボットや産業機器に多く使われているモータです。マイクロコンピュータによって、高精度に回転や速度を実現できるものを指します。

本編

今回も以下のセットにあるものを使用しています。

ちなみに秋月電子では580円(執筆当時)で販売されています。

マイクロサーボ9g SG-90: パーツ一般 秋月電子通商-電子部品・ネット通販 (akizukidenshi.com)

特性

使用するモータの特性は以下のようになっています。

重量9g
PWMサイクル20mS
制御角±約90°(180°)
トルク1.8kgf・cm
動作速度0.1秒/60度
動作電圧4.8V(~5V)
制御パルス0.5ms~2.4ms

プログラミング

設計したプログラミングが以下になります。

0.5秒ごとに30°回転します。

#include <Servo.h>
Servo servo;

void setup() {
  servo.attach(1);
}

void loop() {
  servo.write(0);
  delay(500);
  servo.write(30);
  delay(500);
  servo.write(60);
  delay(500);
  servo.write(90);
  delay(500);
  servo.write(120);
  delay(500);
  servo.write(150);
  delay(500);
  servo.write(180);
  delay(500);
}

プログラミング解説

include<servo.h>

サーボのライブラリを使用するための文章です

Servo servo;

サーボのクラス定義です。サーボのライブラリを使用するときは先頭につけます。

servo.attach(1)

サーボの制御を行うピンの設定です。PWM制御を行うのでPWM制御が行えるピンの設定を行う必要があります。

今回は一番に設定しています。

servo.write(0)

引数に書いた角度に回転します。

回路

arduino servo

真ん中の線を5V

茶色の線をGND

オレンジの線を指定したPWMピン(今回は一番)

につなぎます

結果

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です