連載
» 2014年05月13日 10時00分 UPDATE

Scratch 2.0で体験! お手軽フィジカルコンピューティング(4):振動センサーと連動するScratchプログラムに挑戦してみた (1/2)

Webブラウザだけでプログラム開発から実行まで行える「Scratch 2.0」を用い、センサーの接続や外部デバイスのコントロールに挑戦! 今回は、前回自作した即席「ドラムパッド」をたたくと楽器の音が出るプログラムを実践してみます。

[今岡通博,MONOist]
Scratch 2.0で体験!

 本連載は、Webブラウザ上でプログラム開発から実行までを行える「Scratch 2.0(以下、Scratch)」を用いた“フィジカルコンピューティング”入門です。電子回路があまり得意でない人でも取り組みやすい、センサーや外部デバイスと接続した作例を紹介しています。

 前回は圧電スピーカを利用した即席「ドラムパッド」を作成し、そのドラムパッドの振動をScratchのプログラムで捉えられるか、簡易オシロスコープで波形を確認しました。

 今回は、ドラムパッドをたたくと、PCから音が鳴るプログラムを作成してみましょう(図1)。

イメージ図 図1 今回作成するプログラムの構成イメージ


 本連載の第1回「Webブラウザではじめるフィジカルコンピューティング――Scratch 2.0とは?」でも少し触れましたが、Scratchのプログラムは何らかのイベントを起点に実行されます。イベントとは例えば、キーボードが押されたり、マウスが動いたりすることを意味します。

 意図した通りのイベントでスクリプトを実行させるには、センサーの感度レベルやしきい値の調整が重要です(詳細は後述します)。今後、各種センサーをマイク端子に接続した実験を紹介しますので、この機会にぜひその調整方法も習得してみましょう。

実験前の重要な調整

 Scratchは、マイク端子に入力された電気信号を音量として認識します。電気信号がある値(しきい値)を超えたときに、イベントが発生します。

 システム性能によって差はありますが、基本的に音量は1秒間に30回サンプリングされます。

 信号がしきい値よりも低い値から高い値に超える現象のことを「立ち上がり」あるいは「ライジングエッヂ」と呼びます。また、逆にしきい値よりも高い値から低い値に変化する現象を「立ち下り」あるいは「フォーリングエッジ」と呼びます。これらの言葉は電子回路の世界ではよく使われますので、覚えておくとよいでしょう。Scratchでは、音量のイベントはライジングエッジでのみ発生します。

 Scratchで音量のイベントを使うには、音量の感度レベル(ゲインあるいは利得ともいう)を適切に設定する必要があります。音量の感度レベルを上げ過ぎると、振動センサーはドラムパッドをたたいた振動ばかりでなく空気を伝わってきた音に反応したり、床から伝わってくる誰かの足音に反応したりする可能性があります。

 また逆に感度レベルが低過ぎると、ドラムパッドを思い切りたたいてもプログラムが起動しないこともあります。ですからパッドをたたいたときのみプログラムを動作させるには、その場合のみイベントが発生するように感度レベルとしきい値を適切に調整する必要があるのです。

 それでは、音量の感度レベルを調整してみましょう。今回は筆者が主に使っているWindows 7環境での例を紹介します。

レベル調整としきい値の設定

 まずはScratchで作成したオシロスコープを立ち上げ、(参照:Scratchで「簡易オシロスコープ」を作ろう!)。「カメラとマイクへのアクセス」を許可します(図2)。センサー(今回はドラムパッド)をマイク端子につなぐ前に、内蔵マイクなどでプログラムの動作を確認しておくといいでしょう。

図2 図2 カメラとマイクの許可

 次にドラムパッドをマイク端子につなぎます。鉛筆でたたいたり指ではじくと、波形に変化が現れるはずです(図3)。ここまでの動作でうまくいかなかった場合は前回までの記事を読み直して、再確認しながら作業を進めてください。

図3 図3 オシロスコープ 測定画面

 センサーの感度レベルといっても、基本的にはPCに付属しているマイクの感度レベル調整と何ら変わりません。筆者の環境では、デスクトップ下のタスクバーの右にスピーカ型のアイコンがあり、そこから調整をします。

 もしもない場合には、タスクバーに上向き三角のアイコンがありますので、それをクリックして隠れているインジケーターを表示してみましょう。その中にスピーカ型のアイコンがあるはずです。

 スピーカ型のアイコンを右クリックすると、図4のようなメニューが表示されます。メニューの中から録音デバイスを選択し、左クリックしてみましょう。すると図5のような録音デバイスが表示されます。

図4 図4 録音デバイスの選択
図5 図5 録音デバイスのプロパティ

 録音デバイスを選択すると、右下のプロパティが選択可能となります。プロパティをクリックし、レベルのタグを選択すれば図6のようにスライダーが表示されます。オシロスコープの画面を見ながらスライダーを調整しましょう。いずれも右に移動すると感度レベルは高くなります。音量は0〜100までの値を取りますが、通常で20以下、たたいたときのピークが80以上くらいに調整できればいい感じかと思います。

図6 図6 マイクレベルの調整。ここで適応ボタンを押さないと変更した値は反映しませんので、注意してください

 あとは実際にScratch側のプログラムを動かした感触で再調整が必要になるかもしれませんが、ドラムパッドの近くで咳払いや足音をさせても30を超えなければ一応は問題ありません。しきい値との兼ね合いにもなりますので、ここでは調整方法とそれらの画面の出し方だけ頭に入れておいてください。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.