光通信のデジタル変調の基礎「振幅偏移変調(ASK)」を試す:空間伝送で学ぶ光通信入門(2)(2/2 ページ)
光通信の基礎から応用までを紹介する本連載。第2回は、デジタル変調の基礎に当たる、最も基本的な振幅変調の方式である振幅偏移変調(ASK)を用いた光通信によるアルファベットの符号送信の実験を行う。
受信ユニット
図2に、受信ユニットの構成を示します。
図3に、FT232RL USBシリアル変換モジュールのピン配列を示します。
図4に、赤外線受信モジュールの外観を示します。
図4の赤外線受信モジュールの一番左側にある1番ピンは出力です。図3のFT232RLモジュールの赤枠で囲んだRXDに接続します。
赤外線受信モジュールの一番右側にある3番ピンを、FT232RLモジュールの赤枠で囲んだVCCと接続することで電力を供給できます。そして、赤外線受信モジュールのグランドに当たる中央の2番ピンは、FT232RLモジュールの赤枠で囲んだGNDと接続します。
送信ユニット
図5に、送信ユニットの回路を示します。
D4に接続していたキーがなくなっていること以外は同じなので、前回の記事をご参照ください。
ASKで変調してアルファベットの符号を送信するプログラム
リスト1に、Arduino nanoのマイコンにより送信ユニットからASKで変調してアルファベットの符号を送信させるためのプログラムを示します。
1:void on(int num){
2: for(int i = 0; i < num; i++) {
3: PORTD |= 8;
4: delayMicroseconds(9);
5: PORTD &= ~8;
6: delayMicroseconds(17);
7: }
8:}
10: void setup(){
11: pinMode(3, OUTPUT);
12: }
14:void loop(){
//1000-0010 0x41 'A'
//0111-1101
17: on(32);
18: delayMicroseconds((17+9)*32); //0
19: on(32*5); //11111
20: delayMicroseconds((17+9)*32); //0
21: on(32); //1
22: delay(200);
23: }
1行目は、送信ユニットの赤外線LEDからONの信号を送出する関数です。引数にONの信号を生成する際、キャリア(38kHzの搬送波)を何度繰り返すかを指定します。一般的に、家庭用の赤外線リモコンの場合32となります。1ビットは搬送波32個分となります。
3〜6行目は搬送波を生成するコードとなります。搬送波のパルスはデューティ比が50%ではありません。搬送波の波形は山が9μsに対して谷が17μsと谷の時間が山に比べて2倍近く長くなっています。
11行のsetup関数ではD3ピンを出力に設定しています。
14行目からはloop()関数になります。ここでASCIIコードの「A」の符号を送出しています。上位ビットから送出されますが最初の15行目はスタートビットです。1文字送り終えると200msの間をおきます。これを繰り返します。
実験
送信ユニットと受信ユニットを対面に置き、受信ユニットをUSBケーブルでPCに接続します。そうすると、PC側のTeraTermの画面で、「A」の文字が一定間隔で表示されるのを確認できました。
おわりに
ASKは、光通信に用いられるデジタル変調方式の中では最も基本的なものと言えます。他のより高度な変調方式もASKが基準になっている場合もあります。次回以降もさまざまな変調方式を用いて光通信に挑戦してみたいと思います。お楽しみに。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「空間伝送で学ぶ光通信入門」バックナンバー
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
光通信入門事始め――古代の人々ののろしと同じように光で信号を送ってみよう
光通信の基礎から応用までを紹介する本連載。第1回は、古代の人々が使っていたのろしと同じように光で信号を送る実験を行う。
USBシリアル変換モジュールが必要なら、代わりにArduinoを使えばいいじゃない
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、USBシリアル変換モジュールの代わりに、Arduinoに搭載されているシリアル変換チップを単独で使う方法を紹介する。
忘年会に最適!? 使い捨てライターで離れた場所にあるLEDを点灯するガジェット
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、忘年会シーズンにぴったりの、使い捨てライターで離れた場所にあるLEDを点灯するガジェット「リモートキャンドル」を紹介する。
「コイル」は受動素子ナンバーワンの不思議ちゃん
今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラム。第13回は、受動素子ナンバーワンの不思議ちゃんである「コイル」を紹介する。



