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サイトにて公開したと思っています。
このエントリーをはてなブックマークに追加

2013年5月3日金曜日

Arduino x Ruby x 光センサーで電子回路作り

最近Arduinoを入手し、どのような使い方ができるか模索しています。
まずはセンサーで値を取得するところから始めたいと思います。
センサーも温度、湿度、気圧、光センサーなど様々なものがあります。こんな感じ。

今回は光センサーを使います。手を近づけると値が変わるので、手の動きで操作をする。なんて事が安価にできそうです。
今回はQiitaに投稿してみましたので、こちらをご覧下さい。


今後も、センサーとネットを使って名にができるのか、試してみたいと思います。

このエントリーをはてなブックマークに追加

2013年5月2日木曜日

なぜRubyを使っているか?

最近Rubyを使う事が少しずつ増えていますが、「なぜRubyなのか?」mindmapでまとめてみました。
結論としては「気になるツール、技術要素、トピックにアプローチするのに都合がいいから」となりました。

用途によって適切な言語を選択するのがいいのでしょうが、学習コストも高いので現実的ではありません。そういった意味でRubyは幅広い用途で利用シーンがあり、とても重宝しています。

今後はPerlは仕事でのみ利用となり、JavaScriptはiPhoneアプリ開発(TitaniumMobile)やnode.js等で利用が増えてくるのではないかと思ってます。


Make your own mind maps with Mindomo.
このエントリーをはてなブックマークに追加