感圧センサーで、「もぐらたたきみたいな(?)ゲーム」を作ってみた:アイデア・ハック!! Arduinoで遊ぼう(10)(1/3 ページ)
頭の中のアイデアを「Arduino(アルドゥイーノ)」で実現!! 筆者と一緒にモノづくりの喜びや難しさを体験・体感してみよう。連載第10回では「感圧センサー」を使って、もぐらたたき風のゲームを作る!
本連載を開始してから、大阪日本橋の電子部品屋さんに行く機会が増えました。今は、ネット通販で何でも買いそろえることのできる時代ですが、実際にお店で電子部品を手に取りながら買い物するのはやはり楽しいものです。
商品棚を眺めていると、筆者にはよく分からない電子部品がたくさん陳列されています。また、スイッチやLEDのような一度は扱ったことのある部品であっても、種類が豊富にあり、「うーん。一体、何を基準に選べばいいんだ?」と、いろいろな疑問や新たな興味がわいてきます。
そうです。店を訪れるたびに、「これは何だ?」「何ができるのか?」「こんなことに使えないか?」など、想像力が刺激されるのです。“知らない世界に潜り込んだような気持ち”とでもいいましょうか。いつもドキドキ、ワクワクしながら次のテーマに使えそうな電子部品を探し求めています。
さて、そんな中から今回題材として用いることにしたのは「感圧センサー」です。これも「どうやって使うものなのかな?」と興味を持った電子部品の1つだったりします。
感圧センサーとLEDでゲームを作る
購入した感圧センサーは、長細いフィルムのような形状をしています。感圧センサーというぐらいですから、“圧力を感じる”センサーなんだろうということは、容易に想像できます。調べてみると、どうやらこの感圧センサーは、触る位置によって圧力が変わって、どこを触っているのかが分かるもののようです。
この感圧センサー、一体どんな場面で使われるセンサーなのでしょうか? 筆者が思い付いたのは「オタマトーン」くらいです(笑)。他にどんな用途があるのかイマイチ思い付きませんでしたが、筆者はこれを使って「もぐらたたきみたいな(?)ゲーム」を作ってみようと思います! じゃじゃーん(画像1)。
LEDがランダムに光り、光った位置に応じて感圧センサーにタッチ! 正しく触れたかどうかの判定を、ブザー音で行います。さらに、ディスプレイを取り付けて、スコアや残り時間を表示するとゲーム度がアップするでしょう。
ブレッドボードで回路を組もう
それでは、今回使用する部品を紹介します(画像2、表1)。
今回、初めて取り扱う感圧センサーですが、仕組みは「可変抵抗器(=ポテンショメータ)」と同じなんだそうです(画像3)。可変抵抗器は、連載第5回で「フルカラーLED調光ランプ」を作った時に使いましたね。
フルカラーLED調光ランプの時に使った可変抵抗器は、いわゆる「ボリューム」と呼ばれるものでした。足が3本あって、両端の足を5VとGNDにつなぎ、真ん中の足はアナログピンに接続しました。ボリュームは、5VとGNDの間に長い抵抗体があって、その抵抗体のどこかに真ん中の足が接触するとその値を取得できます。
今回使用する感圧センサーは、5VとGNDの間にある長い抵抗体が“目に見えて、指で触れられる”のです。つまり、どこにも触れていないときは値を取得できず、逆に、どこかに触れていると値を取得できます。「analogRead()」で取得したセンサー値は、0〜1024の値を示しました。
この感圧センサーは、コネクタのピッチがブレッドボードと同じなので、そのまま使うこともできます。しかし、今回はゲームに利用するので、センサーの置き場を考慮しなくてはなりません。そこで、筆者はケーブルをはんだ付けすることにしました。
ところが、筆者はここで大きな失敗をやらかしてしまいました……。
先端のピンの部分よりも、フィルムの太い箇所の方がはんだ付けしやすそうだったので、その部分をはんだ付けしました。で、シリアルモニターにセンサー値を表示するテストプログラムを作って、計測値を確認してみたところ、どう見てもノイズしか入ってこない! うぅ、これは……。
そうです。原因は、最初のはんだ付けです! 感圧センサーは、2枚のフィルムの間にセンサーや電線が入っています。このフィルム部分は“熱に弱く”、加熱するとすぐに内部のケーブルが“剥離”してしまうとか……。トホホ。
この状況を見かねた友人が、「フィルムを削ってケーブルを直結させたら動くかもよ」と試してくれましたが……。結果はダメでした。こんな初歩的なミスで2500円の部品を買い直しです。いやー、これはキツかった(泣)。
はんだ付けする際は、コネクタの先に付けるのはもちろんのこと、コテを当てる時間もできるだけ短時間でやりましょう!
それでは、ブレッドボード上で回路を作成してみましょう。回路図と部品配置図を以下に示します(画像4、画像5、画像6、画像7)。
Copyright © ITmedia, Inc. All Rights Reserved.