ハードウェア
IchigoJamで距離センサーを使ってみよう!
shimizu
今回は、IchigoJamに距離センサーを繋げて、情報を読み取る方法をご紹介します。距離センサーは、超音波や赤外線を出し、反射して返ってきたものを測ることで、センサーの前方にある対象物との距離を検出することができます。身近な場面でも、車両の衝突防止や、自動ドア・照明の作動、トイレでの自動洗浄など、物体を検出するための部品として数多く活躍しています。
センサー情報の読み取り方
以前の記事では、IchigoJamでの読み取り方式として
- デジタル入出力(0 or 1。GPIOとも呼ばれる)
- アナログ入力(電圧0V〜3.3Vの入力が、0~1023の値として取り出せる)
- I2C(複数のデバイスとデータを送受できる)
の3つを挙げました。今回使用するセンサーは、「2. アナログ入力」の方式が利用できるようになっています。
作ってみた
用意するものは以下のとおりです。
- IchigoJam
- 距離センサー GP2Y0A21YKF6
- 距離センサー接続用ケーブル(販売元により、センサー本体に付属している場合もあります)
実際に使ってみた
距離センサーをIchigoJamに接続します。接続用ケーブルで、それぞれ以下のように結線します。センサー側のピン配列は、受発光口を正面に見た状態で、左からVO、GND、VCCとなっています。
センサー IchigoJam +-----+ +-----+ | Vcc |====| 5V | | GND |====| GND | | Vo |====| IN2 | +-----+ +-----+
接続できたら、センサーからの測定値を読み取ってみましょう。IchigoJamの電源を入れ、以下のプログラムを入力して、RUNで実行します。
10 ?ANA(2):WAIT 5:GOTO 10
するとセンサーの値が流れて表示されます。センサーの正面に手をかざして、近付けたり遠ざけたりすると、表示される数値が変化することが分かります。
「ANA(2)」は、アナログ入力に対応したIN2端子の入力電圧に応じて、0から1023までの数値を返してくれる命令です。今回は、センサーが検知した距離に応じて、遠ければ小さい数値、近ければ大きい数値が返ってきます。
応用してみた
距離センサーの応用例として、IchigoJamの開発者である福野さんが作成した「かわくだりゲーム」を改造して、手振りで操作できるようにしてみました。
5 'カワクダリゲーム(キョリセンサーバージョン) 10 CLS 20 LC RND(32),23:?"*" 23 X=ANA(2)/33 24 LC X,0:?"O" 30 WAIT 5:SCROLL UP 35 IF SCR(X,0)!=0 END 40 GOTO 20
元のプログラムでは左右キーで自機を操作していましたが、その代わりに23行目で距離センサーからの計測値を元にX座標を決めています。実際にやってみると、最初は思ったところに移動させるのがなかなか難しい気がしますが、慣れてくると結構うまく操作できるようになり、一発ネタとしてはなかなか楽しいゲームになりました(笑)
動作している様子を動画で見るにはこちら。
おわりに
今回は距離センサーの紹介と、使い方について見てきました。
遠隔での監視用途など幅広い目的に使えることから、様々なIoTアプリケーションにも使えそうです。新しいアイディアを実現するためのキーデバイスになるかもしれませんね。