通過型フォトインタラプタの使い方 [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・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
この記事を書いた人
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
プチモンテ代表、アーティスト名:プチモンテ | |
🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~ |
オリジナル曲を始めました✨
YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte