Arduinoでサーボモータを動かしてみた!

今回の記事では、Arduinoを用いてサーボモータを動かす方法について説明していきます。Arduino使い始めたばかりの初心者には勉強にもってこいの内容です。ぜひ参考にしてください!

使用するもの

使用するものは下記のリストの物です。購入先はすべて秋月電子通商です。同じもの購入したい方はリストのリンクより購入してください。

サーボモータの仕組み

端子の意味

サーボモータには端子が3つあります。GND、VCC、PWMです。GNDはマイナスを意味します。Vccはプラスを意味します。今回使用するサーボモータの動作電圧が4.8V(~5V)となっているのでArduinoから直接5Vの電圧を加えてもらいます。PWMについては下記にて説明します。

サーボモータ_端子

PWMについて

PWMは、パルス幅変調と言って、電圧を制御を行います。出力のON、OFFの切り替えを繰り返すことで電圧の制御を行っています。サーボモータでは、PWMを用いて電圧の制御を行い、回転する角度の制御を行います。詳しく知りたい方は、参考にさせて頂いたサイトのリンクより参照してください。

PWM と Arduino でのアナログ出力 - Arduino - 基礎からの IoT 入門
IoT に初めて取り組む人向けの超簡単な電子工作入門サイト。電子工作の基礎から Arduino を利用したプログラミング等をわかりやすく解説

サーボモータを動かしてみた

回路

今回作成する回路は下記の物です。Arduinoとサーボモータをジャンパー線を使って接続してください。Arduinは、GND、5V、D10を使用しています。

サーボモータ_ブレッドボード

プログラム

プログラムは以下の通りです。ArduinoIDEにコピペして使用してください。

今回の構成は、1秒ごとに90°ずつ回転し、180°まで行くと逆回りに戻ります。それを無限に繰り返すようになっています。

サーボモータを動作させるには、サーボモータのライブラリを読み込む必要があります。サーボモータのライブラリには、サーボモータを動かすために必要な道具のようなものがコードが書かれています。厳密には関数です。そのファイルを読み込むことでサーボモータを簡単に動かすことができます。1行目の#includeでサーボモータのライブラリを読み込んでいます。2行目のServo myservoではServoという文字をmyservoに変換しています。いわゆるServo=myservoですね。

set upの中について説明します。
myservo.attachでは、サーボモータを接続するPWMのピン、パルス幅の最小値、最大値を()の中にいれ、設定を行います。

void loopでの中について説明します。
myservo.writeの()の中には回転してほしい角度を指定します。 delayは指定した時間だけ待つようにします。()内には時間を入れるのですが、単位はms(ミリ秒)ですので注意が必要です。

動画

YouTubeに実際にこのプログラムを実行している動画があるのでご覧ください。

Arduinoでサーボモータの動かし方 電子工作初心者

最後に

説明した文章の中でわからない言葉があった際は、問い合わせ又はSNSでの連絡してください。

今回の記事を読んで気になった方は下記よりSNSのフォローをよろしくお願いいたします。また、YouTubeにも様々な動画を載せているのでご覧ください!

コメント