ENTOTSU44

IT系のことを中心に更新してます。

ESP32でサーボモータを動かしてみる。

目標

ESP32を用いてサーボモータを動かす。

環境

  • macOS Big Sur 11.3
  • Arduino IDE 1.8.13
  • ESP32 DEVKIT V1 (ESP-WROOM-32)
  • SG90

配線

機能 ESP32のPIN
オレンジ PWM 任意のGPIOピン(今回はD15)
赤色 GND GND
茶色 Vcc(4.8-5[v]) VIN

f:id:ENTOTSU44:20210502221841p:plain
esp32にSG90を接続する配線図

プログラム

SG90のライブラリをインストールする。

  1. ここから最新のSource code(zip)をダウンロードする。
  2. ダウンロードしたzipを解凍し、解凍したフォルダを/Users/<username>/Documents/Arduino/libraries/ServoESP32-1.0.3に移動させる。
  3. Arduino IDEを再起動する。
  4. インストール完了!

github.com

プログラムを書く

Arduino IDEの設定をしていない場合は下のサイト等を参考にして設定する。

entotsu44.hatenablog.com

  1. 新規ファイルに下のプログラムを書く
  2. ツール > ボード: "XXXXXXX" からDOIT ESP32 DEVKIT V1を選択する
  3. ツール > Upload Speed: "115200"にする
  4. マイコンボードに書き込む
  5. 完成!
#include <Servo.h>

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

void setup() {
  servo.attach(15); //PWMの制御線をD15以外に接続している場合はここの数字を変更する

}

void loop() {
  servo.write(20); //サーボモータの角度を20度に設定
  delay(2000); //2秒待機
  servo.write(160); //サーボモータの角度を160度に設定
  delay(2000); //2秒待機
}