SHARPの赤外線測距センサー「GP2D12」の測定値を PIC-BASIC で読み取ります。 (データシートはココからダウンロードできます。) 外光や気温によって出力Vが変化しますが、精密測定を目標としていないので一切無視して大雑把にいきます。 なお、今回の作業では PIC-BASIC活用ブック 「5-5 簡易ロジックアナライザを作る〜A/D変換機能を生かす@」を参考にさせていただきました。 ■回路 接続ケーブルにはロボット王国で売られている 「即距センサー接続ケーブル:RBSCGP」を勧めます。これを使えばピン配置を間違える事はありません。 回路図ではセンサーを正面から見た場合のピン配置で書き記しました。 PSDからの出力Vは PIC-BASIC のA/D変換用のポートにつなげます。 ここでは0チャンネルを使用しています。 電解コンデンサはベースボードからの電源にノイズ成分がのっていたので取り付けたものです。 測定結果が安定しているようなら取り付ける必要はないと思います。 ■プログラム GP2D12を使う上での注意点は2点あります。 @1回の測定に38ms±9.6msかかる Aその結果が5ms後に出力される なので『60ms間隔で数回測定したものから最大/最小を除いた値を平均して値を求める』というロジックで組んでみました。 LCDには測定値と電圧を出力します。 プログラムは変数 vcc に455を設定しています。これはベースボードからの電源供給が4.55Vだったからです。 外部電源とかで5V供給できている場合は 500 を設定しましょう。
■測定結果 PSDを立てた状態で固定して実験開始。このような結果になりました。 データシートにあるとおり、至近距離で距離とともに減ってきた値が増加に転じます。厄介ですね。
PSDの測定範囲も調べてみました。PSDの軸線上から5cm単位にずらして測定しています。 ↑はPSD上側、↓はPSD下側(コネクタのある側)を意味します。 データシートにあるとおり、PSD上側の反応が下側と比べ若干強くなっています。
|