文書の過去の版を表示しています。


赤外線リモコンリピータ

自宅内には、多数のAV機器があります。
しかし、リモコン操作を行うときに、次のような問題が時々発生します。

  • 途中に障害物があったり、
  • 操作位置の角度が厳しかったり、
  • 距離が離れすぎていたり、

そのためにリモコンが効かず、操作する人間側が、少し移動しなければなりません。

そこで、リモコンが送信する赤外線を、途中で中継(リピータ)することにより、これらの問題を緩和させることに
しました。

<リモコンの到達距離の延長の考え方>

全体は、次の3つのブロック(モジュールまたは部品)で構成されます。

  • リモコンから送信される赤外線信号を受信する“赤外線リモコン受信モジュール“
  • 38kHzの搬送波「キャリア」信号を発生させる“PIC12F683(CCPモジュール)”
  • 赤外線を出力(発光)する“赤外線発光LED“

※赤外線リモコン受信モジュールについては、前回作成した、“赤外線データ通信(USART)“を参照してくだ
さい。

<処理の流れ>

  1. リモコンからは、操作にあわせて、“赤外線(38kHzの搬送波「キャリア」)“が送信されます。
  2. その赤外線を、“赤外線リモコン受信モジュール”で受信します。(キャリアは削除される)
  3. PIC12F683が内蔵している、CCPモジュールをPWMモードで動作させて、“38kHzのキャリア信号”を
    発生させます。
  4. 受信した信号にあわせて、“PWMをON/OFF”します。

infraredRaysRepeater_v1.c
//********************************************************************** 
/*
  「赤外線リモコンリピータ」 
*/
//********************************************************************** 
 
#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です。

実際には、赤外線リモコン受信モジュールと赤外線発光LEDが干渉しないように互いの距離を離します。

電池を含めた全体の写真です。
赤外線発光LEDは、30cmくらい離しました。

居間のテレビのリモコンで試してみました。
結果的には、2倍以上の距離でテレビの操作が出来るようになりました。

如何ですか?
本リピータを使うことにより、AV機器の収納がし易くなり、部屋がすっきりしますね!{^_^}!

  • elechobby/picdic/pic12f683/23.1588126787.txt.gz
  • 最終更新: 2025/10/17 14:27
  • (外部編集)