スタックチャン M5GoBottom版のファームウェアについて

 スタックチャン M5GoBottom版のArduinoIDEでのファームウェアを紹介します。robo8080さんの作った”あたる”と”RAMちゃん”も動かすことが可能です。※本家スタックチャンModdableのファームウェアも動くそうです。

動作確認済みファームウェア

 M5GoBottom版は下記のファームウェアで動作確認しました。

ArduinoIDE

Moddable

 私はまだ未確認なのですが、動いたという情報がありました。

動作確認した環境【ArduinoIDE】

 2022/1/9現在、ボード(esp32またはM5Stack)や一部のライブラリを最新にするとビルドできないので注意してください。バージョンを指定してインストールする必要があります。赤字で補足があるものは注意してください。

共通

stack-chan-tester

  • Arduino-esp32
    v2.0.2で動作確認しました。特にバージョンによる不具合は無さそうです。

M5Core2_SG90_StackChan_VoiceText_Ataru

ArduinoIDEでのビルド方法

 ArduinoIDEのインストール方法は初心者向けM5Stack Core2の始め方(ArduinoIDE編)を参照してください。

ボードマネージャーのバージョン指定の仕方(初心者向けにM5Stackのリポジトリで説明しますがarduino-esp32 v2.0.0でも可能です。)

①追加のボードマネージャーのURLは下記で設定してください。

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

 

②ボードマネージャーを開く

 ArduinoIDEのメニューから「ツール」→「ボード」→「ボードマネージャー…」を選択し、ボードマネージャーを開きます。

③ボードのインストール

  1. タイプ全ての右にある検索をフィルタ…というところに「M5Stack」と入力します。
  2. M5Stack by M5Stack officialという欄が表示されます。
  3. ▼を押して「2.0.0」を選んだあとインストールを押します。
  4. 「閉じる」を押します。

ライブラリのインストール

①ライブラリマネージャーを開く

 ArduinoIDEのメニューから「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理…」でライブラリマネージャーを開きます。

②ライブラリを検索してインストール

  • M5Core2かM5Stackを検索(使うCoreによって異なります。)
  • ESP32Servo
  • ServoEasing
    ※ ServoEasingはバージョン指定で「バージョン2.4.0」を選んでください。
  • ESP8266Audio
    ※ ESP8266Audioだけバージョン指定で「バージョン1.9.3」を選びます。

 

ソースのダウンロード

 ソースはGitHubからZip形式でダウンロードした後、ドキュメント\Arduinoフォルダに解凍してください。(もしくは直接git cloneでも可能)

M5Core2_SG90_StackChan_VoiceText_AtaruのM5Stack-Avatarライブラリの変更方法

 ※ 2022/9/26の最新版では不要になりました。

 M5Stack-Avatarをライブラリマネージャーでインストールした後、ドキュメント\libraries\M5Stack_Avatar\srcにあるファイルを編集します。変更箇所はReadme.mdを参照してください。

  • Avatar.cpp
    getGazeという関数を追加します。
  • Avatar.h
    getGazeという関数定義を追加します。
  • DrawContext.h
    色の設定をデフォルトのモノクロ(1)から8bitカラー(8)に変更します。

サーボのピンについて

 サーボのピンは組み立て方によって変わります。下記のようになるのでプログラムを書き換えてください。

  • GPIO
    今回の記事ではM5Stack Core2 for AWSIoT EduKitのPort.C(G13,G14)で説明します。他のM5Stackやスタックチャン基板は下記のように接続してください。
    • スタックチャン基板(Ver.1.1)
      • Core1
        G5,G2
      • Core2
        G27,G19
    • Port.A
      • Core1・Fire(内部I2Cと共有)
        G21,G22
      • Core2(外部I2Cと共有)
        G32,G33
    • Port.B(片側がINPUTのみなので1つしか使えません。)
      • Core1・Fire・Core2共通
        G26,G36(INPUTのみ)
    • Port.C(FireはPSRAMと競合するため使用不可)
      • Core1
        G16,G17
      • Core2
        G13,G14
  • 開始角度
    初期化したときにこの角度まで一気に動きます。(※ここはスムースにはできません。)スタックチャンを組み立てる時に初期位置を90°にしてから組み立てましょう。

サーボの調整

 SG90は個体差があり90°の位置がぴったり合わない場合があります。その場合ソースの90という箇所を微調整して変更して調整を行います。(例えば87など)

問い合わせについて

 うまく動かない場合は、Twitterやメールにて問い合わせしてください。その際下記の情報があるとスムーズに対応できます。

  • 表示されているエラーメッセージ
    • コンパイル時にerrorと書いてある行が写っている画面のハードコピー
  • 使用しているArduino-IDEのバージョン
    Arduino-IDE 1.8.16といったバージョン番号
  • ボードマネージャーのバージョン
    ESP32もしくはM5Stackのバージョン
  • 使用しているライブラリのバージョン
    「動作確認した環境【ArduinoIDE】」で示したライブラリのバージョン

おわりに

 あとは、サンプルを参考にご自分で改造して自由に動かすことが可能です。記事内で不明な点がありましたらコメントやTwitter、メールでご連絡ください。

更新履歴

  • 2022/9/26 M5Core2_SG90_StackChan_VoiceText_Ataruのバージョンアップに伴い、修正
  • 2022/5/6 M5Unified対応のため修正
  • 2022/1/9 新規作成

コメントを残す

メールアドレスが公開されることはありません。