はじめに
M5GoでServo Kit 180'を駆動させた記録です。サーボのドライバには、M5Stack用8chサーボドライバユニットを使っています。
サーボ駆動の方法
以下のサイトで、緑色の「<>code」をクリックしてDownload ZIPを実行します。
ダウンロードしたら、Arduino IDEの「スケッチ」-「ライブラリをインクルード」-「.ZIP形式のライブラリをインストール」を実行します。そして、先ほどダウンロードしたファイルを指定して、ライブラリをインストールします。
次いで、zipファイル中のexamples\SERVO-CTLのフォルダをArduinoのファイルの保管場所にコピーします。そして、その中に入っているSERVO_CTLをArduinoIDEで開き、必要に応じて編集します。今回は次のように表示機能を省略した内容に変更しました。
#include "M5_UNIT_8SERVO.h"
M5_UNIT_8SERVO unit_8servo;
void setup() {
while (!unit_8servo.begin(&Wire, 21, 22, M5_UNIT_8SERVO_DEFAULT_ADDR)) {
Serial.println("extio Connect Error");
delay(100);
}
unit_8servo.setAllPinMode(SERVO_CTL_MODE);
}
void loop() {
for (uint8_t deg = 0; deg <= 180; deg += 20) {
unit_8servo.setServoAngle(0, deg);
unit_8servo.setServoAngle(1, 180-deg);
vTaskDelay(500);
delay(100);
}
}
このプログラムでは、0と1チャンネルのサーボモータの回転角を制御するので、8chサーボドライバユニットの0と1チャンネルにサーボモータを接続する回路を次のように作成しました。
開発環境
マイコンボード:M5GO Ver.2.7
ボード情報:M5Stack by M5Stack, ver. 2.1.0
Ardiono IDE:ver. 2.2.1
OS:Windows11