Scrattinoを使ったイライラ棒ゲーム
Scrattinoを使ったイライラ棒ゲームの作り方を紹介します。 これは先のMaker Faire Tokyo 2012に出展したときにScrattinoの作例として展示したモノです。展示するので誰もが簡単に遊べるモノで、なおかつ仕組みがわかりやすいように気をつけてつくりました。
どのようなゲームか?
イライラ棒ゲームは電子回路とスクラッチのプロジェクトでつくられています。イライラ棒の回路がScrattinoを介してスクラッチにつながっていて、 スクラッチでつくった画面に風船が表示されています。
遊ぶ様子はこちら。
スタートスイッチを離すと風船がふくらみはじめます。風船がふくらむにしたがって点数が100点から1秒毎にカウントダウンして、0点になったら失敗です。輪っかをレールに触れないようにゴールへ向かって動かして、風船がふくらみきる前にゴールにたどり着き、ゴールボタンを押します。輪っかがレールに触れるとLEDが光り、振動モーターが震えて、その間は風船が通常より速くふくらんで点数が速く減ります。
スクラッチのプロジェクト
スクラッチのプロジェクトはこちらです。ウェブ上ではScrattinoと接続できないので、ダウンロードして使ってください。
ダウンロード: Scrattino-iraira-02.sb
棒が触ったときにLEDを光らせるという重要な部分のスクリプトは次のように書きました。
Scrattinoを使うと初期設定ではArduinoのアナログインプットがa0からa5のセンサー値として、デジタルアウトプットが d0-d13の変数として利用できるようになります。デジタルアウトプットはScrattino側の設定の変更でインプットにしたり、PWMにしたり、サーボモーターにしたりと自由に変更できます。
ここでは初期設定のまま使っているので、「d2を1にする」とするとArduinoのd2端子に電圧が5vかかることになります。a0の値はレールや棒に使っている針金の素材によって変化するので、実際に針金を接触させたり離したりして接触判定の値を決めてください。ここではa0端子の値が40以下の時に「触った」と判定してd2の電圧を上げるという動きになります。
電子回路
イライラ棒の電子回路部はこうなりました。
配線部分はこんな感じです。
回路図はこうなります。(振動モーターは省略しています。付ける時はLEDと並列につなぎます。)
レールがプルアップ回路になっているのは棒をつなぐ導線を少なくするためです。こうするとLEDと同じマイナス(GND)の導線を棒の輪っかに共用することが出来ます。スタート/ストップスイッチはプルダウン回路になっています。
抵抗の値は適当で良いのですが、だいたいこのくらいを使っています。R0: 1kΩ、R1: 10kΩ、R2: 10kΩ
部品の配置はこのようになります。
スイッチなどの実際の部品の大きさなどによって配線は適宜変更してください。
材料・道具
- パーソナルコンピュータ × 1台
ScratchもScrattinoもSqueak上につくられているので、Windows, Mac, LinuxのどのOSでも動きます。 - Arduino × 1個
Scrattinoで制御するためにStandart Firmataスケッチをアップロードしておきます。 - アルミの針金 数十cm
電気を通す素材で、曲げやすくてブレッドボードに刺しやすい針金を選びます。
今回は100円ショップのキャンドゥで売っていたアルミの針金を使いました。 - マイクロスイッチ × 2個
なるべく軽く押すことのできるスイッチを使いました。
例: オムロン D2F-L@千石電商 - 抵抗
1kΩ × 1個
10kΩ × 2個 - LED × 1個
LEDの性能にしたがって電流低減のための抵抗を入れてください。大きな電流がかかっても焼き切れないモノを使うと取り扱いが楽です。
例: 超高輝度5mm赤色LED OSHR5161A-QR@秋月電子通商 - ブレッドボード × 1個
レールを支えるので大きめの方が良いです。 - ジャンパーコード
Arduino-ブレッドボード間の配線に短いオスーオス線を5本と、棒の部分をつなぐための30cmほどの長めのオスーメス線を2本。 - ジャンパーワイヤ × 数本
ブレッドボード上の配線に使います。
最近のコメント