[No.7]入力パーツを足してみよう〜人が通ったら反応する「オカエリ」装置
小さなものづくりコンピューター「SPACEBLOCK(スペースブロック)」は、いろいろなパーツを足して自分でさまざまな機能を作ることができます。続々と追加されている拡張パーツから、今回は「赤外線モーションセンサモジュール」というパーツを使って動きに反応する装置を作ります。[SPACEBLOCK-6]で作った「オカエリ」装置をアレンジしますよ。
必要なもの&準備
- SPACEBLOCK通常パッケージ[SPACEBLOCK本体、USBケーブル、電池ボックス]
- 8×8 RGB LEDマトリックスパネル(LEDパネル)
- 圧電スピーカー
- ジャンパーワイヤ[ピンヘッダ-ピンソケット3本]
- 赤外線モーションセンサモジュール(赤外線モーションセンサ)
- プログラミングをするパソコン
SPACEBLOCKに拡張パーツを接続する
細かい部分は次の図を参考にしてください。LEDパネルと圧電スピーカーは[SPACEBLOCK-6]と同じつなぎ方です。赤外線モーションセンサからは3本のワイヤが出ていますので、黄色ピンソケットの図の通りの位置に接続してください。
赤外線モーションセンサをプログラムするには?
赤外線モーションセンサは、センサから3〜4mの範囲で何かが動くと、動いたことを検知できます。何も動いていない状態か、何かが動いたのかを判定してコンピューターに情報を渡すことができますが、動いた距離や速さなどの情報は渡しません。このように「動いた」「動いていない」など2つの情報だけを渡すことをデジタル入力と呼びます。
赤外線モーションセンサは、何かが動いたと検知すると、SPACEBLOCKに挿したピンヘッダの電圧を上げることで「動いたよ」という情報を伝えます。通常動きがないときは「電圧なし」で、動きがあると「電圧あり」になります。動きがあった場合、2〜3秒経つと自動的に「電圧なし」に戻ります。
なお、今回は使いませんがプログラミングではtrue(トゥルー)とfalse(フォルス)という値を使うことがあり、デジタル入力の場合、電圧が高いときはtrue、電圧が低いときはfalseという値がプログラムに渡されます。
プログラミングには、[入力]カテゴリーの[《A0》の電圧が《上がった》]というブロックを使います。
ブロックのピンソケット名をクリックすると一覧が表示されます。赤外線モーションセンサからはジャンパーワイヤが3本出ていてワイヤの根本に「G」「V」「S」と文字がついているのでこれらを参考に3本のワイヤをつなぐ場所を判断してください。「G」のワイヤは「GND」に、「V」のワイヤは「5V」か「3.3V」に、「S」のワイヤはハイライトしている箇所のどれかに接続できます。
今回使用するのは、黄色ピンソケットの「GND」と「5V」と「B0」です。[《A0》の電圧が《上がった》]ブロックでは、ワイヤを挿したピンソケットと同じ「B0」を選択しましょう
圧電スピーカーにはジャンパーワイヤが2本しかありませんが、赤外線モーションセンサには3本あります。赤外線モーションセンサが動くためにはより高い電圧が必要なので、「5V」につないだワイヤから電気を供給しているのです。「GND」は電気の流れる先で、「B0」はデジタル情報の入力に使われます。なお、赤外線モーションセンサは「3〜5V」で動くので、「5V」の代わりに「3.3V」のピンソケットにつないでも動きます。
このプログラムを実行すると、動きを検知したら LEDに「!」が表示され、高いラの音が鳴ります。
動画で見てみましょう。
「オカエリ」電光表示を自動装置に変えよう
[ボタン(PA)]が押されたブロックを[《B0》の電圧が《上がった》]ブロックに変更すると次の通りのプログラムになります。
これで、動きに応じて「オカエリ」が流れる電光表示になりました。動画で見てみましょう。
もっと素敵な見た目にしたい!
すっきりとした白い箱の装置になりました。
人が通るなど動きを検知すると自動的に動き出します。
これで誰かが前を通るだけで自動的に「オカエリ!」と光と音で迎えてくれる装置ができました。動画で見てみましょう。
これを玄関に設置しておけば、誰もいない家に帰ってきても寂しくありませんね!!
SPACEBLOCKは、スタンドアローンモードでプログラムを転送しておけば、こんなふうにパソコンから切り離して単独で動かすことができます。100円ショップのプラスチックケースにちょっと穴をあけるだけで簡単にオリジナル装置を作ることができました。みなさんんもアイデアを膨らませていろいろな発明品を作ってみましょう!