modalsoul’s blog

これは“失敗”と呼べるかもしれないが、ぼくは“学習体験”と呼びたい

M5Atom LiteでSG90互換サーボを操作する

M5Atom LiteでSG90互換サーボモータを使ったときのメモ

モノ

ライブラリ

www.arduino.cc

コード

GPIOは21、制御パルスは500μs~2250μs、中立位置は1500μs

中立位置からスタートして、最大〜最小を往復する

#include <M5Atom.h>
#include <ESP32Servo.h>
Servo servo;

int pmin = 750;
int pmax = 2250;
int p = 1500;
int pd = 2;

void setup() {
  M5.begin();
  servo.setPeriodHertz(50);
  servo.attach(21, pmin, pmax);
}

void loop() {  
  servo.write(p);
  Serial.printf("p = %d\n", p);

  p += pd;
  if (p > pmax) {
    p = pmax;
    pd = -pd;
  } else if (pmin > p) {
    p = pmin;
    pd = -pd;
  }

  delay(10);
}