赤外線 LED とフォトダイオードを使う方法
フォトダイオードを使うと、光のエネルギーを電流に換えることが可能です。 つまりフォトダイオードに光を当てると電流が流れます。
フォトダイオードも通常のダイオードと同じく、アノードとカソードがあり、二本足の長い方がアノード、 短い足がカソードです。
光を当てたときの電流の流れる向きは、下の図のオレンジ色の線の向きになります。
図で電源を接続しているのは、電流を流すための補助的な理由からです。フォトダイオードに光を当てるまでせき止められていた電流が、 光を当てることでダイオードを通り電流が流れることになります。
尚、光が当たっていない (反応の弱い波長の光しか当たっていない) 場合でも、わずかながら電流は流れていて、 それを暗電流 (ダークカレント) といいます。
Arduino との組み合わせ例
具体例として、まずはビデオをみてください。
このビデオでは、Arduino と組み合わせてフォトダイオードを利用し、障害物の検出の仕組みを作っています。
フォトダイオードの種類によって最も感度の良い波長が異なっています。 上のビデオでは 940nm の波長の赤外線への感度の高いフォトダイオードと、 同じく 940nm の IR LED (赤外線 LED) と組み合わせて使っています。
Arduino UNO で、digitalRead で入力を読み取った場合、 3V がしきい値となり、それより低い電圧の場合は LOW、それより高い電圧では HIGH となります。
電流が流れている場合、上のビデオではフォトダイオードの前後で 1.2V 程度の電圧降下があります。
このため、電流が流れている場合(つまり、障害物がなく IR LED の光が当たっている場合) は digitalRead は LOW を返します。
逆に、電流が流れていない場合(つまり、障害物があり IR LED の光が当たっていない場合) は digitalRead は HIGH を返します。
これを利用して、ブザーを鳴らしたり、ブザーを止めたりしています。