フォトカプラ(TLP785)の使い方 [Arduino]
フォトカプラには発光素子と受光素子があり、発光素子で電気を光に変換して受光素子で受光します。これにより、2つの回路を「電気的に絶縁」する事が可能となります。※今回は4ピンDIPタイプです。

使用部品・材料
総額で約470円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
フォトカプラ TLP785(GBランク) | ¥20 | 秋月電子の通販コード(I-07554) |
カーボン抵抗器 | 数円 | 220Ω(1個)、1kΩ(1個)を使用。 |
小型クリップ付コード 5色 | ¥180 | 今回のフォトカプラはブレッドボードに刺さりますが導通しません。ですので、このクリップを使用します。(反対側はジャンパワイヤと接続)![]() 秋月電子の通販コード(C-04351) |
配線図
本来は「発光素子の1,2ピン側」と「受光素子の3,4ピン側」は異なる回路です。便宜上、同一電源を使用しています。

フォトカプラの典型的な接続方法(Wikipedeia)

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


発光側の抵抗値は次のように算出しています。(IFは16-25mA)
Arduinoの電源は5V(V)。電流(DC Forward Current)を20mA(IF)とすると、データシートに記載されている「I F - V F」のグラフ図では順方向電圧(DC Forward Voltage/VF)は1.2V。オームの法則で190Ωになります
誤差などがありますので、大きめの220Ωです。
受光側のコレクタ電流は1-10mAですので、1kΩを使用しています。
スケッチ(プログラム)
約1秒毎に発光素子に電圧をかけて電気信号を光に変換して、受光素子で受信しています。
bool vol_flg = false; void setup() { Serial.begin(9600); pinMode(7,INPUT); pinMode(8,OUTPUT); } void loop() { if(vol_flg){ digitalWrite(8,HIGH); }else{ digitalWrite(8,LOW); } delay(10); // digitalRead関数では3V以上がHIGHとなる // ※analogRead関数でも可。その場合は614.4以上がHIGHです。 if(digitalRead(7) == HIGH){ Serial.println("受光していません。"); }else{ Serial.println("発光素子から光を受光しました。"); } vol_flg = (!vol_flg); delay(1000); }
実行例

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