パナソニック 照明リモコンフォーマット

フォーマットは、家製協リモコンフォーマット

フレームの開始データ: 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

» パナソニック 照明リモコンフォーマット'">続きを読む