Foopingのアイコン画像
Fooping 2023年07月01日作成 (2023年07月01日更新) © MIT
セットアップや使用方法 セットアップや使用方法 閲覧数 2166
Fooping 2023年07月01日作成 (2023年07月01日更新) © MIT セットアップや使用方法 セットアップや使用方法 閲覧数 2166

M5ATOM S3で手っ取り早くサーボモータSG90を動かす(半田付け不要)

M5ATOM S3で手っ取り早くサーボモータSG90を動かす(半田付け不要)

概要

M5 ATOM S3を使ってサーボモータを手っ取り早く動かす方法を紹介します。
はんだづけ、工具不要です。

M5 ATOM S3とは
https://www.switch-science.com/products/8670

必要なもの

キャプションを入力できます

ArduinoIDE バージョン:2.1.0

ArduinoIDE開発環境はセットアップはセットアップ済みであることを前提とします。参考記事↓
https://invisiblepotato.com/arduino00/

ボードマネージャーの設定

ArduinoIDE > 基本設定 を開き、以下のURLを追加のボードマネージャに設定します。

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

キャプションを入力できます

M5Stackボードを追加

ツール > ボードマネージャ からM5Stackをインストールします。
キャプションを入力できます

ライブラリの追加

ツール > ライブラリを管理 からライブラリを追加します。
M5Unified、ESP32Servoを検索してインストールします。

キャプションを入力できます
キャプションを入力できます

接続

図を参考にATOM S3とサーボモータを接続します。サーボモータを接続する配線の色に気をつけてください。茶色がGND(G)、赤が電源(V)オレンジが信号(S)です。

キャプションを入力できます

スケッチを作成する

ファイル > 新規スケッチ から新しいスケッチを作成して以下のソースをコピペしてください。
(初期で表示されているソースは消してください)

ボタン(ATOMS3の画面)を押すとサーボモータが180°回転するプログラム

#include <M5Unified.h> #include <ESP32Servo.h> Servo servo1; // サーボオブジェクト作成 int servo1Pin = 2; //ピンG2を指定 // サーボモータ設定 int minUs = 500; int maxUs = 2400; //サーボモータ角度 int pos = 0; void setup() { // M5Stack初期設定用の構造体を代入 auto cfg = M5.config(); // M5デバイスの初期化 M5.begin(cfg); //サーボモータ初期化 servo1.setPeriodHertz(50); servo1.attach(servo1Pin, minUs, maxUs); } void loop() { M5.update(); //ボタンを押した時の動作 if (M5.BtnA.wasPressed()) { //サーボモータを0-180°まで1°ずつスイープする。 for (pos = 0; pos <= 180; pos += 1) { servo1.write(pos); delay(2); } } //ボタンを離した時の動作 if (M5.BtnA.wasReleased()) { //サーボモータを180°-0°まで1°ずつスイープする。 for (pos = 180; pos >= 0; pos -= 1) { servo1.write(pos); delay(2); } } delay(1); }

書き込む

ArduinoIDE上部のプルダウンバーからボード(M5Stack-ATOMS3)を選択します。
キャプションを入力できます
認識しない場合はUSBドライバが必要かもしれません。
https://docs.m5stack.com/en/download
https://www.koki.muhen.jp/archives/2075

書き込みボタン(→)を押す。書き込めたら完成です。
キャプションを入力できます

動作を確認する

M5 ATOM S3の画面を押し込むとサーボモータが180°回転します。
回転しない場合は接続が正しいか確認してください。

補足

M5Unifiedを使用しているので、int servo1Pin = 2;を変更すれば
他のM5Stackシリーズでも動くはずです。この記事の構成ではG2を使用しています。
キャプションを入力できます

1
Foopingのアイコン画像
愛知県のちくわ好きなエンジニア
ログインしてコメントを投稿する