サーボモーターを動かす 1

ESP32C3 super mini+SG90

いつか動くものを作ってみよう。

かといって何か目的があるわけでもなくどうしたもんかと思っていた。


ここで購入しておいた福袋。

この中にSG90という小さなサーボモーターが入っていた。

今回はこれを使って何かを作ってみよう。

まずは、どうやって動かすのか?

端子は3本あり、+、-、PWMということだ。

つまり、このPWMにESP32から制御信号を送ると動作を開始すると言うわけだ。

まず、ARDUINO IDE2.3.6のスケッチ例から見たのだが、C3はRISCVのためライブラリーは使えませんよ!と警告が出た。

じゃ、どのライブラリー?ESP32Servoがよいそうだ。

他にもライブラリーを使わず制御する方法もあるようだ。

制御PINはC3のGPIO3に設定した。

とにかく、動かして感覚をつかむのが大事。

 

#include <ESP32Servo.h>

Servo myservo;

void setup() {
  myservo.attach(3);  // GPIO3 にサーボ信号
}

void loop() {
  myservo.write(0);
  delay(1000);

  myservo.write(90);
  delay(1000);

  myservo.write(180);
  delay(1000);
}

 

Lチカのコードと似ているね。

これは90度ずつ動くことを繰り返すというもの。

どれくらい正確なのかな?

あ~そうか。VRに変えてやれば角度を自由に変えられる訳か。ラジコンだ。

でも、ラジコンは・・・。車とか飛行機とか船とか。

 

あと、もう一つ。流れるが電流が大きいのでサーボ用の電源はボードからではなく別電源の方がよいとあったのでブレッド用電源を使用した。

関係ないけど、サーボには180度回転するものと360度回転するものがあるのね。