今回は、Arduinoでサーボを制御する方法を紹介します。
目次
使用する部品一覧
使用する部品は図のとおりです。これらの部品は、すべて「ELEGOO Arduino用のMega2560スタータキット」に含まれています。Arduinoは、もちろんunoやnanoでも問題ありません。
- Arduino MEGA2560 R3 …1個
- サーボ(SG90) …1個
- ジャンパワイヤ(オス-オス) …3個
サーボの特徴や取り扱い方法
今回使用するサーボはSG90という製品です。サーボは、ギアとシャフトが組み込まれており、正確に0度~180度の回転制御ができます。サーボの位置制御は、Arduinoからサーボの信号線を通じて送信します。サーボは3本の線があり、電源・GND・信号の線です。

回路図
赤色の線(電源)を5Vに接続し、茶色の線(GND)をGNDに接続します。橙色の線(信号)は、D12PWMに接続します。

配線図
ブレッドボードを使用した配線は図のとおりになります。

組立完成写真
実際に組み立てた写真です。同じようにできましたか?

プログラム
サーボを制御するためのライブラリが公開されており、最初にincludeで読み込みます。このライブラリ(Servo.h)を使用することで、サーボを簡単にせ制御できます。次に、ServoライブラリのServoクラスを使用するため、myservoを宣言します。クラスとは、C++言語などのオブジェクト指向プログラミングで登場します。今回は基礎編なので説明を省きますが、興味のある方は調べてみてください。setup()内では、サーボを使用するピンをmyservo.attach()で指定します。サーボの角度は、myservo.write()で制御することができます。

動かしてみよう
プログラムを書き込んで、実際に動かしてみてください。
今回学んだポイント
- サーボは回転角度を正確に制御することができる。
- サーボの制御はライブラリを使用することで、簡単に記述できる。
servo.attach … サーボをピンに割り当てる
servo.write … サーボの角度を設定する
改造してみよう
もう少し理解を深めるために、自分で改造してみてください。
- サーボが0~180度を往復し続けるようにする
- サーボが60度~120度のときはLEDが点灯するようにする。
- プッシュスイッチを押すと、サーボが1往復するようにする。
コメントを残す