電子工作118 – ダイソーのリモコンライト用のリモコン中継器を作ってみた
Electronics Project 118 – Making A Remote
Control Repeater for Daiso’s Remote Controlled Light
概要 Introduction
いつもの様に、だただらネットを検索していたらダイソーから「リモコンライト」という製品が300円で販売されていることを発見。詳しく見てみるとスペックが驚き。過去にリモコン関連のものをいろいろいじくった者にとって、ハードもソフトも含めて300円で出来るとは凄い。ただ残念なのは感知距離が5メートルとちょっと短い。壁などで遮られる方向への信号送信をなど考え、リモコン中継器を再び製作してみることにした(2013年に電子工作67で一度製作済み)。実際、7年も経つと製作したこともプログラムも全く覚えていないので、再勉強の意味もある。今回、出来た装置は、ダイソーのリモコンライトだけでなく、TV用リモコン、100V扇風機用のリモコン、空気清浄機のリモコンなどに広く使える。
Recently
I found a bargain item called Remote Controlled Light (DAISO) as shown below,
capable of remotely controlling the brightness of the battery-powered light in
4 levels as well as its timer in 4 intervals, costing only 300 yen. Good value
for money. The only weakness is its limited remote distance of 5 meters.. The
remote control repeater prepared this time can be used not only for the remote
controller of Remote Controlled Light but also for the remote controllers of
various other electrical appliances including TV, electric fan, air cleaner,
etc.
回路図 Circuit Diagram
過去の電子工作67の回路図と原則同じである。ただ、リセットSWは除いた。赤外線リモコン受信モジュールに入っている200オームの抵抗と4.7uFは必須、無いと正常に動作しない。更に、12F683のGP2と赤外線LEDの間に入れてある100オームの抵抗も必須。
12F683を使う理由は、設定で赤外線リモコンに必要な38KHzのcarrierを発生させる機能を備えているためである。
This circuit diagram is basically the same as the one shown in Electronics Project 67. But the reset switch was removed. In the circuit, 200-ohm resistance and 4.7uF capacitor used for IR receiver module are essential.
Fig. 1
実験中:右側の白いライトボックスの裏底以外のどこに赤外線信号が当たっても検知され、反応する。
リモコンライトと完成したリモコン中継器
Remote
Controlled Light and the newly completed remote control repeater
完成したリモコン中継器の拡大写真、基板の大きさは47x72mm
Enlarged
picture of the completed remote control repeater
上が赤外線リモコン受信モジュール、下が赤外線Led
IR remote control receiver module
(shown upper) and IR led (shown lower) used this time.
プログラム Program
中継器が受け取った信号を送信信号に変えるルーチン: If RconInput=0 then
PWMonで12F683のGP5に入ってきた信号がLであれば、リモコンから送った信号が元はHであるとして(反転しているので)38KHzのcarrierを発生させ、Loopsで何度も繰り返しながら一定の幅のH波形を形成させる。その幅は入力信号の長さ(時間)によって決まる。もし、Loops中にHという信号が検知されたらIf
RconInput=1 then PWMoffで、PWMoffに飛んで38KHzのcarrierの発生を止め、Loopsを繰り返して別の入力信号の長さによって決まる幅のL波形を形成させる。GP4に接続した赤色LEDは、38KHzのcarrierでH波形が生成されている時に点灯、そうでない時は消灯。
In
this program, the key part is how to generate the pulse patterns that need to
be read by IR receiver of electrical equipment. With If RconInput=0 then PWMon and If
RconInput=1 then PWMoff in the program, new pulse patterns are formed one
after another by reading L or H pulse level from the output of IR remote
control receiver module. When the state of a pulse level received is L, a new H
pulse with 38-Khz carrier is formed through Loops until the state of L level
ends. If, however, a pulse level received is H, a new L pulse with no 38-Khz
carrier is formed through Loops.
'********************************************
'12F683HPWMAnew.pbp 2020.7.7
'12F683 with internal clock 4MHz
'PicBasic Pro 3.1 used
'********** Pin connection ***********
'Pin 1: Vdd (5.0V)
'Pin 8: Vss (GND)
'Pin 7: GPIO.0: NC
'Pin 6: GPIO.1: NC
'Pin 5: GPIO.2: output - 38KHz-PWM output to IR LED
'Pin 4: GPIO.3: input - connected to MCLR to Vdd
'Pin 3: GPIO.4: output - LED-indicator output to tell if data is being sent to IR LED or not
'Pin 2: GPIO.5: input - from Remote controller (via IR receiver)
'************* Program ***************
VRCON=0 'A/D voltage reference disabled
TRISIO=%101000 'GP3, GP5 - Input, GP2 - PWM output, GP4 - LED output
ANSEL=0 'All ports are digital
CMCON0=0 'No comparator used
PR2=25 'Set PWM for 38KHz (24:40KHz)
CCPR1L=13 'Set PWM for 50% duty cycle
'CCP1CON=%00001100=12 'PWM mode selection to be used for switching ON/OFF of HPWM function
T2CON=%00000100 'Timer2 ON + 1:1 prescale
RconInput var GPIO.5 'Remote controller input
OutLEDindicater var GPIO.4 'Output LED indicator
Loops:
If RconInput=0 then PWMon
If RconInput=1 then PWMoff
PWMon: 'When RconInput=0, 38KHz carrier is generated by CCP1CON=12
CCP1CON=12
High OutLEDindicater 'LED at GP4 lights up.
Goto Loops
PWMoff: 'When RconInput=1, the generation of 38KHz carrier is halted by CCP1CON=0.
CCP1CON=0
Low OutLEDindicater 'LED at GP4 stops lighting-up.
Goto Loops
End
'********* End of Program ***********
'Note:
'Programmer's configuration must be set as follows:
'OSC - INTOSCIO; WDTE - Enable; PWRTE - Disable; MCLR - Reset; Brown-out Reset - Enable
'Internal External Switch Over - Enable; Fail Clock Monitor - Enable
'CD - Not Protect; Data EEPROM - Not Protect
上記のプログラムを機械語(16進法)で出力したもので、これを12F683にプログラマーで焼き込めば今回のリモコン中継器に使えるはず。ただ、Configurationは上記のように設定する必要あり。
The
following list of hexadecimal figures is obtained by compiling the above
program using PicBasic Pro 3.1. If these figures are burnt into 12F683 together
with the right configuration setting, the remote control repeater should
function correctly.
コメント Comments
1)
今回は電子工作67のオサライをした感じ。
2)
ダイソーのリモコンライトはハード、ソフト的にも良く出来ていて、しかも300円と安い。もっと、購入しようと探したが品薄で手に入らない。
3)
この安価なリモコンライトはいろんな目的に使えそう。例えば、リモートでもっと明るい電球を点灯させたりとか。
4)
プログラムの中で、簡単なルーチンで波形が形成されるロジックを検討してみた。
5)
追加実験の項で、リモコン中継器の入力と出力波形がオシロで測定でき、ほぼ同じであることが明確になった。GP2での測定結果(Chart 2)はリモコンの送信パターンの相当するが、他の2つのChartに比べちょっと不明瞭、ただ、信号幅は121.6ms位で同じ。
Fig. 2
リモコンライトのリモコンの‘ON’ボタンを押した時の12F683のGP2での波形測定結。上のChart
1や下のChart 3に比較
て波形が反転しているのが分かる。元々のリモコン送信信号の波形がこれである。