NiceRemo (IR リモコンアナライザ)

概要

  1. NiceRemo は リモコンアナライザ

     

  2. できることや特長などは以下の通り

    No. 項目 説明
    1 対応フォーマット NEC
    AEHA (48bit)
    SONY 12bit
    SONY 15bit
    SONY 24bit
    MB type 1
    MB type 2
    MB type 3
    全部で8フォーマットをサポートします
    AEHA とは家電協フォーマットのこと
    MB とは三菱電機フォーマットのこと
    2 受信した
    リモコンコードを表示
    16進数で LCD に表示します (対応フォーマットのみ)
    3 任意のリモコンコード
    の作成と送信
    任意のリモコンコードを作成し送信できます (対応フォーマットのみ)
    この機能を応用して、機器の隠しリモコンコマンドを発見できるかも!
    4 作成したリモコンコード
    の記憶
    No.3 で作成したリモコンコードを任意のキーに記憶できます
    5 学習リモコン 別のリモコンのコードを受信して任意のキーに記憶できます (対応フォーマットのみ)
    6 リモコン専用モード 学習や作成したリモコンコードを送信しますが、省電力動作としています
    PIC16F883/886 の Sleep モードを使用して、乾電池×2本の 3V でも動作します
    LCD も不要なので、取り外して使います
    7 32個のキーを搭載 これだけあると、ちょっとしたリモコンとして使えます
    8 キーの
    チャタリング対策
    プログラムで対策しており、チャタリングしにくいです
    9 記述言語 アセンブラで記述しており、細かく正確にタイミングを作成しています

  3. 筆者が考える 最大の特長は任意のリモコンコードを作成して記憶できること



[NiceRemo 基板] [NiceRemo PIC16F883/886 チップ] の提供について

 

  1. 1品だけの場合

  2. 合計2品の場合 ・・・ 数量割引あり

  3. 合計3品以上の場合 ・・・ 更に数量割引あり

  4. チップや基板をご希望の方は ホームページ(トップページ) の下側にある [ひろくんへのメール連絡はこちら] から連絡ください。

  5. 以前に購入していただいたチップのファームウェアのバージョンアップは以下の方法で対応します。



ファームウェアのリリース履歴



ハードウェア



NiceRemo 基板と使用部品について

  1. 右の画像は NiceRemo 基板の表と裏です

  2. 右の画像が NiceRemo 基板の回路図です 画像をクリックすると、pdf で大きく表示できます。

  3. 部品リスト



使用する LCD について

  1. HD44780 コンパチで16桁×2行のキャラクタ LCD が使えます

  2. 秋月電子通商 で販売されている SC2004CS-B-XA-GB-G も使えます

  3. 秋月電子通商 で販売されている SC1602BS*B-XA-GB-K は、このままでは使えませんが ・・・

  4. 実際に改造して SC1602BS*B-XA-GB-K で使ってみました



基板に部品を取り付ける

  1. 部品リストを見て、基板シルクの部品番号と照合して部品をハンダ付けします

  2. 右の写真は組み立て完了後です



ランプ / ボリューム / 端子



保管ケース



ソフトウェア



ジャンパー設定とキーボード

  1. ジャンパー設定

  2. キーボード



電源 ON 直後の表示

  1. 電源 ON した直後に以下の表示が1秒間出ます。 主にバージョンのミエル化が目的です。
    +------------------+
    | NiceRemo ver1.00 |
    |    by hirokun    |
    +------------------+
  2. この表示が消えてから、ジャンパー設定に対応する [通常モード] または [リモコン専用モード] に移行します。



通常モード

  1. 概要

  2. 通常モードのトップ画面

    No. 操作説明
    -
    2行目の表示は [S01]〜[S04] キーに対応しています。
    +------------------+
    | Function         |
    | Rcv Mk Larn Send |
    +------------------+
    @ [S01] キーを押すと [リモコンコード表示] に移行します。
    A [S02] キーを押すと [リモコンコード作成] に移行します。
    B [S03] キーを押すと [リモコンコード学習] に移行します。
    C [S04] キーを押すと [リモコンコード送信] に移行します。




