赤外線送受信の実験赤外線送受信の実験 赤外線送信機と赤外線受信をそれぞれPICを使って製作. 開発環境はC言語(HI-TECH PICC-LITE). 赤外線は通常38kHzで変調されているので,まずはLEDを13マイクロ秒ごとにON-OFFするプログラム作成.10回点減した後に10回分の待ち時間を入れた.(ただし,プログラムは動けばいい程度のレベル) ![]() 実験回路はこの通り.中央左が赤外線LED,右が受信機. ![]() オシロスコープで波形の観測.上がLEDの発光波形.下が受信機の出力波形. 発振周波数は38kHzより低くなっている.これは,処理時間が13マイクロ秒の待ち時間と比べて無視できない程度であるため.待ち時間を減じて周波数を調整できるが,受信できているので微調整は省略. ![]() 次にパルス幅変調による多チャンネル化を考える.簡単化してデジタル2チャンネルの送信. プログラムは次の通り,ポートAから2チャンネル分のデジタル値を入力し,パルス幅を変えて2チャンネル分を順に出力する.その後十分なインターバルを入れてある. ![]() 実験した回路.スイッチ2つを並べて配置している.スイッチはプルアップされ,押すとLレベル,離すとHレベルが入力される. ![]() 2チャンネル分の波形.スイッチを押さない場合は2チャンネルともパルス幅は同じ. ![]() 片方のスイッチを押したところ,2チャンネル目のパルス幅が短くなっている. ![]() この信号を受信するプログラムと回路を作成.プログラムは次の通り. Hレベルが続くインターバルを検出した後,パルス幅をカウントしてHレベルかLレベルかを判断する.2チャンネル分読み取った後,ポートBに出力する. ![]() 実験回路の写真.左のPICで作られた信号が赤外線LEDで送られ,受信機で受信された信号がPICで解析され,2チャンネル分の送受信を行う. 左側のスイッチを押した時,受信回路の左のLEDが消灯(負論理のため). ![]() 右のスイッチを押した時,右のLEDが消灯. ![]() デジタル2チャンネル送受信の動画. --追記-- Cのソースはあまり参考にしないでください.動けばいい,程度のものです. BASICとアセンブラ世代なので,Cでちゃんとしたプログラムは組んだことありません. また,Cのソースとコンパイル結果の関係からソースの記述を工夫する必要がありそうです. ジャンル別一覧
人気のクチコミテーマ
|