[No.19]センサとLEDをたくさん使いたい!

Inquiry-Based Study

今回は、ちょっとレベルアップをして、早押しゲームづくりに挑戦します! これまでは、LEDパネルやセンサーなどを1個ずつしか使いませんでしたが、もっとたくさん使い、プログラムもちょっとレベルアップ。この記事では、SPACEBLOCKでどうやったらたくさんのセンサなどを同時に接続して使うことができるのか、そのつなぎ方と、ゲームの装置を作るところまでを紹介します! ゲーム用のプログラムは次回記事をチェックしてくださいね。

Elementary School ~ Advanced 105分
今回作る早押しゲームはこんな感じ。パネルに表示されたのと同じ色のボタンを押せるかチャレンジ!!

必要なもの&準備

※ブレッドボードはSPACEBLOCK公式サイトでは販売していませんが、電子工作の材料としてさまざまなショップで購入できます。

上段左から:SPACEBLOCK通常パッケージ、LEDパネル、下段左から: 障害物回避センサ、圧電スピーカー、ブレッドボード

SPACEBLOCKに拡張パーツを接続する

まずは、今回使用する障害物回避センサ3個、LEDパネル2個、圧電スピーカー1個をSPACEBLOCKに接続してみましょう。それぞれに接続しなければいけないジャンパーワイヤが複数あります。本数とその役割を確認してみましょう。
圧電スピーカー以外のジャパーワイヤは取り外しできるので、ワイヤの色は選び方で異なります
  • LEDパネル(ワイヤ3本):5Vの電源/GND/信号のやりとり
  • 障害物回避センサ(ワイヤ3本):3〜5Vの電源/GND/信号のやりとり
  • 圧電スピーカー(ワイヤ2本):GND/信号のやりとり

※GND(グランド)は、プラスからマイナスに電気が流れていくマイナスの側で、電気の通り道を作るのに必要です。
※圧電スピーカーは、信号のやりとりと同じワイヤからの給電で動作します。

それぞれ接続しなければいけないワイヤがある一方、SPACEBLOCKのピンソケットには、GNDと電源供給(5V、3.3V)の数に限りがあります。SPACEBLOCKのピンソケットの役割を確認しておきましょう。

GNDが3箇所、5Vが2箇所、3.3Vが1箇所ある。A、B、Cで始まるピンソケットは信号のやりとりなどに使用する。

このままでは、全てのパーツを接続できません。そこで、ブレッドボードを使って、接続できるピンソケットを拡張します。ブレッドボードというのは電子工作で手軽に回路を作るためのものです。今回、5Vの電源とGNDを拡張するのに使用します。

ブレッドボード。使用するのは1個。今回は、左側に示した赤い枠で囲ったプラス、マイナス部分を使う。右側にグリーンで示した部分が、それぞれ内部でつながっている。

まず、SPACEBLOCKの「5V」のピンソケットと、ブレッドボードの「+」の列、と「GND」のピンソケットと「−」の列をジャンパーワイヤで接続します。これで、ブレッドボードの同じ「+」の列はすべて「5V」のピンソケットとして、「−」の列はすべて「GND」のピンソケットとして使えるようになります。

SPACEBLOCKとブレッドボードをつないだところ。ブレッドボードは上部の2列だけを使用

続いて、SPACEBLOCKに直接接続できるパーツを接続します。LEDパネル1個と、圧電スピーカーを接続します。

LEDパネル1個と圧電スピーカーはSPACEBLOCKに直接接続

続いて、残りのLEDパネル1個と、障害物回避センサ3個をつなぎます。GNDと電源のジャンパーワイヤはブレッドボードにつなぎ、信号のやりとり用のワイヤはSPACEBLOCKのピンソケットにつなぎます。

全てのパーツを接続した図。ブレッドボードに差すワイヤは、間を空けずに左寄せに詰めても構わない

図で見るとすっきりしていますが、実際に接続した写真がこちらです。だいぶごちゃごちゃしていてちょっとびっくりしてしまうかもしれませんね! でも上の図のようにひとつひとつ確認して差していけば大丈夫です。

接続の全体像。装置を作りやすいように、長めにジャンパーワイヤで延長している。それぞれどのピンソケットに差しているのかメモしておく
SPACEBLOCKとブレッドボードのアップ。抜けやすいので適宜マスキングテープで補強した

拡張パーツの動作を確認

いったんここまでできたら、正しく接続できているかどうか、LEDパネル、圧電スピーカー、障害物回避センサの動作を確認しておきましょう。

