ダイエーの低価格ブランド「コルティナ」製TVのリモコンを紛失してしまったので、その代用品として、市販されている何種類かの数社対応TVリモコンを調べましたが、コルティナ製TVに対応したものは見当たりませんでした。
コルティナ製TVのリモコンデータは、GB-REMで採取していたので、GB-fREMeを使えば、コルティナ製TVのリモコンが出来上がりますが、このTVの現在の使用者であるカミさんのお母様に、GBCを使ってもらうわけにはいかないので、 PIC等で自作リモコンを作るしかないのですが、基板むき出しというわけにもいかないし、ケースに納めてもケースの形状やボタンの操作性、そして見栄えを考えると満足のいくものが作れそうにありません。
市販されている数社対応TVリモコンを調べた中に、「でかボタンリモコン」という非常にシンプルでボタンが大きく使い勝手の良さそうなリモコンを見つけました。このリモコンのマイコン部をPICに換装してコルティナ製TVのリモコンを製作しました。
PIC用赤外線リモコンのソフトウェアは、トムキャットさんのPIC16F84使用赤外線リモコン送信器のプログラムを使わせて頂きました。
電池ボックスの底にねじが1本だけあるので、これを外します。
表裏2つ割れのケースは5箇所(下側中央1個所、側面左右各2箇所)の爪で引っ掛かっています。ケースの下側中央の2つ割れの隙間に細いマイナスドライバを差し込んでやると爪が外れます。
マイナスドライバを隙間に沿って左右の側面の方へ滑らせ隙間を広げていくと、他の爪が外れていきます。
ケースを開けた様子

純正マイコン部周りの不要な部品(コンデンサC3,C4,C5、クリスタルX1)をニッパで切除します。
不要部品の切除後の様子。
純正マイコン部周りの不要な基板部分を切除するための切り取り線を書きます。
不要基板部分の切除後の様子。
プリントパターン面に配線端子部を作ります。表面の塗装を剥がした銅板部分に半田をコーティングします。
切除した部分に、PIC用18ピンICソケットとセラロックを取り付けたユニバーサル基板を5mm程度重ねて瞬間接着材でくっつけます。
リード線で配線します。
結線をテスターでしっかりチェックし、OKであればプログラムを焼いたPICをICソケットに刺し、ケースを組立てれば完成です。; _portb: Bポートの操作するビット名設定 _keyout0 equ 0 _led equ 1 ; 赤外線Led _keycom5 equ 2 ;_keycom6 equ 3 ; (以下に変更) _led2 equ 3 ; RB3は赤色LEDで使う _keyout1 equ 4 _keyout2 equ 5 _keyout3 equ 6 _keyout4 equ 7800行目あたり
; _keyscan: ループエンドビット ;_sc_end equ 7 ; (以下に変更) _sc_end equ 6 ; 6列目まで850行目あたり
keyread: clrf _keyflag clrf _porta ; ポートA 初期化 clrf _portb bsf _portb,_led2 ; (追加)赤色LED OFF clrf _intcon bsf _intcon,_rinte bsf _intcon,_rbie sleep860行目あたり
keyread_01: movlw b'00011111' movwf _porta ; ra0 - ra4 high bsf _portb,_keycom5 ; bsf _portb,_keycom6 ; (削除) movf _keyscan,W movwf _porta ; _keyscan low (1 bit) btfss _keyscan,5 bcf _portb,_keycom5 ; btfss _keyscan,6 ; (削除) ; bcf _portb,_keycom6 ; (削除) nop nop nop comf _portb,W ; ローデータリード ; andlw b'11110000' ; (以下に変更) andlw b'01110000' ; RB7は使用しない movwf _keydata910行目あたり
keyread_04: bcf _portb,_led2 ; (追加)赤色LED ON call transmit ; データを送信する bsf _portb,_led2 ; (追加)赤色LED OFF bsf _keyflag,_kwf movf _rptwait_bf,W movwf _rptwait ; リピート待ち時間セット btfsc _IntStatus,_mode_rp ; リピートモードチェック bsf _keyflag,_krp ; keyリピートフラグセット goto keyread_02
;*********************************************************************** ; ** 送信データエリア ** ; --- key 02 ---(コルティナTV電源) retlw b'00000000' ; 送信モード:モード0,リピートなし retlw 0x03 ; 送信データ数:以下の3バイト retlw 0x29 ; GB-REMのENCモードで1 HIGHまたはLOWのCodeの1バイト目 retlw 0x68 ; GB-REMのENCモードで1 HIGHまたはLOWのCodeの2バイト目 retlw 0x7d ; GB-REMのENCモードで1 HIGHまたはLOWのCodeの3バイト目 retlw 0x00 retlw 0x00 retlw 0x00 retlw 0x00 retlw 0x00 ;*********************************************************************** ; モードタイミング設定 ; --- モード0設定値(コルティナ) --- (1 = 0.1ms) vl_0_start_h equ 33 ; スタート信号 on 時間 :GB-REMのENCモードで1 HIGHのLeader vl_0_start_l equ 32 ; スタート信号 off 時間 :GB-REMのENCモードで1 LOWのLeader vl_0_data_0h equ 9 ; データ0信号 on 時間 :GB-REMのENCモードで1 HIGHのData-0 vl_0_data_1h equ 9 ; データ1信号 on 時間 :GB-REMのENCモードで1 HIGHのData-1 vl_0_data_0l equ 8 ; データ0信号 off 時間 :GB-REMのENCモードで1 LOWのData-0 vl_0_data_1l equ 24 ; データ1信号 off 時間 :GB-REMのENCモードで1 LOWのData-1 vl_0_stop_h equ 9 ; ストップ信号 on 時間 :GB-REMのENCモードで1 HIGHのTrailer vl_0_rptwait equ 2 ; リピート待ち時間 (1 = 10ms):GB-REMのENCモードで1 LOWのTrailer÷100 optset_0: macro bcf _ScnStatus,_carri40 ; キャリア38kHz bcf _ScnStatus,_carri33 bcf _ScnStatus,_sharp ; 通常モード endm