三浦製作所

興味のあるものをとりあえず動かしてみた、実装してみたシリーズをガンガン上げていきたいと思います。あくまでも自身の備忘録としてですが、誰かの助けになったらうれしいです。

【Wifi , Bluetooth搭載マイコン】【実装】ESP32でサーボモータ (SG90)を動かす

f:id:bamboomush:20210106162950p:plain
 ESP32を用いてサーボモータを実装したので、そのやり方について紹介したいと思います。

この記事を読むことで、人気のWifi, Bluetooth搭載マイコン、ESP32でサーボモータが動かせるようになります。

動かしている動画が以下のものです。

youtu.be

サーボモータを動かせることで、ロボット、IoT、DIYなど幅広い分野を自作できるようになり、趣味でも業務でも自由度が広がること間違いなしです!

 

Arduino Nano版はこちら

www.takeshi-1222.com

 

◆ESP32関係の実装記事◆ 
  • DCモータ実装

www.takeshi-1222.com

  • OTA実装 

www.takeshi-1222.com

  • Webサーバー実装

www.takeshi-1222.com

  • OLED実装

www.takeshi-1222.com

  • 超音波センサ

www.takeshi-1222.com

  • LCDディスプレイ

www.takeshi-1222.com

  • 温湿度センサ (安価)

www.takeshi-1222.com

  • 温湿度センサ (ハイスペック)

www.takeshi-1222.com

  • 温湿度センサ (複数)

www.takeshi-1222.com

  • CO2センサ

www.takeshi-1222.com

 

ESP32, サーボモータの簡単な説明

ESP32

ESP32の大きな特徴はWifi, Bluetoothを搭載しているところです。そのうえでArduinoよりも安価に購入でき、ArduinoコードやC++などいくつかの言語の互換性があります。そのため、1つのマイコンでいろいろなことを試したい方には大変おすすめなマイコンです。

サーボモータ

サーボモータはDCモータの中でも角度制御ができるモータです。

これがあることでロボットアームなど、角度を指定する必要があるロボットを作ることができるようになります。また、その他のデバイスに対しても、角度を指定して動かせるようになり、移動ロボットとの組み合わせでも有効的に使うことができるようになります。

実験構成

 今回の実験に使用する部品は以下のものです。
  • ESP32
  • サーボモータ (SG90)
  • ジャンパ線多数

ESP32、サーボモータは上記のものを使用しています。

 

ジャンパ線は何を使用してもいいですが、一応リンクを張っておきます。(メスメスのみで配線可能です)

実験

ESP32のセットアップや自動書き込み機能の実装に関してはこちらの記事を参考にしてください。

www.takeshi-1222.com

配線

まず配線は以下のようにします。

f:id:bamboomush:20210106171437p:plain

配線ができると以下のような画像のようになります。

f:id:bamboomush:20210106171510j:plain

実行コード

ここまで出来たら以下のコードを実行することで動作確認ができます。

#include <Servo.h>

Servo myservo; //Servoオブジェクトを作成

void setup() {
  myservo.attach(13); //13ピンにサーボ制御線(オレンジ)を接続
}

void loop() {
  myservo.write(180); //180度へ回転 
  delay(1000);
  myservo.write(0); //元に戻る
  delay(1000);
}

上記のソースコードでは、モータを正負方向に180度繰り返し動かすプログラムを実装しています。実際には、これを用いて、ロボットの制御をしたり、IoT機器の制御をしたりします。

まとめ

今回は、ESP32でサーボモータを動かすために必要なものの紹介と、サンプルプログラムの紹介をしました。