※このプロジェクトはScratch3を使ったことがある人を対象にしています。
用意する物
- カタパルト
- 紙飛行機など飛ばしたいもの
- 単三電池×2本
- AkaDakoボード
- USBケーブル
- Groveケーブル
配線
AkaDakoボードの「デジタルB」とカタパルトをGroveケーブルで写真のように取り付けます。
AkaDakoボードとパソコンをUSBケーブルで接続します。
プログラム
準備
カタパルトには2つのサーボがついています。1つはカタパルトの角度を上下に変えるため、もう1つは伸ばした輪ゴムの力を解放する引き金の役割をします。
カタパルトの角度を変えるサーボは、AkaDakoボードの「デジタルB2」、引き金になるサーボは「デジタルB1」の端子につながっています。
キーボードの「↑」キーを押すとカタパルトが上がり、「↓」キーを押すと下がるようにします。
キーボードの「スペース」キーを押すと、飛行機が発射されるようにします。
AkaDakoボードのプログラミングはScratchの独自拡張版の「Xcratch」(エクスクラッチ)を使います。(ふつうのScratchでは使えません。)
下記のリンクをクリックしてXcratchを開いてください。
※現在AkaDakoボードはChromeブラウザのみ対応しています。
https://xcratch.github.io/editor/#https://tfabworks.github.io/w/basic.sb3
Xcratchのブロックパレットの「AkaDako」に、必要なブロックが含まれています。
最初に「ボードを接続する」処理が必要なので、「緑の旗が押されたとき」にボードを接続するようにします。
つぎに、引き金のサーボ「デジタルB1」を90度に、カタパルトの角度のサーボ「デジタルB2」を0度にします。
さらに、カタパルトをゆっくり上げ下げさせるために、「サーボモーターの角度」という変数を作って、最初は0にしておきます。
メインの処理
「↑」キーをを押すと、カタパルトがゆっくり上がるようにします。
「サーボモーターの角度」という変数を作り、角度の値を1ずつ大きくして、角度=45になるまでサーボの角度を変えていきます。
「↓」キーを押すと、カタパルトがゆっくり下がるようにします。
現在の角度から、角度=0になるまで-1ずつ変えていきます。
「スペース」キーを押すと、飛行機が発射されるようにします。
引き金用のサーボを0度にするとゴムがはずれて飛行機が発射されます。
1秒待ってからサーボを90度にもどします。
※XcratrchはふつうのScratchと違って、作ったプログラムがクラウドに保存されません。プログラムを変更したあとは、必ず「ファイル」メニューから「コンピュータに保存する」をクリックして、名前をつけてパソコンの中に保存してください。
遊び方
・Xcratchを上記のようにプログラムします。
・カタパルトに単三電池2本を入れます。
・カタパルトの電源スイッチをオンにします。
・輪ゴム2本とも、引き金のサーボにひっかけます。
・紙飛行機をカタパルトに乗せます。
・前に人や動物がいないことを確かめてください。
・緑の旗をクリックします。
・「↑」キーを押すとカタパルトの傾きが45度になります。
・「スペース」キーを押すと発射されます。
・「↓」キーを押すとカタパルトが元の位置に戻ります。
もっと楽しくしてみよう
プログラムを変えてもっと面白くしてみましょう。たとえば、
・発射の前に音声合成で秒読みするようにする。
・発射前に警告音が鳴るようにする。
・ビデオモーションセンサーで、手を動かすと発射するようにする。
・スプライトを動かすとカタパルトの角度が変わるようにする。
紙飛行機の形や材料も工夫してみましょう。
飛んだ距離を競争したり、的あてをするなどやってみましょう。
Xcratchは他の拡張機能を追加することもできます。
例として、Scratchで機械学習ができる「ML2Scratch」を追加してみましょう。
ブロックパレットの左下にある拡張機能ボタンをクリックします。
「拡張機能を選ぶ」の画面で「拡張機能を読み込む」のアイコンをクリックします。
「拡張機能のURLを入力」に
https://champierre.github.io/ml2scratch/ml2scratch.mjs
を入力して「OK」をクリックします。
ML2Scratchのブロックが追加されます。
使い方は下のリンクを参照してください。
https://github.com/champierre/ml2scratch