ArduinoでSTEM教育​ 基礎編:サーボ

ArduinoでSTEM教育​ 基礎編:サーボ

今回は、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()で制御することができます。​​

ソース:Elegoo Mega 2560 The Most Complete Starter Kit (www.elegoo.com/download)

動かしてみよう

プログラムを書き込んで、実際に動かしてみてください。

今回学んだポイント

  • サーボは回転角度を正確に制御することができる。​
  • サーボの制御はライブラリを使用することで、簡単に記述できる。​
    servo.attach … サーボをピンに割り当てる​
    servo.write … サーボの角度を設定する

改造してみよう

もう少し理解を深めるために、自分で改造してみてください。​

  • サーボが0~180度を往復し続けるようにする​
  • サーボが60度~120度のときはLEDが点灯するようにする。​
  • プッシュスイッチを押すと、サーボが1往復するようにする。

Arduino基礎編カテゴリの最新記事