Fooping が 2023年07月01日15時28分18秒 に編集
コメント無し
タイトルの変更
M5ATOM S3で手っ取り早くサーボモータSG90を動かす
M5ATOM S3で手っ取り早くサーボモータSG90を動かす(半田付け不要)
本文の変更
## 概要 M5 ATOM S3を使ってサーボモータを手っ取り早く動かす方法を紹介します。
はんだづけ、工具不要です。
++M5 ATOM S3とは https://www.switch-science.com/products/8670++ ## 必要なもの  - M5 ATOM S3 https://ssci.to/8670 - サーボモータsg90 https://akizukidenshi.com/catalog/g/gM-08761/ - Groveケーブル https://ssci.to/798 - Grove -サーボ 変換コネクタ https://ssci.to/6922 - USBケーブル (Type-C) - パソコン 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)です。  ## スケッチを作成する ファイル > 新規スケッチ から新しいスケッチを作成して以下のソースをコピペしてください。 (初期で表示されているソースは消してください) ```arduino:ボタン(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を使用しています。 