赤外線発光ダイオードを使って光信号を送受信する空間伝送で学ぶ光通信入門(3)(2/2 ページ)

» 2026年06月15日 07時00分 公開
[今岡通博MONOist]
前のページへ 1|2       

実験用の回路

 図3に、実験で用いる回路を示します。

図3 図3 実験用の回路

 送信側の信号発生器としてArduinoを用います。D2端子のGPIOから信号を出力し、抵抗のR1で発光ダイオードに流す電流を制限します。送信用のLED1と受信用のLED2の発光ダイオードには、1ページ目で紹介した赤外線LEDを使用します。最後に、LED2で受信した信号をオシロスコープで確認します。

 GPIOの出力はHIGHの状態で5V近く、またLOWの状態でほぼ0Vとなります。そこに発光ダイオードとの間にR1の抵抗を挟みます。値は220Ωですから、最大で23mAの電流が流れます。今回使用する発光ダイオードの仕様では最大100mAまでの電流を流せるので、結構余裕がありますね。もし最大まで赤外線の出力を上げたいのであればR1の抵抗値を50Ωに変更してください。

 リスト1は、Arduinoで信号を生成するプログラムです。

 1: // the setup function runs once when you press reset or power the board
 2: void setup() {
 3: // initialize digital pin LED_BUILTIN as an output.
 4: pinMode(LED_BUILTIN, OUTPUT);
 6: pinMode(2,OUTPUT);
 7: }
 8: 
 9: // the loop function runs over and over again forever
10: void loop() {
11:   digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
12:   digitalWrite(2,HIGH);
14:   delay(10);                         // wait for a second
15:   digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
16:   digitalWrite(2,LOW);
17:   delay(10);                         // wait for a second
18 }
リスト1 信号生成プログラム

 この信号生成プログラムは、ArduinoIDEという統合開発環境から参照できるサンプルプログラムの「Blink」に一部のコードを追加するとともに変更を加えたものです。Blinkは日本語では「Lチカ」であり、マイコン開発で最初に試す、LEDを一定間隔で点滅させるプログラムであることは皆さんご存じの通りです。今回は赤外線LEDの点滅の間隔をもっと速くします。

 元のBlinkのプログラムに追加したのが6行目のD2のモード設定です。12行目でGPIOのD2はHIGHにしており、16行目でD2をLOWにしています。他の変更箇所ですが、12行目と17行目でHIGHになる時間とLOWになる時間をそれぞれ10msにしています。元のプログラムでLEDを制御しているコードはそのまま残しています。

 なお、赤外線LEDから出る赤外線は肉眼では見えません。実際のところ、今回の信号生成プログラムのように点滅周期が10msの場合、可視光LEDであっても人間の目にはLEDが点灯し続けているようにしか見えません。

 図4に、実験を行っている様子を示します。作業用机の上で実験を行っているので汚れがお見苦しいかもしれませんが、そこは大目に見てください。

図4 図4 赤外線LEDによる光通信の空間伝送実験の様子[クリックで拡大]

 左側の白いブレッドボードにあるのが送信側で、その上に載った青い基板がArduinoです。Arduino Nanoの結構新しいバージョンなのでUSBコネクターがUSB Type-Cになっています。白いブレッドボードの右端に見えるのが赤外線LEDです。受信側の赤外線LEDにしっかりと光軸を合わせるため、仰角がずれないようにマスキングテープで止めています。1ページ目のLEDの仕様でも示した通り、半減角が15度とかなりタイトです。

 右側の黒いブレッドボードが受信側です。搭載されている赤外線LEDは受光素子として使っています。その出力は2本のジャンパー線でオシロスコープにつながっています。

 図5に、受信側のLEDの出力を観測しているオシロスコープの画面を示します。

図5 図5 オシロスコープの画面

 受信した信号は矩形波であり、波形の山と谷の間隔がそれぞれ10msになっていることが確認できますね。

おわりに

 いかがだったでしょうか。今回は赤外線LEDを用いましたが、もちろん可視光のLEDでも同様の実験ができると思います。読者の皆さんにもぜひ試してほしいところです。

 ただし、使用するLEDについては以下の点に留意していただければと思います。まず、LEDの表面に塗料が塗ってあるもの、あるいは最初から色の着いた樹脂で封入されているものは、発光はしますが受光素子には不向きです。また、白色のLEDも避けた方が良いでしょう。(次回に続く)

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR