解説~赤外線リモコン(送信編1
MEDIO write:
続いて送信編その1.
信号フォーマットは昨日書いた通りですが、受信は38kHzのキャリアを受光モジュールが処理してくれます。それでは送信は....というと、専用ICでなければ自前で、となります。
自作記事では別に発振回路を用意したり、ソフトウェアウェイトで(無理やり)というのが多い気がします。(もちろん私の知っている範囲)
ただ、回路規模を大きく(私が、アナログ的な回路を組むのが面倒なだけですが)したり、別の処理で割り込みをかけるとタイミングがずれる点が嫌なので、別の方法をとります。
まずキャリアの38kHzですが、AVRのPWMを使用します。いつもの内蔵RCで8MHz発振で、Timer0を高速PWMモード、OCR0Aを210、OCR0Bを70にするとDuty33%の38kHz信号を発生することが出来ます。割り込み処理も必要なく、プログラムの負荷はありません。
実際のデータはTimer1を560uS(Prescale1/256辺り)で割り込みさせて以下の様に処理すれば良いと思います。(負論理)
リーダーコード 16回L 8回H
データ1 1回L 3回H
データ0 1回L 1回H
リピートコード 16回L 4回H
フレームスペースは、リーダコード開始から192割り込みまで(108mS)
回路としては外部にロジック....なんて事をせず、PWM出力を赤外線LEDのアノード、データ出力をカソードに接続します。これでデータ出力がLになると38kHzでLEDが光ります。
※LEDの逆耐電圧が5V以上あるならこれでOKです。(電流制限抵抗が1本のみ)心配なら直列にDを入れましょう。
前に作った、赤外線リモコン・コンバータ(受信したリモコンのコードを、別のコードに変換して再送信)は上記回路に受信モジュールだけ(全部で、Tiny2313、受信モジュール、赤外線LED、抵抗1本)で出来ています。
| 固定リンク | 0
「電子回路」カテゴリの記事
- ラズベリーのパイが無ければ…バナナのパイを食べてみる(2023.01.29)
- ラズベリーのパイが無いのでパインを食してみた(2023.01.28)
- ラズベリーのパイが無ければパインを食べればいいじゃない(2022.12.19)
- Beagle Bone Black(Green)のOSをビルドしてみる(Debian Bullseye)(2022.11.17)
- 現時点でのRaspberry PiのBluetooth Audio状況(2022.10.22)
コメント