このたび、筆者もStampFly を購入しました。StampFlyユーザ向けの情報を更新していきます。
できるだけ正確な情報にしようと思います。
StampFly について
M5Stack社が発売したホビー用ドローンです。あわせて AtomJoytstickを購入すると、コントローラとして 利用できます。
サイズ感は 107×107×30mm で 手のひらに収まるサイズです。提供されているプログラムが良くできており、簡単に飛ばすことができます。
ドローンの中では 小型の部類で風に煽られます。屋内でのフライトを楽しみましょう。
プログラムは オープンソースGitHub上で公開されているので、プログラムをいじって遊ぶこともできます。 https://github.com/m5stack/M5StampFly (githubリンク)
スタートアップについて(入手してから飛ばすまで)
購入してすぐに遊べるのですが、StampFlyについて理解が必要です。
各所でスタートアップ向けの情報が点在していましたので 情報をまとめます。
スタートアップ情報
①バッテリーの取り付け方法:https://www.switch-science.com/blogs/magazine/stampfly-tips
②ソフトウェアの書き込み方法:https://docs.m5stack.com/ja/guide/hobby_kit/stampfly/stamply_firmware
製品情報
・M5Stack社 商品ページ: https://docs.m5stack.com/ja/app/Stamp%20Fly
・Switch Science 商品ページ:https://www.switch-science.com/products/9818
①では バッテリーの取り付け方法が詳しく載っています。また 初めての飛ばし方について解説が載っています。
②では ソフトウェアの書き込み手順が載っています。プログラムが違うと挙動が違ってきます。入手したらプログラムを書き換えることをお勧めします。
リモコンのコマンドについて(リモコン→機体)
リモコン(Atom Joystick)のコマンドを調べました。デフォルトの操作方法を示します。(※デフォルトはモード3のようです。)
操作 | 名称 | 動作 |
左スティックの上下 | スロットル | 機体の上昇/下降 |
左スティックの左右 | ラダー | 機体旋回(反時計回り/時計回り) |
右スティックの上下 | エレベータ | 機体の前後移動 |
右スティックの左右 | エルロン | 機体の左右移動 |
AtomS3画面の押し込みボタン | アーミング | 機体の離陸/着陸 or (ARMING) |
右スティックの中央押し込みボタン | フリップ | 機体のアクション(フリップ動作)の実行 |
機体操作をする上で知っておきたいのは、「スロットル」「ラダー」「エレベータ」「エルロン」の4つで空中を自由に移動させることができます。
ハードウェアについて
StampFlyはドローン用汎用部品を使った設計になっています。ハードウェア破損時や改造時に必要になると思いますので、まとめてみました。
M5Stack公式からは言及ありませんが、BetaFPVに交換部品があると思います。
※BetaFPVのHP https://betafpv.com/
部品名 | 型番やスペック | 備考 |
バッテリー | BetaFPV 300mAh 75C(特注) | StampFlyやAtom Joystickに同梱しているバッテリーは特注だそうです。 参考までに 筆者はBataFPV 300mAh 75C品のバッテリーを買い足しましたが、問題なく飛んでいます。 |
モーター | 0716 (シャフト径0.8mm) | シャフト径は0.8mmです。プロペラを買う際に注意です。 |
プロペラ | 1220 (サイズ31mm 穴0.8mm) | 穴1.0mmも出回っている。要注意。 |
ドローンフレーム | 不明 | おそらくBetaFPVのフレームだと推測しています。 |
Atom Joystick の送信データ
マニアック情報ですが、Atom Joystickの送信データもまとめました。
プログラムをいじりたい方は参考にどうぞ。
送信データ一覧 | 信号 | 意味 |
senddata[0] | (uint8_t) peer_addr[3] | 機体のMACアドレス確認用 |
senddata[1] | (uint8_t) peer_addr[4] | 機体のMACアドレス確認用 |
senddata[2] | (uint8_t) peer_addr[5] | 機体のMACアドレス確認用 |
senddata[3],senddata[4],senddata[5],senddata[6] | (float) Psi(ψ) | 機体旋回(ヨー/ラダー)の信号 |
senddata[7],senddata[8],senddata[9],senddata[10] | (float) スロットル | 機体上昇下降の信号 |
senddata[11],senddata[12],senddata[13],senddata[14] | (float) Phi(φ) | 機体左右(ロール/エルロン)の信号 |
senddata[15],senddata[16],senddata[17],senddata[18] | (float) Theta(θ) | 機体前後(ピッチ/エレベーター)の信号 |
senddata[19] | (uint8_t) auto_up_down_status | ARMING信号 離陸/着陸 |
senddata[20] | (uint8_t) FlipBottom | フリップアクション実行信号 |
senddata[21] | (uint8_t) Mode | ANGLECONTROL/RATECONTROL 切り替え |
senddata[22] | (uint8_t) AltMode | ALT_COTROL_MODE/NON_ALT_CONTROL_MODE 切り替え |
senddata[23] | (uint8_t) proactive_flag | ? |
senddata[24] | (uint8_t) checksum | チェックサム(通信確認用) |
まとめ
今回は StampFly の情報についてまとめました。
筆者もプログラムをいじっていきたいなと思います。
追加情報あれば随時更新していきます。