Scrattinoを使ったイライラ棒ゲーム

Scrattinoを使ったイライラ棒ゲームの作り方を紹介します。 これは先のMaker Faire Tokyo 2012に出展したときにScrattinoの作例として展示したモノです。展示するので誰もが簡単に遊べるモノで、なおかつ仕組みがわかりやすいように気をつけてつくりました。

どのようなゲームか?

イライラ棒ゲームは電子回路とスクラッチのプロジェクトでつくられています。イライラ棒の回路がScrattinoを介してスクラッチにつながっていて、 スクラッチでつくった画面に風船が表示されています。

遊ぶ様子はこちら。

スタートスイッチを離すと風船がふくらみはじめます。風船がふくらむにしたがって点数が100点から1秒毎にカウントダウンして、0点になったら失敗です。輪っかをレールに触れないようにゴールへ向かって動かして、風船がふくらみきる前にゴールにたどり着き、ゴールボタンを押します。輪っかがレールに触れるとLEDが光り、振動モーターが震えて、その間は風船が通常より速くふくらんで点数が速く減ります。

 

スクラッチのプロジェクト

スクラッチのプロジェクトはこちらです。ウェブ上ではScrattinoと接続できないので、ダウンロードして使ってください。

ダウンロード: Scrattino-iraira-02.sb

Scratch Project
画像をクリックするとスクラッチのサイトを開きます。

 

棒が触ったときにLEDを光らせるという重要な部分のスクリプトは次のように書きました。

script
a0の値によってd2をON/OFFしている

Scrattinoを使うと初期設定ではArduinoのアナログインプットがa0からa5のセンサー値として、デジタルアウトプットが d0-d13の変数として利用できるようになります。デジタルアウトプットはScrattino側の設定の変更でインプットにしたり、PWMにしたり、サーボモーターにしたりと自由に変更できます。

ここでは初期設定のまま使っているので、「d2を1にする」とするとArduinoのd2端子に電圧が5vかかることになります。a0の値はレールや棒に使っている針金の素材によって変化するので、実際に針金を接触させたり離したりして接触判定の値を決めてください。ここではa0端子の値が40以下の時に「触った」と判定してd2の電圧を上げるという動きになります。

 

電子回路

イライラ棒の電子回路部はこうなりました。

Scrattinoで制御するイライラ棒

配線部分はこんな感じです。

アナログイン3つとデジタルアウト1つ使用

回路図はこうなります。(振動モーターは省略しています。付ける時はLEDと並列につなぎます。)

LEDには仕様にしたがった抵抗を追加してください

レールがプルアップ回路になっているのは棒をつなぐ導線を少なくするためです。こうするとLEDと同じマイナス(GND)の導線を棒の輪っかに共用することが出来ます。スタート/ストップスイッチはプルダウン回路になっています。

抵抗の値は適当で良いのですが、だいたいこのくらいを使っています。R0: 1kΩ、R1: 10kΩ、R2: 10kΩ

部品の配置はこのようになります。

LEDは棒の輪っかのそばに付けます

スイッチなどの実際の部品の大きさなどによって配線は適宜変更してください。

 

材料・道具

  • パーソナルコンピュータ × 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本。
  • ジャンパーワイヤ × 数本
    ブレッドボード上の配線に使います。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です