通過型フォトインタラプタの使い方 [Arduino]
この「フォトインタラプタ」は山(発光素子)と山(受光素子)の間に、光を遮る物体があるかを検出をします。
物体がない状態は「導通」。紙などを挟むと導通しません。

使用部品・材料
総額で約290円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
通過型フォトインタラプタ CNZ1023(ON1023) | ¥20 | 秋月電子の通販コード(P-09668) |
カーボン抵抗器 | 数円 | 220Ω(1個)、300kΩ(1個)を使用。 |
配線図

次の2枚は公式データシートより引用(CNZ1023(ON1023).pdf)


1 | Anode |
2 | Cathode |
3 | Collector |
4 | Emitter |
このピン配置表は裏面です。また、回路図の抵抗値はプルダウンで50ΩになっていますがArduinoでは220Ωです。
Arduinoの電源は5V(V)。データシートに記載されている順方向電圧(DC Forward Voltage/VF)は1.25V。電流(DC Forward Current)は20mA(IF)ですのでオームの法則で187.5Ωになります
※誤差などがあるので220Ωを使用しています。
Arduino UNOのデジタル入力(digitalRead関数)でHIGHになる条件は3V以上ですので、RLの抵抗値は300kΩとしています。(多少前後してもOK)
RLの抵抗値を変更する場合はアナログ入力(analogRead関数)で615以上(3 ÷ 5 × 1024 )になる抵抗値を使用すればOKです。
スケッチ(プログラム)
シリアルモニターに導通結果を表示します。
void setup() { Serial.begin(9600); pinMode(8,INPUT); } void loop() { if (digitalRead(8) == HIGH){ Serial.println("導通しました。"); }else{ Serial.println("導通していません。"); } delay(1000); }
実行例

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