ホーム > カテゴリ > ロボット・電子工作・マイコン >

フォトリフレクタの使い方 [Arduino]

フォトリフレクタは「赤外線LED」と「フォトトランジスタ」の二つがセットになった電子部品です。主に位置を検出する「ライントレーカー」などに使用されています。

仕組みとしては、写真の右側にある透明の赤外線LEDから放出された光を「紙や壁」などに反射させて黒色のフォトトランジスタで受光します。その受光値によって出力電流が変化します。(検出距離は1mm~10mm)

フォトトランジスタの真上(1mmから10mm以内)に「黒色」の画用紙などを置くと、光が吸収されて赤外線LEDから放出された光はフォトトランジスタに届きません。

一方、「白色」の画用紙などを真上に置くと、光が反射されてフォトトランジスタに届き、ArduinoのADコンバータであるanalogRead()関数で取得する値が低くなります。

アクションanalogRead()関数の値
黒色の画用紙光を反射しないのでおよそ1000以上になる。
白色の画用紙光を反射するのでおよそ1000未満になる。
障害物なし光を反射しないのでおよそ1000以上になる。

※環境によって値は異なりますので、各自の環境に合わせてください。

使用部品・材料

総額で約320円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
フォトリフレクタ(反射タイプ)
LBR-127HLD
¥50秋月電子の通販コード(P-04500)
カーボン抵抗器数円1kΩ(1個)、220Ω(1個)を使用
画用紙任意100円ショップ(黒色と白色)

配線図

フォトリフレクタの設置方法

1アノード(長いリード)
2カソード
3エミッター(長いリード)
4コレクター

スケッチ(プログラム)

シリアルモニターに「受光値」を表示します。

void setup() {
  Serial.begin(9600);
}

void loop() {  
  int val = analogRead(A0);
  Serial.println(val);
}

抵抗値の計算

フォトリフレクタ(LBR-127HLD)に使用するカーボン抵抗器の算出です。

[LBR-127HLDのデータシート]
※次の2枚の図は公式データシート(lbr127hld.pdf)から引用しています。

この図から抵抗はRDとRLに設置します。RD(Dynamic resistance)は動作抵抗。RL(Load resistance)は負荷抵抗です。

こちらはRL(Load resistance)の表です。

RD - (1)のアノード

Arduinoの電源5V(V)。フォトリフレクタのデータシートに記載されている順方向電圧(Forward voltage/VF)は1.5V。電流を20mA(IF)にするとオームの法則で175Ωになります。

175Ω = (5V - 1.5V) / 0.020A

※今回は多めに220Ωを使用しています。

RL - (4)のコントローラー

2枚目の図を見る限り「1kΩ」が基準となります。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年05月17日 最終更新日:2017年08月20日
記事NO:02379