Fooping が 2023年07月01日12時14分52秒 に編集
コメント無し
本文の変更
## 概要 M5 ATOM S3を使ってサーボモータを手っ取り早く動かす方法を紹介します。 ++M5 ATOM S3とは https://www.switch-science.com/products/8670++ ## 必要なもの ![キャプションを入力できます](https://camo.elchika.com/a75b06fbcad2e76c4a968c2951ec1e998988f605/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f38373635616462632d383062632d343131652d383735332d383637313037343461306531/) - 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 ![キャプションを入力できます](https://camo.elchika.com/1e27736dfd2b8d6ace61f5dfe68a8e471737cf84/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f34353763656365362d343463372d343832622d613433302d326539356435383062373634/) ## M5Stackボードを追加 ツール > ボードマネージャ からM5Stackをインストールします。 ![キャプションを入力できます](https://camo.elchika.com/1b4ac7a56e0a8bcfc60b9eca50e30728f3de0a37/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f36666334636432322d613034322d343139662d393834652d396636383662353064356435/) ## ライブラリの追加 ツール > ライブラリを管理 からライブラリを追加します。 M5Unified、ESP32Servoを検索してインストールします。 ![キャプションを入力できます](https://camo.elchika.com/af6bbed3cf481d721144e5ca4860283330e041a2/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f36376266373730652d616534622d343961392d616265652d366339623732356531393465/) ![キャプションを入力できます](https://camo.elchika.com/d55c7d25c6ae6e34a41bcc54e4caf0ad7f40506c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f35646139393736352d623562642d343764302d396637362d643737356232663535643238/) ## 接続 図を参考にATOM S3とサーボモータを接続します。サーボモータを接続する配線の色に気をつけてください。茶色がGND(G)、赤が電源(V)オレンジが信号(S)です。 ![キャプションを入力できます](https://camo.elchika.com/697cda1c1d9e3f771906b6a2bde7197b99fcbb79/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f64393166383966302d643031312d343239302d396531642d303433656336616433623066/) ## スケッチを作成する ファイル > 新規スケッチ ```arduino:ボタン(ATOMS3の画面)を押すとサーボモータが90°回転するプログラム #include <M5Unified.h> #include <ESP32Servo.h> Servo servo1; // create four servo objects int servo1Pin = 2; // Published values for SG90 servos; adjust if needed int minUs = 500; int maxUs = 2400; int pos = 0; // position in degrees int button = 0; void setup() { auto cfg = M5.config(); // M5Stack初期設定用の構造体を代入 // configを設定する場合はここで設定 // 例 // cfg.external_spk = true; M5.begin(cfg); // M5デバイスの初期化 servo1.setPeriodHertz(50); // Standard 50hz servo servo1.attach(servo1Pin, minUs, maxUs); } void loop() { M5.update(); if (M5.BtnA.wasPressed()) { for (pos = 0; pos <= 180; pos += 1) { // sweep from 0 degrees to 180 degrees // in steps of 1 degree servo1.write(pos); delay(2); // waits 20ms for the servo to reach the position } } if (M5.BtnA.wasReleased()) { for (pos = 180; pos >= 0; pos -= 1) { // sweep from 180 degrees to 0 degrees servo1.write(pos); delay(2); } } delay(1); } ``` ## 書き込む ArduinoIDE上部のプルダウンバーからボード(M5Stack-ATOMS3)を選択します。 ![キャプションを入力できます](https://camo.elchika.com/9b56725c7a7f6dc77ffad43b374be53b02e1061d/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f63323636356339342d303665372d346361322d613663652d626536363961306138663639/) ++認識しない場合はUSBドライバが必要かもしれません。 https://docs.m5stack.com/en/download https://www.koki.muhen.jp/archives/2075++ 書き込みボタン(→)を押す。書き込めたら完成です。 ![キャプションを入力できます](https://camo.elchika.com/6b33bc56f1ed8d744e22af16695ae9347b0f55a0/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f30376336353864392d326137632d343833372d623338612d613833303432613438393865/) ## 動作を確認する M5 ATOM S3の画面を押し込むとサーボモータが90°回転します。 回転しない場合は接続が正しいか確認してください。 ## 補足 M5Unifiedを使用しているので、```int servo1Pin = 2;```を変更すれば 他のM5Stackシリーズでも動くはずです。この記事の構成ではG2を使用しています。 ![キャプションを入力できます](https://camo.elchika.com/bcdf9f8c566a57c583aab4881feda48dc36aa788/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34306535643335612d306636632d343334642d393230302d6562623231383562613066622f31616339313531632d646232392d343066352d613432642d646265326263623065386162/)