フォトリフレクタの使い方
今回の内容
ライントレーサを作るにあたって、ラインの検知は重要です。そこで、今回はラインを検知するためにAVRとフォトリフレクタを使用し、基本的な使い方について説明します。
フォトリフレクタは光を検知する役割をするのですが、この性質を利用して黒線または白線を検知することができます。
この記事の目次
前回と次回の内容は?
前回は、ライントレーサ車体部を作成しました。
次回は、ラインを検知するためのセンサであるフォトリフレクタの使い方を説明します。モータドライバやフォトリフレクタの説明が終わり次第、ライントレーサの回路部を作製していきます。
また、ライントレーサで使用するAVRの使い方がわからない方は、合わせてAVRの環境構築と使い方もご覧ください。
ライントレーサに関する記事
使用するフォトリフレクタ
フォトリフレクタについて
フォトリフレクタとは、発光部と受光部から構成され、発光部から出る光を、検知したい物体で遮り、反射された光を受光部で受信することにより、物体を検知するセンサです。
今回は、ライントレーサが走るラインを検知するのに使います。例えばラインが黒、フィールドが白だとすると、黒は光を吸収、白は光を反射させるため、ラインとフィールドの検出をすることができます。今回使用するフォトリフレクタは、LBR-127HLDを使用します。
フォトリフレクタLBR-127HLD
今回使用するフォトリフレクタであるLBR-127HLDは、こんな感じです。結構小さいですね。 発光部と受光部が確認できると思います。 このLBR-127HLDは、発光部として、赤外線LEDが使われているので蛍光灯などの光の影響を受けにくいのが特徴です。
図1のデータシート上の「Top Viewの回路図のピン番号」と「実物(LBR-127HLD)のピン配置」は対応しています。そのため、この図でLBR-127HLDの右上のピンの番号は1となります。
フォトリフレクタの使い方
フォトリフレクタを用いた回路図
次にフォトリフレクタを使っていきます。また電源であるVccは5Vとします。回路図は、こんな感じです。このLBR-127HLDは、コレクタ側に抵抗を付けて動作させます。出力電圧は、グランド-コレクタ間の電圧とします。可変抵抗はセンサの感度を調節する役割を果たします。
本当は、コレクタ側の抵抗は可変抵抗を30k、固定抵抗10kのものを使用したかったのですが、10k以上の可変抵抗を持っていなかったため、可変抵抗10k、固定抵抗47kを使用します。
フォトリフレクタの動作確認
実際に回路を組んで、フォトリフレクタLBR-127HLDの動作を確認してみました。
フォトリフレクタに指をかざしてみると、フォトリフレクタ出力側に付けた赤LEDが光ります。ちゃんと動きましたね。
AVRとフォトリフレクタ
AVRとフォトリフレクタの連携
フォトリフレクタを入力センサとして使用し、AVRと組み合わせてみます。使用したAVRはATMega168を使用しました。動作としては、フォトリフレクタに白色の物体が遮ったことをAVRが検知し、AVRに繋いだ赤LEDが光るようにします。
早速、回路図を示します。
フォトリフレクタの出力である4番ピン(図中のVce)を、AVRのPC5に繋げます。これが入力です。
PC5には、なにもかざしていないとき(または、黒色の物体)のときはHIGHが、白色の物体をかざしたときはLOWが入力されます。
次に、PC5にLOWが入力されたとき(物体検知)、AVRのPD0に繋げた赤LEDが光るようにプログラムを組みます。プログラムとしては以下の感じ。これをAVRに書き込みます。
#include<avr/io.h> int main(void){ DDRC = 0b00000000; //portCは全て入力モード DDRD = 0b11111111; //portDは全て出力モード PORTD = 0b00000000; while(1){ //無限ループ if(bit_is_clear(PINC,PC5)){ //PC5がLOWなら PORTD = 0b00000001; //PD0をHIGHに(LED点灯) } else{ PORTD = 0b00000000; //PD0をLOWに(LED消灯) } } return 0; }
最後に、AVRに上記のプログラムを書き込み、回路を作成します。作成した回路は以下の通りです。
指をフォトリフレクタに近づけると、赤LEDが光ります。
このとき、赤LEDが光る距離(フォトトランジスタが反応する距離)はこんな感じです。実際に測ってはいませんが、1cmくらいかな。
また、指をフォトトランジスタに近づける前のVceは4.55[V]で、指を近づけた時のVceは0.192[V]でした。
<< モータドライバーの使い方へ | ライントレーサ回路部へ >> |