2013年5月19日日曜日

Scratch1.4(相当)とArduinoと光センサーで、かめはめ波測定器(仮)を作ってみた

先日、Qiitaに投稿したようにArduinoと光センサーでアナログ値を入力として得られることを確認しました。
しかし、これを見た子供の反応は薄く、3秒程度で、やっていた3DSに視線を戻していきました。「子供に電子回路の関心を持たせるにはどうしたらいいか」を考え、子ども達が触っているScratchを組み合わせる事にしました。

準備
  1. 回路
    回路に関して準備したものと、回路図はこちらと同じです。
  2. ScratchとArduinoを連携する環境(S4A)の導入
    こちらのInstallationの1-3を実行します。
    1はArduinoの開発環境ですので、Arduinoを触ってる人は、既にinstall済のはずです。
    2は、local PCの適当な場所に保存し、1のArduino開発環境でコンパイルおよびArduinoへの転送を実施します。
    3については、自分の使用しているOSのものを選択し、installします。私はMac版をinstallしました。下記の「S4A」をクリックしてアプリを起動します。


    起動後の画面は下記の通りです。Scratch1.4とほぼ同じような画面です。右側のArduinoの絵(スプライト)とAnarogx6,Digitalx2の入力値が表示されます。(まだ何も入力されていないので、適当な値が表示されています)

  3. Scratch(実際はS4A)にてプロジェクト(アプリ)の作成
    下記のような感じでブロックを並べてみました。(S4Aに含まれるブロックは、Scratchのサイト上で公開できないので、現時点では下記画像でご勘弁ください。Scratch2.0では2013年夏頃に、外部デバイス操作機能が追加予定なので、そうなれば、下記のようなアプリを公開する事ができるようになります)
    「value of Analog0」で光センサーの値を取得しています。Analog0の値の変化を読み取り、良いタイミングで期待する値になった場合に、「成功」の判定をしています。

  4. かめはめ波測定器(仮)を実行する
    実際に実行してみましょう。以後はScratchの操作方法と同じです。
    画面右上の緑の丸をクリックします。すると「かーめーはーめー」とArduinoの絵がしゃべりはじめます。(この辺りは、それっぽい絵を用意すればいいのですが、著作権の問題もあるので、横着してArduinoの絵のままとしています。w)


    「波ーーー!!」のタイミングで、光センサーに対して、かめはめ波を発射してください。(本当は、手で光センサーを隠すようにすればいいです。。。)


    タイミングとかめはめ波の勢いがあえば「成功」と表示されます。下記の例では発射タイミングが遅く失敗となってます。


以上、簡単ですが、Scratch1.4(S4A)とArduinoと光センサーを組み合わせて、センサーから取得したアナログ値をScratch上に表示する事を試してみました。
当初の目的であった「子供に電子回路に関心を持たせる。(少なくとも3秒以上の関心を引く)」については、1分程いろいろ触っていたので成功とします。

Scratch2.0では、同等の外部デバイスとの連携機能は2013年夏にリリース予定との事なので、リリースされたら、本アプリをScratchサイトにて公開したと思っています。
このエントリーをはてなブックマークに追加