パナソニック 照明リモコンフォーマット
カテゴリー: General
2016-10-14
パナソニック 照明リモコンフォーマット
フォーマットは、家製協リモコンフォーマット
フレームの開始データ: 8T(1)+4T(0)
+ データ
+ フレームの終了データ : 8ms以上無信号
送信方法は、家製協リモコンフォーマット準じる.
※ 家製協リモコンフォーマットに準じたプログラムから
データ部分だけ変更すれば、ほかのリモコン用アプリを流用できるということ。
・データ
共通部分最初の3バイト(24bit)
16bitのカスタマーコード + 4bitのパリティ + data0 4bit(バイト調整の捨てデータ) + data1
0111 0100 0100 1010 1001 0000 + data1
データ1
作成方法については、以下の2ブログを参考にすれば簡単に作れます
ちゃちな850円くらいにしか見えないパナソニック照明純正リモコンが
2800円もします。
本体が8900円(リモコン付き)なのに高すぎでしょ
去年の型おくれだと本体(リモコン付き)5600円で流通してますし。
材料費全部(箱、電池含む)で
パナソニック照明対応リモコンを1個530円
で 自作しました
作成にかかる時間・労力考えると
純正と同じもの作っても意味がないので
純正にはない機能をいくつか搭載しました
出入り口の壁、ねどこの床そば、隣の部屋 いろいろなところに配置できます。
フォーマットは、家製協リモコンフォーマット
フレームの開始データ: 8T(1)+4T(0)
+ データ
+ フレームの終了データ : 8ms以上無信号
送信方法は、家製協リモコンフォーマット準じる.
※ 家製協リモコンフォーマットに準じたプログラムから
データ部分だけ変更すれば、ほかのリモコン用アプリを流用できるということ。
・データ
共通部分最初の3バイト(24bit)
16bitのカスタマーコード + 4bitのパリティ + data0 4bit(バイト調整の捨てデータ) + data1
0111 0100 0100 1010 1001 0000 + data1
データ1
const char *SW1_brightness_inc = "0011 0100 0100 1010 1001 0000 0101 0100 1100 0100"; // 明るい
const char *SW1_brightness_dec = "0011 0100 0100 1010 1001 0000 1101 0100 0100 0100"; // 暗い
const char *SW1_power_max = "0011 0100 0100 1010 1001 0000 0011 0100 1010 0100"; // 全灯
const char *SW1_power_on = "0011 0100 0100 1010 1001 0000 1011 0100 0010 0100"; // 点灯(お好み)
const char *SW1_power_small = "0011 0100 0100 1010 1001 0000 0111 0100 1110 0100"; // 常夜灯
const char *SW1_power_off = "0011 0100 0100 1010 1001 0000 1111 0100 0110 0100"; // 消灯
const char *SW1_power_sleep30 = "0011 0100 0100 1010 1001 1100 1000 0101 0001 1001"; // おやすみ30分
const char *SW2_brightness_inc = "0011 0100 0100 1010 1001 0000 0100 1100 1101 1100"; // 明るい
const char *SW2_brightness_dec = "0011 0100 0100 1010 1001 0000 1100 1100 0101 1100"; // 暗い
const char *SW2_power_max = "0011 0100 0100 1010 1001 0000 0010 1100 1011 1100"; // 全灯
const char *SW2_power_on = "0011 0100 0100 1010 1001 0000 1010 1100 0011 1100"; // 点灯(お好み)
const char *SW2_power_small = "0011 0100 0100 1010 1001 0000 0110 1100 1111 1100"; // 常夜灯
const char *SW2_power_off = "0011 0100 0100 1010 1001 0000 1110 1100 0111 1100"; // 消灯
const char *SW2_power_sleep30 = "0011 0100 0100 1010 1001 1100 0101 0101 1100 1001"; // おやすみ30分
const char *SW3_brightness_inc = "0011 0100 0100 1010 1001 0000 0101 1100 1100 1100"; // 明るい
const char *SW3_brightness_dec = "0011 0100 0100 1010 1001 0000 1101 1100 0100 1100"; // 暗い
const char *SW3_power_max = "0011 0100 0100 1010 1001 0000 0011 1100 1010 1100"; // 全灯
const char *SW3_power_on = "0011 0100 0100 1010 1001 0000 1011 1100 0010 1100"; // 点灯(お好み)
const char *SW3_power_small = "0011 0100 0100 1010 1001 0000 0111 1100 1110 1100"; // 常夜灯
const char *SW3_power_off = "0011 0100 0100 1010 1001 0000 1111 1100 0110 1100"; // 消灯
const char *SW3_power_sleep30 = "0011 0100 0100 1010 1001 1100 1100 1101 0101 0001"; // おやすみ30分
// 注意: avrは、バイト順がリトルエディアンなので、数値型として変数に格納する場合は、上位下位4bitの順番に注意
const char *SW1_change_chanel = ""; // チャンネル確定
const char *SW2_change_chanel = ""; // チャンネル確定
const char *SW3_change_chanel = ""; // チャンネル確定
unsigned short setDataFromBitString(unsigned char data[], const char *select, const short n) { unsigned short ret = 0; data[0] = 0; for(int i=0; n>0 && i<n && select[i]!= 0; i++) { if (select[i] == '0' || select[i] == '1') { data[ret] = select[i]; ret ++; } } return ret; }
セット dataSize = (unsigned short) setDataFromBitString(data, SW1_power_off, sizeof(SW1_power_off)-1);
以下でも可能
char * p = (char *) SW1_power_on;
// リーダー送信
while(p !=0 p[0]!=0)
{
switch (p[0])
{
case '1':
//ここにhigh送信
_delay_ms(T)
break;
case '0':
//ここにlow送信
break;
}
p++;
}
// フレーム終了送信
作成方法については、以下の2ブログを参考にすれば簡単に作れます
- AVRマイコンでTVリモコンを作成
- http://usicolog.nomaki.jp/engineering/avr/makeRemoteController.html
- データ部分を変更するだけでリモコンテストできます
- 赤外線リモコンの通信フォーマット
- http://elm-chan.org/docs/ir_format.html
バイト | 1 | 2 | 3 | 4 | 5 | |||||||||||||||||||||||||||||||||||
ビット | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
全40bit(5バイト) | ||||||||||||||||||||||||||||||||||||||||
カスタマーコード (0011 0100 0100 1010) | パリティ(1001) | データ(20bit) | ||||||||||||||||||||||||||||||||||||||
data0 | data1 | data2 | ||||||||||||||||||||||||||||||||||||||
固定値 (0011 0100 0100 1010 1001) | サブモード | CH | モード | パリティ bit | ||||||||||||||||||||||||||||||||||||
16進値 | 3 | 4 | 4 | A | 9 | 0 C |
17-20 xor 25-28 |
21-24 xor 29-32 |
||||||||||||||||||||||||||||||||
2進値 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 3bit | 2bit | 3bit | 3バイト目 xor 4バイト目 | ||||||||||||
各4bitのxor | 1 | 1 | 0 | 0 | 2bit | 3bit | 3bit |
家電協フォーマット | ||||||||||||||||||||||||
T0搬送波 | 940nm(900-950) | |||||||||||||||||||||||
T1副搬送波 | 38kHz(33~40kHz), 1 0^6(u sec)/26(u sec)=38.4kHz | |||||||||||||||||||||||
T2変調時間 | 425 | (330~500)μs | ||||||||||||||||||||||
値1 | high(1T) + low(1T) |
|||||||||||||||||||||||
値0 | high(1T) + low(3T, 1275us) |
|||||||||||||||||||||||
リーダー | 8T(high:3400us) + 4T(low:1700us) |
|||||||||||||||||||||||
トレーラー | 1T(high:425us) + 1T(low:425us) + 8ms |
+75ms |
||||||||||||||||||||||
rest delay | 132ms – 送信時間 = 132 - (118*T2 ~ 158*T2) / 1000 | |||||||||||||||||||||||
132-(78 + sum(dataの各ビット is 0)*4 + sum(dataの各ビット is 1)*2 )*T2/1000 ms | ||||||||||||||||||||||||
65 (65 ~ 82) msec |
ちゃちな850円くらいにしか見えないパナソニック照明純正リモコンが
2800円もします。
本体が8900円(リモコン付き)なのに高すぎでしょ
去年の型おくれだと本体(リモコン付き)5600円で流通してますし。
材料費全部(箱、電池含む)で
パナソニック照明対応リモコンを1個530円
で 自作しました
作成にかかる時間・労力考えると
純正と同じもの作っても意味がないので
純正にはない機能をいくつか搭載しました
出入り口の壁、ねどこの床そば、隣の部屋 いろいろなところに配置できます。