====== 赤外線リモコンリピータ ======
===== 概要 =====
自宅内には、多数のAV機器があります。
しかし、リモコン操作を行うときに、次のような問題が時々発生します。
* 途中に障害物があったり、
* 操作位置の角度が厳しかったり、
* 距離が離れすぎていたり、
そのためにリモコンが効かず、操作する人間側が、少し移動しなければなりません。
そこで、リモコンが送信する赤外線を、途中で中継(リピータ)することにより、これらの問題を緩和させることにしました。
<リモコンの到達距離の延長の考え方>
{{:imgpaste:202004:htmikan-20200429-111456.png?500}}
===== 動作原理 =====
全体は、次の3つのブロック(モジュールまたは部品)で構成されます。
* リモコンから送信される赤外線信号を受信する“赤外線リモコン受信モジュール"
* 38kHzの搬送波「キャリア」信号を発生させる“PIC12F683(CCPモジュール)"
* 赤外線を出力(発光)する“赤外線発光LED"
※赤外線リモコン受信モジュールについては、前回作成した、“赤外線データ通信(USART)"を参照してください。
<処理の流れ>
- リモコンからは、操作にあわせて、“赤外線(38kHzの搬送波「キャリア」)"が送信されます。
- その赤外線を、“赤外線リモコン受信モジュール"で受信します。(キャリアは削除される)
- PIC12F683が内蔵している、CCPモジュールをPWMモードで動作させて、“38kHzのキャリア信号"を\\ 発生させます。
- 受信した信号にあわせて、“PWMをON/OFF"します。
{{:imgpaste:202004:htmikan-20200429-111559.png?500}}
===== 回路図 =====
{{:imgpaste:202004:htmikan-20200429-111616.png}}
===== ソースコード =====
//**********************************************************************
/*
「赤外線リモコンリピータ」
*/
//**********************************************************************
#define LED GPIO.F1
//**********************************************************************
void Pwm_Change_DutyEx(unsigned int duty_ratio)
{
CCPR1L = duty_ratio >> 2;
CCP1CON.DC1B0 = duty_ratio & 0b00000001;
CCP1CON.DC1B1 = (duty_ratio & 0b00000010) >> 1;
}
//**********************************************************************
void main()
{
OSCCON = 0b01110000; // クロックを8Mhzに設定する。
CMCON0 = 0b00000111; // コンパレータは使用しない。
ANSEL = 0b00000000; // A/D変換は使用しない。
TRISIO = 0b00001001;
//
Pwm_Init(38000); // 38kHz duty=50%
Pwm_Change_DutyEx((PR2 * 4) / 2);
Pwm_Stop();
//
while (1) {
//赤外線リモコン受信モジュールの出力信号の立下りをチェックする。
while (GPIO.F3 == 1)
;
//38kHzのキャリアを出力する。
Pwm_Start();
LED = 1;
//赤外線リモコン受信モジュールの出力信号の立ち上がりをチェックする。
while (GPIO.F3 == 0)
;
//38kHzのキャリアを停止する。
Pwm_Stop();
LED = 0;
}
}
//**********************************************************************
===== 動作確認 =====
いつものブレッドボードに実装し、動作を確認してみました。
左側から、赤外線リモコン受信モジュール、LED、PIC12F683、赤外線発光LEDです。
{{:imgpaste:202004:htmikan-20200429-111831.png?500}}
実際には、赤外線リモコン受信モジュールと赤外線発光LEDが干渉しないように互いの距離を離します。
{{:imgpaste:202004:htmikan-20200429-111851.png?500}}
電池を含めた全体の写真です。
赤外線発光LEDは、30cmくらい離しました。
{{:imgpaste:202004:htmikan-20200429-111910.png?500}}
居間のテレビのリモコンで試してみました。
結果的には、2倍以上の距離でテレビの操作が出来るようになりました。
{{:imgpaste:202004:htmikan-20200429-111928.png?500}}
如何ですか?
本リピータを使うことにより、AV機器の収納がし易くなり、部屋がすっきりしますね! ^_^
このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby:picdic:picdic|詳細]]
This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.[[elechobby:picdic:picdic|Details]]