フォトリフレクタを使ってみる(LBR-127HLD)

はじめに

 今回はフォトリフレクタを使って、二つの回路を試してみました。以前使ったフォトカプラとよく似ていて、同じような回路ですが、フォトリフレクタにはセンサーとしての使い方があります。

▼フォトリフレクタ

▼以前の記事はこちら

フォトカプラを使ってみる(TLP627)

 今回はフォトカプラを使ってみました。フォトカプラは回路を絶縁するために使います。モーターのように大電流を使う回路と、制御用の回路を絶縁しておくと、マイコンを…

今回使ったフォトリフレクタは秋月電子通商で扱われているものです。

(商品ページはこちら→https://akizukidenshi.com/catalog/g/gP-04500/

他の部品はいつも使っているArduinoのスターターキットを使っています。

フォトリフレクタについて

 フォトリフレクタについての簡単な説明だけしておきます。

 フォトリフレクタには赤外線発光ダイオードフォトトランジスタが内蔵されています。フォトトランジスタは、赤外線を受光すると導通します。赤外線発光ダイオードがむき出しになっていて、赤外線を物体に反射させるので、センサーとしても使えるわけです。フォトカプラは赤外線発光ダイオードがむき出しになっていません。

▼だいたいこんな感じ

 物体によっては赤外線が反射しないので、黒い線に沿って走るライントレーサーなどに使われていたりします。

 ちなみに白色の印刷用紙、指、いつも使っている黒色のアクリル板、透明のアクリル板、白色のプラ板は反射しました。アクリル板系は反射しない色だと思っていたのですが、これは光沢のあるアクリル板だからかもしれません。いろいろと試す必要がありそうです。

一つ目の回路

 この回路では、フォトリフレクタの出力側の電圧を測っています。フォトカプラのときと同じような回路ですが、プログラムは少し変わっていて、digitalRead関数ではなくanalogRead関数を使って電圧を測っています。

▼実際の回路はこちら

▼プログラムはこちら

//Arduino Nano
int value = 0;

void setup() {
  pinMode(A0, INPUT);
  Serial.begin(9600);
}

void loop() {
  value = analogRead(A0)*5/1023;
  Serial.println(value);
  delay(1000);
}

 analogRead関数は指定したピンの電圧を数値化するのですが、Nanoであれば5Vが1024分割されて0~1023になります。そのため、1~5Vの表示になるように1023で割って5を掛けています。

詳しくは公式リファレンスをご覧ください。(https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/

▼実際のシリアルモニターの表示。この表示だけだと味気ないですね…

二つ目の回路

 この回路では、フォトリフレクタで物体を検出するとLEDが光るようになっています。マイコンを挿していますがプログラムは使っていないので、電力供給ができれば不要です。

 LEDを2つ点灯させる回路にフォトトランジスタが入っただけの、非常に単純な回路です。物体の距離によってLEDの明るさが変わるので、視覚的にも分かりやすいです。フォトトランジスタを使ってみたい方には、こちらの回路をお勧めします。

▼実際の回路はこちら

 

▼八つ折した印刷用紙を近づけた様子。印刷用紙を折っていない状態だと弱々しく光っていました。

まとめ

 動作確認はできたのですが、どこに使おうかなという感じですね。透明のアクリル板で透過するなら非接触のスイッチになりそうだなと思っていたのですが、反射してしまいました。それこそライントレーサーでも作りましょうか。

 ちなみに、屋外でセンサーとして使うときは注意が必要です。太陽光に赤外線も含まれているからです。これは以前チームで製作したときに検討したことで、屋外での障害物検知には超音波センサーを使いました。本当は使えるかどうか試したいところですが、他の部品を巻き込んで壊しかねないのでやめておきます…


趣味的ロボット研究所をもっと見る

購読すると最新の投稿がメールで送信されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です