学生がESP32で「自動制御の滑空機」を飛ばした記録|WiFi混線でハマった話と、切れても動く設計
「マイコンで"飛ぶもの"を制御する」なんて、最初は自分にできるのか半信半疑だった。
でも、ESP32 を使って自動制御の滑空機の通信をやってみたら、ちゃんと飛んだ。この記事は、その記録と、本番で WiFi が混線して沼にハマった話、そして無線で機体を飛ばすなら外せない「通信が切れても動く設計」を忖度なしでまとめたものだ。マイコンで"通信するもの"を作ってみたい人の参考にしてほしい。
何を作ったか:滑空機 × ESP32 の双方向通信
滑空機の内部に ESP32 を積んで、地上のPCと WiFi で双方向に通信させた。
機体 → 地上:センサや姿勢のデータを送り、PCの GUI でリアルタイムに見る(テレメトリ)。
地上 → 機体:制御のゲインをその場で調整して送る。
ESP32 は WiFi と Bluetooth を1チップに内蔵していて、小さくて安い。"飛ぶもの"に載せる通信役として、ちょうどいい選択だった。
一番ハマった:他チームのブロードキャストで「混線」
本番の会場では、他のチームも一斉に WiFi で飛ばしていた。すると通信が混線して、うちの機体がうまく受信できない。最初は原因がまったく分からず、とても手間取った。
解決策は、受信側にも MAC(相手のMACアドレス)を設定して、狙った相手とだけ通信するようにすることだった。電波が飛び交う本番環境では、「誰と通信するか」を明示してやるのが効く——これは、家の実験机では気づけない実戦の学びだった。
通信は「切れる前提」で設計する
うまく飛んだとはいえ、WiFi は常に安定するわけではない。だから大事なのは、通信が途切れても機体が(安全側に)ちゃんと動く設計=フェイルセーフだ。
「繋がっている前提」で作ると、切れた瞬間に制御を失う。無線で"飛ぶもの"を動かすなら、切断は起きるものとして最初から設計に織り込んでおく必要がある。
つまずき/これから触る人へ
本番の電波は混む:MAC の指定やチャンネルは最初から考える。
WiFi は切れる:フェイルセーフは必須。
基板選び:安いクローン基板は CH340 チップでドライバが面倒なことがある。純正(CP2102)のほうが素直で、入門は詰まりにくい。
まとめ
ESP32 は安くて WiFi 内蔵、"飛ぶもの"の通信役にちょうどいい。ただし本番では混線も切断も起きる=MAC指定とフェイルセーフを最初から。それさえ押さえれば、自分の作った機体が飛んで、手元の GUI にデータが返ってくる感動が待っている。滑空機は、ちゃんと飛んだ。
買い物リスト(今回使っているもの)
これからマイコンで通信するものを作りたい人へ、入り口になる一台を置いておきます。
▼ ESP32 開発ボード(純正 Espressif ESP32-DevKitC)
WiFi/Bluetooth内蔵で安く、Arduino IDE ですぐ書ける。純正はドライバも素直で、入門で詰まりにくい。
関連記事
▼ 開発デスクの道具・作例を全部まとめています
▼ 続編:機体データをブラウザにリアルタイム表示した話
このESP32を書き込んでいる相棒PCの話 → MacBook × ThinkPad 2台持ち
集中して開発するための相棒キーボード → NuPhy Kick75 レビュー
※本記事は実際に取り組んだ上での個人の記録・感想です。仕様や手順は環境により異なります。
※Amazonのアソシエイトとして、つくる人のデスクは適格販売により収入を得ています。
いいなと思ったら応援しよう!
ここまで読んでくれてありがとうございます。もし役に立ったら、次の実機購入・検証の燃料として応援いただけると嬉しいです ☕🔧
