Skip to content

mongonta0716/stackchan-bluetooth-simple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stackchan-bluetooth-simple

日本語 | English

概要

M5Stack-AvatarをベースにシンプルにBluetoothスピーカー機能とスタックチャンのサーボコントロール機能をつけました。 M5UnifiedのexampleであるBluetooth_with_ESP32A2DPをベースに改造しています。

開発環境

  • VSCode
  • PlatformIO

対応機種

  • M5Stack Basic/Gray/M5Go
    BasicはFlashメモリが16MBの機種のみです。

  • M5Stack Fire

  • M5Stack Core2 / Core2 for AWSIoT

必要なライブラリ

Arduino-ESP32は2.0.4(Fireのみ2.0.0)で動作確認しています。M5Stack Fireはarduino-esp32v2.0.4だと不具合があり起動しません。

詳しいバージョンについてはplatformio.iniを見てください。

コンパイル時の注意

  • M5Stack Fire V2.6/M5Stack Basic V2.6
    TFカードを使用する際にSD.begin()を20MHz以上では読み込めない事象を確認しました。15MHzに下げています。

  • M5Stack Basic V2.6
    VSCode+PlatformIOでコンパイルするときのenvはenv:m5stack-greyを選択してください。

設定

SDカードに設定用のYAMLファイルがないとデフォルト値を利用します。(PortAへサーボを接続する設定になっています。) SDカードに/yaml/SC_BasicConfig.yamlを配置すると自分の設定が利用できます。

2022/10/18にJSONからYAMLへ変更しました。JSONからYAMLへのコンバートはJSON から YAML コンバータにて可能です。
コメントの扱いが変わっているので注意してください。 2025/03/24にstackchan-arduinoライブラリを使用するように変更しました。SC_Config.yamlの内容を元にSC_BasicConfig.yamlを作成してください。

詳しくはYAMLファイルを参照してください。

設定項目

(カッコ内)は初期値

  • servo

    • pin
      • x(Core1 22, Core2 33, CoreS3 1)
        X軸のGPIOを指定(シリアルサーボの場合はRX)
      • y(Core1 21, Core2 32, CoreS3 2)
        Y軸のGPIOを指定(シリアルサーボの場合はTX)
    • offset
      サーボの軸が90°にしたときにズレを修正するパラメータ
      • x(0)
        X軸のオフセット値を設定
      • y(0)
        Y軸のオフセット値を設定
    • center
      サーボの中心位置を指定
      • x(180)
        X軸の中心位置
      • y(270)
        Y軸の中心位置
    • lower_limit
      サーボの下限値を指定
      • x(0)
        X軸の下限値
      • y(240)
        Y軸の下限値
    • upper_limit
      サーボの上限値を指定
      • x(360)
        X軸の上限値
      • y(280)
        Y軸の上限値
    • speed
      待機時とBluetoothスピーカーで音が出ているときの待機時間とサーボの移動時間を指定します。最小値と最大値で範囲を指定して、ランダムの値を使用します。
      • normal_mode
        • interval_min(3000)
        • interval_max(6000)
        • move_min(500)
        • move_max(1500)
      • sing_mode
        • interval_min(500)
        • interval_max(1000)
        • move_min(500)
        • move_max(1000)
  • bluetooth

    • device_name(M5Stack)
      Bluetoothスピーカーのデバイス名を指定します。
    • starting_state(false)
      起動時にBluetoothモードにするかどうかを指定します。
    • start_volume(100)
      Bluetoothスピーカーの初期値を設定
  • auto_power_off_time(0)
    Core2のみ。USBの電源供給がOFFになったあと設定した時間が経過すると電源OFFになります。(0は電源OFFしない)

  • balloon
    吹き出しの設定をします。

    • font_language("CN")
      フォントの言語を指定します。"JA"か"CN"、指定しないとラテンフォントを使用します。
    • lyrics
      ノーマルモード時にランダムで表示するセリフを設定します。最大10個まで。
  • led_lr(0)
    GoBottom1/2で音量に対応してLEDが光るようになります。※ソースの書き換えとコンパイルが必要。

    • 0: ステレオ
    • 1: 左の音量のみに反応
    • 2: 右の音量のみに反応
  • led_pin(15)
    LEDのGPIOピン番号を指定(GoBottom1: 15, GoBottom2: 25)

  • takao_base(false)
    Stack-chan_Takao_Baseを使用するかどうかの設定。(※現在対応しているのはCore2のみ)

  • servo_type("DYN_XL330")
    サーボの種類を指定

    • "PWM": SG90系のPWMサーボ
    • "SCS": Feetech SCS0009 シリアルサーボ
    • "DYN_XL330": Dynamixel XL330 シリアルサーボ
  • extend_config_filename("")
    アプリケーション用の設定ファイル名

  • extend_config_filesize(2048)
    機能拡張用のバッファサイズ

  • secret_config_filename("")
    個人情報用の設定ファイル名

  • secret_config_filesize(2048)
    個人情報用のバッファサイズ

  • secret_info_show(true)
    個人情報をログに出力するかどうか

使い方

  • BtnA
    Bluetoothモードに入ります。(bluetooth_mode = falseの時のみ有効)

  • BtnB
    音量を下げます。

  • BtnC
    音量を上げます。

Credit

LICENSE

MIT

Author

Takao Akaki

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages