注目キーワード
  1. Photoshop
  2. Python
  3. Raspberry Pi
  4. Arduino

Arduino電子工作-サーボモーター制御方法

ここでは「Arduino」と「サーボモーター」を使ったサーボモーターの制御方法を紹介します。

 

Arduinoでのサーボモーターを制御したいサーボモーター制御プログラムのサンプルは?

といった疑問を解決することができます。

 

Arduinoでモーター制御をしたい方はこの機会に是非挑戦してみてください。

それでは始めていきましょう。

 

Arduinoでのサーボモーター制御

ここではArduino MEGA2560 R3でサーボモーターを制御する方法を紹介します。

サーボモーターについては電子工作の書籍にも詳しく記載されています。

 

またArduinoの裏面ははんだ付けされており、むき出しになっているのが嫌だ という方はtakulaboのこちらの記事もどうぞ

Arduino用アクリルケースを購入した感想と作り方

 

サーボモーターの基礎知識

まずArduinoで電子工作をする前にサーボモーターの理論を確認しておきましょう。

サーボモーターは

PWM信号を送ることで、目的の角度まで制御ができる

部品になります。

 

サーボモーターにもシリアルサーボ(近藤科学社)といったものがありますが、一番手ごろに手に入る「SG90 Micro Servo」を使用して今回は制御を行っていきます。

SG90  Micro Servoの場合、電圧4.8V~5V、1周期20msのPWM信号に対してパルス幅が変化します。

※詳しくは下記の仕様書

SG90 Servo Motor 仕様書

 

このような特性があることを知った上でモータの制御を行っていきます。

 

サーボモーターの配線について

続いて、サーボモーターの配線について見ていきます。

サーボモーターには3本の配線が下図のようについており、基本的に配線の色で意味合いが決まっています。

サーボモータ

配線の色と信号の種類

右側(茶色) : GND

中央(赤色) : 電源

左側(黄色) : PWM信号線

と決まっています。

Arduinoのデジタル端子につなげるとき間違えないように気を付けて配線を行いましょう。

 

配線は信号の種類に応じたピンをArduino側とつなげるだけです。

GND >Arduino側のGND

電源 > Arduinoの5Vピン

PWM信号線 > 任意のデジタルピン

といった感じです。

 

サーボモーター制御用プログラム

それでは実際に「Arduino IDE」を用いてArduino本体にサーボモーター制御用のプログラムを書き込んでみましょう。

 

#include<Servo.h>

int SERVO_SOCKET = 9;

Servo servo;

void setup() {

servo.attach(SERVO_SOCKET);

}

void loop(){

servo.write( 0 );

delay(500);

servo.write(90);

delay(500);

servo.write(180);

delay(500);

servo.write(90);

delay(500);

}

 

今回は0.5秒で90度ずつ回転するプログラムを作成してみましたが、動かしたい角度に調整ができるので是非挑戦してみてください。

サーボモーターのPWM制御は基本的に「 servo.write() 」と「 delay() 」の2文あれば簡単に制御可能なので、非常に使い勝手が良いですよね。

サーボモーターが自由に制御できるようになったら、ロボットでも作ってみると面白いと思いますよ!

 

以上Arduinoでのサーボモータ制御方法でした。

 

また当サイトでは下記記事のようなArduinoを使った各素子の制御方法を紹介しています。

Arduino電子工作-ドライバーを使ったDCモータ制御方法

他にもマイコン制御を学びたいという方は是非ご覧ください。

お疲れさまでした。

servomotor-control-top
学びに関する情報をチェック!