※このプロジェクトはM5StickCをArduino IDEでプログラミングできる方を対象にしています。
用意する物
- カタパルト
- 紙飛行機など飛ばしたいもの
- 単三電池×2本
- M5StickC
- USBケーブル
- Groveケーブル
配線
M5StickCをカタパルトにGroveケーブルで写真のように取り付けます。
プログラム
準備
ArduinoIDEのライブラリマネージャーで、M5StickCでサーボを動かすライブラリをインストールしておきます。ここでは「ServoESP32」を使用しました。既に類似のものがインストールされている場合は必要ありません。
カタパルトには2つのサーボがついています。1つはカタパルトの角度を上下に変えるため、もう1つは伸ばした輪ゴムの力を解放する引き金の役割をします。
M5StickCのボタンA(正面)とボタンB(側面)で、2つのサーボを動かせるようにプログラムします。
カタパルトの角度を変えるサーボは、M5StickCのG32端子、引き金になるサーボはG33の端子につながっていますので、setupは次のようにプログラムします。
最初はカタパルトの角度を0度、引き金は立てておくので90度にします。動作中の警告用に内蔵のLEDを使用します。M5StickCのLEDはHIGHを指定すると消灯するので注意しましょう。
メインの処理
loop内にボタンA、Bを押したときの処理を記述します。
ボタンAを押すとカタパルトの角度が45度に上がって発射し、ボタンBを押すと0度にもどるようにします。
カタパルトを上下する処理を以下のようにします。ゆっくり上下するようにサーボを1度動かすごとに100msの遅延を入れます。同じ間隔で内蔵LEDを点滅させます。
サーボが上がりきると発射します。引き金のサーボが0度になり、輪ゴムが外れて紙飛行機が発射されます!
発射したら1秒待ってから、引き金を90度に戻してあげます。
※サンプルのプログラムは下のリンクからダウンロードできます。
Catapalt-M5StickC
遊び方
・M5StickCを上記のようにプログラムします。
・カタパルトに単三電池2本を入れます。
・カタパルトの電源スイッチをオンにします。
・輪ゴム2本とも、引き金のサーボにひっかけます。
・紙飛行機をカタパルトに乗せます。
・前に人や動物がいないことを確かめてください。
・M5StickCのボタンAを押すと、カタパルトの傾きが45度になり、発射されます。
・ボタンBを押すと、カタパルトがゆっくり元の位置に戻ります。
もっと楽しくしてみよう
プログラムを変えてもっと面白くしてみましょう。たとえば、
・カタパルトの角度がディスプレイに表示されるようにする。
・発射まで秒読みがディスプレイに表示されるようにする。
・スピーカーHATを使って音が出るようにする。
・WifiやBluetoothでリモコンができるようにする。
紙飛行機の形や材料も工夫してみましょう。
飛んだ距離を競争したり、的あてをするなどやってみましょう。