MENU

※このプロジェクトはIchigoJamでBASICプログラミングができる方を対象にしています。

用意する物

  • カタパルト
  • 紙飛行機など飛ばしたいもの
  • 単三電池×2本
  • IchigoJam一式(本体、ディスプレイ、キーボード、電源)
  • ジャンパー線(オス-メス4本)

配線

IchigoJamをカタパルトにジャンパー線で写真のように取り付けます。ジャンパー線はオスーメスタイプを使います。

カタパルト   IchigoJam
信号1     OUT2
GND       GND
信号2     OUT3
GND       GND

※写真はカタパルトとの接続を表しています。実際にはこれ以外にキーボード、ディスプレイ、電源のケーブルが接続されます。

プログラム

準備

カタパルトには2つのサーボがついています。1つはカタパルトの角度を上下に変えるため、もう1つは伸ばした輪ゴムの力を解放する引き金の役割をします。

キーボードの「↑」キーを押すとカタパルトが上がり、「↓」キーを押すと下がるようにします。
キーボードの「スペース」キーを押すと、飛行機が発射されるようにします。

カタパルトの角度を変えるサーボは、OUT3、引き金になるサーボはOUT2の端子につながっています。

サーボの角度を変えるには「PWM」命令を使います。
PWM[OUT端子],[回る量]という書式になります。
OUT端子は2~5のどれかを使います。
[回る量]が50のときサーボが水平(0度)、100のときサーボが45度、150のときサーボが90度になります。
例えばOUT3に接続したサーボを水平にしたければ、
PWM3,50
とプログラムします。

最初はカタパルトの角度を0度、引き金は立てておくので90度にします。

メインの処理

100~200行がメインループで、動いている間はこの中をぐるぐる回っています。
110行目は、「スペース」キーが押されたら発射する処理で、3000行目のサブルーチンへ飛びます。
120行目は「↑」キーが押されたらカタパルトを45度まで上げる処理で、1000行目に飛びます。
130行目は「↓」キーが押されたらカタパルトを水平にする処理で、2000行目に飛びます。

カタパルトを上げる処理を以下のようにします。
カタパルトの角度は1020行目のPWM3,AのAの値で決まりますので、これをFOR~NEXTループで50(水平)から1ずつ増やしています。
1030行目のWAIT6は上げるスピードの調整用です。6を好みの数に変えてみてください。


下げる処理は以下のようになります。PWM3,AのAの値を、100(45度)から1ずつ減らすことになります。

サーボが上がりきったら、「スペース」キーを押すと発射します。引き金のサーボが0度になり、輪ゴムが外れて紙飛行機が発射されます。
発射したらWAIT60で1秒待ってから、引き金を90度に戻してあげます。

遊び方

・IchigoJamを上記のようにプログラムします。
・カタパルトに単三電池2本を入れます。
・カタパルトの電源スイッチをオンにします。
・輪ゴム2本とも、引き金のサーボにひっかけます。
・紙飛行機をカタパルトに乗せます。
・前に人や動物がいないことを確かめてください。
・「↑」キーを押してカタパルトを上げます。キーは1秒くらい押してみてください。短いと反応しないことがあり、長いと動きを何度も繰り返してしまいます。
・「スペース」キーを押して発射します。

もっと楽しくしてみよう

プログラムを変えてもっと面白くしてみましょう。たとえば、
・カタパルトの上下のときに内蔵のLEDが点滅するようにする。
・発射の警告にスピーカーから音が出るようにする。
・キーを長押ししても、同じ動作を繰り返さないようにする。

紙飛行機の形や材料も工夫してみましょう。

飛んだ距離を競争したり、的あてをするなどやってみましょう。