リモコン専用モード

  1. 概要

  2. 操作



リモコンコード表示

  1. 概要

  2. 操作

    No. 操作説明
    1
    最初、以下のように表示します。
    +------------------+
    | Receive Code     |
    | >Please send IR  |
    +------------------+
    @ [S32] キーを押すと [通常モードのトップ画面] に戻ります。

    2
    基板に向けて解析したいリモコンから発信すると、以下のようにリモコンコードを表示します。
    (この例は SONY 20ビットフォーマットのリモコンコードを表示しています。)
    @ 1行目にはフォーマット種別を表示します。
    A 2行目にはコードを16進数で表示します。
    B リモコンコード解析中は STATUS ランプが点灯します。
    +------------------+
    | SONY 20          |
    | 77017A           |
    +------------------+
    C 解析できないリモコンコードを受信した時は以下の表示になります。
    +------------------+
    | UNKNOWN          |
    |                  |
    +------------------+
    D [S32] キーを押すと [通常モードのトップ画面] に戻ります。

    3
    新たなリモコンコードを受信すると No.2 を繰り返します。




リモコンコード作成

  1. 概要

  2. 最初に出る画面

    No. 操作説明
    -
    2行目の表示は [S01]〜[S04] キーに対応しています。
    +------------------+
    | Make Code        |
    | NEC AEHA SONY MB |
    +------------------+
    @ [S01] キーを押すと 3 に移行します。
    A [S02] キーを押すと 4 に移行します。
    B [S03] キーを押すと 5 に移行します。
    C [S04] キーを押すと 6 に移行します。
    D [戻る] キーを押すと [通常モードのトップ画面] に戻ります。


  3. NEC コードの作成とそのコードを送信

    No. 操作説明
    -
    NEC を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | NEC making...    |
    | 000000FF         |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと 2 に戻ります。
    F 左から2文字ずつに区切ってバイトデータとして処理します。
    G バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。
    H 最後の1バイトにカーソルは移動可能ですが、インクリメント/デクリメントは無効です。
    I 最後の1バイトにはその前の1バイトの反転データが自動的に計算されて入ります。


  4. AEHA コードの作成とそのコードを送信

    No. 操作説明
    -
    AEHA を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | AEHA making...   |
    | 000000000000     |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと 2 に戻ります。
    F 左から2文字ずつに区切ってバイトデータとして処理します。
    G バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。
    H 6文字目にカーソルは移動可能ですが、インクリメント/デクリメントは無効です。
    I 6文字目には最初の2バイトを4ビットごとに Exclusive OR したデータが自動的に計算されて入ります。


  5. SONY コードの作成とそのコードを送信

    No. 操作説明
    1
    SONY を選択すると、以下の表示になります。2行目の表示は [S01]〜[S04] キーに対応しています。
    +------------------+
    | SONY code length |
    |  12  15  20  --  |
    +------------------+
    @ SONY リモコンコードには 12 / 15 / 20bit の3つのコード長があり、[S01]〜[S03] キーで選択すると No.2 に移行します。
    A [戻る] キーを押すと 2 に戻ります。

    2
    SONY 12 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | SONY 12 making.. |
    | 0000             |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと No.1 に戻ります。
    F 左から2文字ずつに区切ってバイトデータとして処理します。
    G バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。
    H 最初の1バイトがデータコードで 7bit データで、次の1バイトがアドレスコードで 5bit データです。
    I Hの制限により編集できないビットがあり、その部分へのインクリメント/デクリメントは無視します。


    SONY 15 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | SONY 15 making.. |
    | 0000             |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと No.1 に戻ります。
    F 左から2文字ずつに区切ってバイトデータとして処理します。
    G バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。
    H 最初の1バイトがデータコードで 7bit データで、次の1バイトがアドレスコードで 8bit データです。
    I Hの制限により編集できないビットがあり、その部分へのインクリメント/デクリメントは無視します。


    SONY 20 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | SONY 20 making.. |
    | 000000           |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと No.1 に戻ります。
    F 左から2文字ずつに区切ってバイトデータとして処理します。
    G バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。
    H 最初の1バイトがデータコードで 7bit データで、次から2バイトがアドレスコードで 13bit データです。
    I Hの制限により編集できないビットがあり、その部分へのインクリメント/デクリメントは無視します。


  6. MB コードの作成とそのコードを送信

    No. 操作説明
    1
    MB を選択すると、以下の表示になります。2行目の表示は [S01]〜[S04] キーに対応しています。
    +------------------+
    | MB type          |
    |  T1  T2  T3  --  |
    +------------------+
    @ MB リモコンコードには T1 / T2 / T3 の3つの送信プロトコルがあり、[S01]〜[S03] キーで選択すると、No.2 に移行します。
    A [戻る] キーを押すと 2 に戻ります。

    2
    MB T1 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | MB T1 making...  |
    | 0000             |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと No.1 に戻ります。
    F 左から2文字ずつに区切ってバイトデータとして処理します。
    G バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。


    MB T2 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。
    +------------------+
    | MB T2 making...  |
    | 0000             |
    +------------------+
    @ 操作方法は MB T1 と全く同じため、説明は省略します。


    MB T3 を選択すると、以下の表示になります。
    2行目の数字の下にカーソルを表示します。
    +------------------+
    | MB T3 making...  |
    | F0F0F0           |
    +------------------+
    @ [←] [→] キーを押すとカーソルを左右に1文字ずつ移動します。
    A [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。
    B [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。
    C [●] キーを押すと作成したリモコンコードを送信します。送信中は STATUS ランプが点滅します。
      押し続けると同じコードを繰り返し送信します。
    D [記憶] キーを押すと 7 に移行します。(任意のキーへの記憶)
    E [戻る] キーを押すと No.1 に戻ります。
    F 1/3/5文字目にカーソルは移動可能ですが、インクリメント/デクリメントは無効です。
    G 1/3/5文字目には反転データが自動的に計算されて入ります。


  7. 作成したリモコンコードを任意のキーに記憶

    No. 操作説明
    1
    この処理に入ると以下の画面を表示します。
    +------------------+
    | Save Code        |
    | Select Key ?     |
    +------------------+
    @ [S31] [戻る] キーを一緒に押すと元のリモコンコード作成画面に戻ります。

    2
    例えば、[S12] キーを押すと以下のように表示して、作成したリモコンコードを [S12] キーに記憶します。
    +------------------+
    | Save Code        |
    | Select Key : S12 |
    +------------------+
    @ 記憶中は STATUS ランプが点灯します。
    A 記憶が完了すると元のリモコンコード作成画面に戻ります。




リモコンコード学習

  1. 概要

  2. 操作

    No. 操作説明
    1
    最初に出る画面
    +------------------+
    | Larn Code        |
    | Select Key ?     |
    +------------------+
    @ [S31] [S32] キーを一緒に押すと [通常モードのトップ画面] に戻ります。

    2
    例えば、[S12] キーを押すと以下のように表示します。
    +------------------+
    | Larn Code        |
    | Select Key : S12 |
    +------------------+
    @ [S32] キーを押すと No.1 に戻ります。

    3
    基板に向けて学習元のリモコンから発信すると、[S12] キーにリモコンコードを学習 (記憶) します。

    @ リモコンコード受信が成功すると1行目の右のほうに [Good] を2回点滅表示して No.1 に戻ります。
      STATUS ランプはゆっくり2回点滅します。
    A リモコンコード受信が失敗すると1行目の右のほうに [Faild] を2回点滅表示して No.1 に戻ります。
      STATUS ランプは1回だけ点滅します。この場合は記憶されません。




リモコンコード送信

  1. 概要

  2. 操作

    No. 操作説明
    1
    最初に出る画面
    +------------------+
    | Send Code        |
    | Select Key ?     |
    +------------------+
    @ 通常モードの場合は、[S31] [S32] キーを一緒に押すと [通常モードのトップ画面] に戻ります。
    A リモコン専用モードの場合は、[S31] [S32] キーを一緒に押しても無視します。

    2
    例えば、[S12] キーを押すと以下のように表示して、学習したリモコンコードを送信します。
    +------------------+
    | Send Code        |
    | Select Key : S12 |
    +------------------+
    @ 送信中は STATUS ランプが点滅します。
    A キーを押し続けると同じリモンコードを連続して送信します。
      → SONY や三菱電機機器では複数回の同じコード受信で反応するので、この仕様にしています。
    B 通常モードの場合は、[S31] [S32] キーを一緒に押すと [通常モードのトップ画面] に戻ります。
    C リモコン専用モードの場合は、[S31] [S32] キーを一緒に押しても無視します。
    D 他のキーを押すと、そのキーに学習したリモコンコードが送信されます。
    E No.2の処理を繰り返します。




技術情報



各種リモコンフォーマットと本機での表示

  1. NEC フォーマット (32bit)

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A C00〜C15 がカスタマコード、D00〜D07 がデータ、/D00〜/D07 がデータの反転データです。
    B バイトの区切りは || のところです。
      C  C  C  C  C  C  C  C   C  C  C  C  C  C  C  C   D  D  D  D  D  D  D  D  /D /D /D /D /D /D /D /D
     00 01 02 03 04 05 06 07  10 11 12 13 14 15 16 17  00 01 02 03 04 05 06 07  00 01 02 03 04 05 06 07
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    本機での表示

      C  C  C  C  C  C  C  C   C  C  C  C  C  C  C  C   D  D  D  D  D  D  D  D  /D /D /D /D /D /D /D /D
     07 06 05 04 03 02 01 00  17 16 15 14 13 12 11 10  07 06 05 04 03 02 01 00  07 06 05 04 03 02 01 00
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    


  2. AEHA フォーマット (48bit)

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A C00〜C15 がカスタマコード、P00〜P03 がパリティ、D00〜D37 がデータです。
    B バイトの区切りは || のところです。
      C  C  C  C  C  C  C  C   C  C  C  C  C  C  C  C   P  P  P  P  D  D  D  D   D  D  D  D  D  D  D  D   D  D  D  D  D  D  D  D   D  D  D  D  D  D  D  D
     00 01 02 03 04 05 06 07  10 11 12 13 14 15 16 17  00 01 02 03 00 01 02 03  10 11 12 13 14 15 16 17  20 21 22 23 24 25 26 27  30 31 32 33 34 35 36 37
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    本機での表示

      C  C  C  C  C  C  C  C   C  C  C  C  C  C  C  C   D  D  D  D  P  P  P  P   D  D  D  D  D  D  D  D   D  D  D  D  D  D  D  D   D  D  D  D  D  D  D  D
     07 06 05 04 03 02 01 00  17 16 15 14 13 12 11 10  03 02 01 00 03 02 01 00  17 16 15 14 13 12 11 10  27 26 25 24 23 22 21 20  37 36 35 34 33 32 31 30
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    シャープのテレビリモコンでは、C07〜D10 は固定データ、D27〜D20 に動作コード、D37〜D30 に何らかのチェックコードが入るようです。


  3. SONY 12bit フォーマット

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A D00〜D06 がデータ、A00〜A04 がアドレスです。
    B バイトの区切りは || のところです。
      D  D  D  D  D  D  D  A   A  A  A  A
     00 01 02 03 04 05 06 00  01 02 03 04
    |--|--|--|--|--|--|--|--||--|--|--|--|
    

    本機での表示

         D  D  D  D  D  D  D            A  A  A  A  A
     ** 06 05 04 03 02 01 00  ** ** ** 04 03 02 01 00
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    ** の部分には 0 が入ります。


  4. SONY 15bit フォーマット

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A D00〜D06 がデータ、A00〜A07 がアドレスです。
    B バイトの区切りは || のところです。
      D  D  D  D  D  D  D  A   A  A  A  A
     00 01 02 03 04 05 06 00  01 02 03 04
    |--|--|--|--|--|--|--|--||--|--|--|--|
    

    本機での表示

         D  D  D  D  D  D  D            A  A  A  A  A
     ** 06 05 04 03 02 01 00  ** ** ** 04 03 02 01 00
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    ** の部分には 0 が入ります。


  5. SONY 20bit フォーマット

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A D00〜D06 がデータ、A00〜A12 がアドレスです。
    B バイトの区切りは || のところです。
      D  D  D  D  D  D  D  A   A  A  A  A  A  A  A  A   A  A  A  A
     00 01 02 03 04 05 06 00  01 02 03 04 05 06 07 08  09 10 11 12
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|
    

    本機での表示

         D  D  D  D  D  D  D            A  A  A  A  A   A  A  A  A  A  A  A  A
     ** 06 05 04 03 02 01 00  ** ** ** 12 11 10 09 08  07 06 05 04 03 02 01 00
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    ** の部分には 0 が入ります。


  6. MB type 1 / type 2 フォーマット (16bit) ・・・ MB とは三菱電機のことです

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A バイトの区切りは || のところです。
    B type 1 / type 2 の違いは通信プロトコルだけです。
      D  D  D  D  D  D  D  D   D  D  D  D  D  D  D  D
     00 01 02 03 04 05 06 07  10 11 12 13 14 15 16 17
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    本機での表示

      D  D  D  D  D  D  D  D   D  D  D  D  D  D  D  D
     07 06 05 04 03 02 01 00  17 16 15 14 13 12 11 10
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    


  7. MB type 3 フォーマット (24bit) ・・・ MB とは三菱電機のことです

    リモコンから送信されるコード

    @ 左のビットから順番に 1bit ずつ送信されます。
    A バイトの区切りは || のところです。
    B /D00〜/D23 は D00〜D23 の反転データです。
      D  D  D  D /D /D /D /D   D  D  D  D /D /D /D /D   D  D  D  D /D /D /D /D
     00 01 02 03 10 11 12 13  10 11 12 13 20 21 22 23  20 21 22 23 00 01 02 03
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    

    本機での表示

     /D /D /D /D  D  D  D  D  /D /D /D /D  D  D  D  D  /D /D /D /D  D  D  D  D
     13 12 11 10 03 02 01 00  23 22 21 20 13 12 11 10  03 02 01 00 23 22 21 20
    |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--|
    




設計ノート ・・・ IR 受信時の各種フォーマット判別方法概略

  1. まずは、リーダーコードで判別

    No. 測定結果 閾値計算 判別結果 備考
    1 5.620ms 以上 562us×10T
    425us×6T
    600us×2T
    300us×0.66T
    NEC 他のフォーマットの可能性もあるので、更に 2 で細分判別する
    2 2.550〜5.620ms AEHA 他のフォーマットの可能性もあるので、更に 3 で細分判別する
    3 1.200〜2.550ms SONY 【判別完了】 SONY フォーマット
    4 0.200〜1.200ms MB T1 【判別完了】 MB T1 フォーマット
    MB T1 フォーマットにはリーダーコードが無いので、ここでの時間測定は
    一番最初のデータビットのマーク時間である
    5 0.200ms 以下 --- ノイズでしょう

  2. [1で NEC と判別] 後の詳細判別

    No. 判別トリガ 判別結果 備考
    1 最初の 1byte を読んだ次に 2byte 目のデータが来た NEC 【判別完了】 NEC フォーマット
    2 最初の 1byte を読んだ次にストップコードが来た MB T2 【判別完了】 MB T2 フォーマット

  3. [1で AEHA と判別] 後の詳細判別

    No. 測定結果 閾値計算 判別結果 備考
    1 3.948ms 以上 (425us+562uS)×8T÷2
    425us×6T
    OTHER T1 【判別完了】 OTHER T1 フォーマット
    2 2.550〜3.948ms --- 更に 4 で細分判別する
    3 2.550ms 以下 AEHA 【判別完了】 AEHA フォーマット

  4. [3で No.2 と判別] 後の詳細判別

    No. 測定結果 閾値計算 判別結果 備考
    1 0.660ms 以上 (425us+900us)×1T÷2 MB T3 【判別完了】 MB T3 フォーマット
    2 0.660ms 以下 AEHA AEHA のリピートコードだった