各パーツの信号をやりとりするワイヤを接続したピンソケットの番号を確認しながら、接続テスト用のプログラムを動かしてみましょう。

LEDパネル

  • LEDパネル❶→A10
  • LEDパネル❷→B10

[確認プログラム例]

SPACEBLOCKのボタンPA8、PA9を押すとそれぞれLEDパネルが点灯するプログラム

圧電スピーカー

  • 圧電スピーカー→A0

[確認プログラム例]

SPACEBLOCKのボタンPA8を押すとスピーカーから1秒音が出るプログラム

障害物回避センサ

  • 障害物回避センサ❶→A1
  • 障害物回避センサ❷→A2
  • 障害物回避センサ❸→A3

[確認プログラム例]

障害物回避センサに手をかざすとLEDパネル❶がそれぞれの色に点灯するプログラム

障害物回避センサの仕組みと反応距離の調整の仕方は以下のリンクから確認してください。


「障害物回避センサ」の解説と調整の仕方はこちら!

動作しなければ接続がどこか間違っています。ゲーム装置を作ったりプログラミングをしたりする前に、正しく接続できているかを確認しておきましょう。

ゲーム装置の材料としくみ

次は、ゲーム装置を作ります。必要な材料は、段ボールなどの丈夫な箱と、プラスチックカップ、割りピン、輪ゴム、色紙(赤、緑、青)です。蓋つきの箱だと作業がしやすく便利です。
プラスチックカップは透明の同じもの3個でもOK

これらの材料で、押すボタンを作ります。まず、仕組みを説明しましょう。次の図の通り、段ボール箱にプラスチックカップよりひと回り小さい穴を空け、カップが下から上方向に押しつけられるように、割りピンと輪ゴムで固定します。箱の中には障害物回避センサをセットし、ボタンを押し込むとカップの端がセンサの反応範囲に届き、センサが反応します。

ボタンの仕組み。工作で押し込めるボタンを作り、センサーで押したかどうかを判定する

ゲーム装置を作ろう:工作部分

カップには4箇所に穴を空けて……、
輪ゴムを通します。
輪ゴムの長さを調節して結び目を作って、抜けないようにして……
箱に、プラスチックカップが高さ半分くらいはまる直径の丸い穴をあけます。円の周囲に割りピンを4箇所つけます。
箱の内側から輪ゴムをつけたプラスチックカップをあてて、輪ゴムの端を表側に出します。
プラスチックカップの底には色紙を貼ります。透明のプラスチックカップでも、ここで色をつけられるので問題ありません。
箱の表側に出した輪ゴムの端を割りピンに引っかけます。適度な弾力で上に引っ張られるよう、輪ゴムの長さを調節しましょう。
3色分同じように作って3色のボタンが完成です!
こんな風に手で押して、適度な弾力があることを確かめましょう。
ボタンの動きを動画でご覧ください。

ゲーム装置を作ろう:SPACEBLOCKをセット

ここまでは普通の工作ですが、いよいよSPACEBLOCKを工作に組み込んでいきます。箱の中に、必要なパーツ類を接続済みのSPACEBLOCKを一式入れて、3つのボタンが押し込まれる位置に合わせて障害物回避センサを立てて固定します。
障害物回避センサは上向きに設置

障害物回避センサのセンサ部分の近くに何かがあるとセンサが反応してしまうので設置するときに気をつける

障害物回避センサを設置する高さは、箱の高さとプラスチックカップの沈み込みの深さに合わせて調整してください。押していない状態ではセンサが反応せず、押し込んだときだけ反応するように、反応距離を調整します。

 「障害物回避センサ」の解説と調整の仕方はこちら!


距離の調整をするときは軽い力で動く範囲で回す。センサをSPACEBLOCKにつないで電源が入っていれば、ライトの点灯状況で障害物を検出しているかどうか確認できる

さらに、LEDパネルは箱の外側に出して、ボードに貼り付けて設置します。

これでゲーム装置の完成です。

チェック用プログラムで動作を確認!

完成した装置を、以下のプログラムでテストしてみましょう。赤いボタンを押したら、LEDパネル❶が赤に、青のボタンを押したら青に、緑のボタンを押したら緑に光り、音が鳴ります
テストしたところを動画でご覧ください。
これで、プログラムで制御できるカラーボタンとLEDパネル、スピーカーの装置が完成しました。押した色が表示されるだけでも、なんだかちょっとうれしいですね。それでは次回、いよいよゲームのプログラムを作っていきましょう!