|
No. | 項目 | 機能アップ ファームウェア |
秋月オリジナル ファームウェア |
説明 |
1 | 対応フォーマット | 〇 | △ | 機能アップ版は SONY と三菱フォーマットをサポート。
NEC/AEHA/SONY/MB でほとんどのリモコンに対応できる。 AEHA とは家電協フォーマットのこと。 MB とは三菱電機フォーマットのこと。 |
NEC
AEHA (48bit) SONY 12bit SONY 15bit SONY 20bit MB type 1 MB type 2 MB type 3 |
NEC AEHA (48bit) |
|||
2 | 受信した リモコンコード表示 |
〇 | △ | 秋月オリジナル版は正しい表示になっていない。
サポートしているフォーマットも2つだけ。 |
正しいコードを 表示する |
MSB と LSB が逆転 データとアドレスが 非分離 |
|||
3 | 任意のリモコンコード 作成&送信 |
〇 | × | 作成したコードを学習リモコンに記憶して実用的に使える。
機器の隠しコマンドを見つけることができる。 |
あり | なし | |||
4 | 学習リモコン機能 | 〇 | △ | 4個はいくらなんでも少なすぎる |
16個すべてのキーに 学習可能 |
4個のキーのみ 学習可能 |
|||
5 | キーのチャタリング対策 | 〇 | × | プログラムでチャタリングを吸収している |
チャタリングしにくい | チャタリングしやすい | |||
6 | 記述言語 | 〇 | △ | アセンブラのほうが細かく正確にタイミング作成可能 |
アセンブラ | C |
バージョン | リリース日 | 説明 |
v.01a | 2021年3月1日 | 初版リリース |
v.02a | 2021年4月10日 | 三菱 type 1 / 2 / 3 フォーマットに対応
[S12] キーを [戻る] キーと定義した キー取り込みタイミングを [離した時] → [押した時] に変更 IR 受信のフォーマット解析アルゴリズム変更 IR 受信タイミング監視分解能の改善 256us → 1us IR 受信時のタイムアウト検出処理追加 IR 送信している時は LED1 を点滅する処理を追加 |
v.03a | 2022年1月1日 | @ [リモコンコード作成&送信] で作成したリモコンコードを任意のキーに記憶可能とした
A EEPROM を初期化するスペシャルファンクションを新設 |
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 以下 | --- | ノイズでしょう |
No. | 判別トリガ | 判別結果 | 備考 |
1 | 最初の 1byte を読んだ次に 2byte 目のデータが来た | NEC | 【判別完了】 NEC フォーマット |
2 | 最初の 1byte を読んだ次にストップコードが来た | MB T2 | 【判別完了】 MB T2 フォーマット |
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 フォーマット |
No. | 測定結果 | 閾値計算 | 判別結果 | 備考 |
1 | 0.660ms 以上 | (425us+900us)×1T÷2 | MB T3 | 【判別完了】 MB T3 フォーマット |
2 | 0.660ms 以下 | AEHA | AEHA のリピートコードだった |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * C00〜C15 がカスタマコード、D00〜D07 がデータ、/D00〜/D07 がデータの反転データです。 * バイトの区切りは || のところです。 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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * C00〜C15 がカスタマコード、P00〜P03 がパリティ、D00〜D37 がデータです。 * バイトの区切りは || のところです。 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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
本機での表示 |
* シャープのテレビリモコンでは、C07〜D10 は固定データ、D27〜D20 に動作コード、D37〜D30 に何らかのチェックコードが入るようです。 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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * D00〜D06 がデータ、A00〜A04 がアドレスです。 * バイトの区切りは || のところです。 D D D D D D D A A A A A 00 01 02 03 04 05 06 00 01 02 03 04 |--|--|--|--|--|--|--|--||--|--|--|--| |
本機での表示 |
* ** の部分には 0 が入ります。 D D D D D D D A A A A A ** 06 05 04 03 02 01 00 ** ** ** 04 03 02 01 00 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * D00〜D06 がデータ、A00〜A07 がアドレスです。 * バイトの区切りは || のところです。 D D D D D D D A A A A A 00 01 02 03 04 05 06 00 01 02 03 04 |--|--|--|--|--|--|--|--||--|--|--|--| |
本機での表示 |
* ** の部分には 0 が入ります。 D D D D D D D A A A A A ** 06 05 04 03 02 01 00 ** ** ** 04 03 02 01 00 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * D00〜D06 がデータ、A00〜A12 がアドレスです。 * バイトの区切りは || のところです。 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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--| |
本機での表示 |
* ** の部分には 0 が入ります。 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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * バイトの区切りは || のところです。 * 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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
リモコンから送信されるコード |
* 左のビットから順番に 1bit ずつ送信されます。 * バイトの区切りは || のところです。 * /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 |--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--||--|--|--|--|--|--|--|--| |
ディップスイッチ (S1) | モード | 説明 | |
1 | 2 | ||
OFF | × | アナライズ | リモコンコードを受信して、そのコードを表示します
リモコンコードを作成して送信します |
ON | OFF | 学習リモコン | リモコンコードを学習します |
ON | 学習したリモコンコードを送信します |
キー名称 | |||
F1 | F2 | F3 | F4 |
S1 | S2 | S3 | S4 |
S5 | S6 | S7 | S8 |
S9 | S10 | S11 | S12 |
+------------------+ | IR control v.03a | | by hirokun | +------------------+
キーボード | |||
F1 | F2 | F3 | F4 |
S1 | ↑ | S3 | 記憶 |
← | ● | → | S8 |
S9 | ↓ | S11 | 戻る |
No. | 操作説明 |
- |
ディップスイッチ S1 の1番を OFF にして電源 ON すると以下の表示が出ます。 2行目の表示は [F1]〜[F4] キーに対応しています。 +------------------+ | Analyze mode | | Recv Make -- -- | +------------------+ * [F1] キーを押すと 2 にジャンプします。 * [F2] キーを押すと 3 にジャンプします。 |
No. | 操作説明 |
1 |
最初、以下のように表示します。 +------------------+ | Receive Code | | >Please send IR | +------------------+ * [戻る] キーを押すと 1 に戻ります。 |
2 |
基板に向けて解析したいリモコンから発信すると、以下のようにリモコンコードを表示します。 (この例は SONY 20ビットフォーマットのリモコンコードを表示しています。) * 1行目にはフォーマット種別を表示します。 * 2行目にはコードを16進数で表示します。 +------------------+ | SONY 20 | | 77017A | +------------------+ * 受信解析できるリモコンコードは [NEC] [AEHA 48bit] [SONY 12bit] [SONY 15bit] [SONY 20bit] [MB type 1] [MB type 2] です。 * 解析できないリモコンコードを受信した時は以下の表示になります。 +------------------+ | UNKNOWN | | | +------------------+ * [戻る] キーを押すと 1 に戻ります。 |
3 |
新たなリモコンコードを受信すると No.2 を繰り返します。 |
No. | 操作説明 |
- |
任意のリモコンコードを作成して、それを送信できます。以下の表示になります。 2行目の表示は [F1]〜[F4] キーに対応しています。 +------------------+ | Make & Send code | | NEC AEHA SONY MB | +------------------+ * [F1] キーを押すと 4 にジャンプします。 * [F2] キーを押すと 5 にジャンプします。 * [F3] キーを押すと 6 にジャンプします。 * [F4] キーを押すと 7 にジャンプします。 * [戻る] キーを押すと 1 に戻ります。 |
No. | 操作説明 |
- |
NEC を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | NEC making... | | 000000FF | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと 3 に戻ります。 * 左から2文字ずつに区切ってバイトデータとして処理します。 * バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。 * 最後の1バイトにカーソルは移動可能ですが、インクリメント/デクリメントは無効です。 * 最後の1バイトにはその前の1バイトの反転データが自動的に計算されて入ります。 |
No. | 操作説明 |
- |
AEHA を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | AEHA making... | | 000000000000 | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと 3 に戻ります。 * 左から2文字ずつに区切ってバイトデータとして処理します。 * バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。 * 6文字目にカーソルは移動可能ですが、インクリメント/デクリメントは無効です。 * 6文字目には最初の2バイトを4ビットごとに Exclusive OR したデータが自動的に計算されて入ります。 |
No. | 操作説明 |
1 |
SONY を選択すると、以下の表示になります。2行目の表示は [F1]〜[F4] キーに対応しています。 +------------------+ | SONY code length | | 12 15 20 -- | +------------------+ * SONY リモコンコードには 12 / 15 / 20bit の3つのコード長があり、[F1]〜[F3] キーで選択します。 * 選択後は No.2 にジャンプします。 * [戻る] キーを押すと 3 に戻ります。 |
2 |
SONY 12 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | SONY 12 making.. | | 0000 | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと No.1 に戻ります。 * 左から2文字ずつに区切ってバイトデータとして処理します。 * バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。 * SONY 12bit フォーマットでは最初の1バイトがデータコードで 7bit データです。 * 次の1バイトがアドレスコードで 5bit データです。 * 上の2つの制限により編集できないビットがあり、その部分へのインクリメント/デクリメントは無視します。 |
SONY 15 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | SONY 15 making.. | | 0000 | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと No.1 に戻ります。 * 左から2文字ずつに区切ってバイトデータとして処理します。 * バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。 * SONY 15bit フォーマットでは最初の1バイトがデータコードで 7bit データです。 * 次の1バイトがアドレスコードで 8bit データです。 * 上の2つの制限により編集できないビットがあり、その部分へのインクリメント/デクリメントは無視します。 |
|
SONY 20 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | SONY 20 making.. | | 000000 | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと No.1 に戻ります。 * 左から2文字ずつに区切ってバイトデータとして処理します。 * バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。 * SONY 20bit フォーマットでは最初の1バイトがデータコードで 7bit データです。 * 次から2バイトがアドレスコードで 13bit データです。 * 上の2つの制限により編集できないビットがあり、その部分へのインクリメント/デクリメントは無視します。 |
No. | 操作説明 |
1 |
MB を選択すると、以下の表示になります。2行目の表示は [F1]〜[F4] キーに対応しています。 +------------------+ | MB type | | T1 T2 T3 -- | +------------------+ * MB リモコンコードには type 1 / 2 / 3 の3つの送信プロトコルがあり、[F1]〜[F3] キーで選択します。 * [戻る] キーを押すと 3 に戻ります。 * 選択後は No.2 にジャンプします。 |
2 |
MB T1 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | MB T1 making... | | 0000 | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと No.1 に戻ります。 * 左から2文字ずつに区切ってバイトデータとして処理します。 * バイトデータの下位にカーソルがある時は、インクリメントで桁上がり/デクリメントで桁下がり処理をします。 |
MB T2 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | MB T2 making... | | 0000 | +------------------+ * 操作方法は MB T1 と全く同じため、説明は省略します。 |
|
MB T3 を選択すると、以下の表示になります。2行目の数字の下にカーソルを表示します。 +------------------+ | MB T3 making... | | F0F0F0 | +------------------+ * [←] キーを押すとカーソルは左に、[→] キーを押すと右に1文字ずつ移動します。 * [↑] キーを押すとカーソル位置の数字をインクリメント (+1) します。 * [↓] キーを押すとカーソル位置の数字をデクリメント (-1) します。 * [●] キーを押すと作成したリモコンコードを送信します。押し続けると同じコードを繰り返し送信します。 * [記憶] キーを押すと 8 にジャンプします。 * [戻る] キーを押すと No.1 に戻ります。 * 1/3/5文字目にカーソルは移動可能ですが、インクリメント/デクリメントは無効です。 * 1/3/5文字目には反転データが自動的に計算されて入ります。 |
No. | 操作説明 |
1 |
この処理に入ると以下の画面を表示します。 +------------------+ | Save Code | | Select Key ? | +------------------+* [記憶] [戻る] キーを一緒に押すと元のリモコンコード作成画面に戻ります。 |
2 |
例えば、[F1] キーを押すと以下のように表示して、作成したリモコンコードを [F1] キーに記憶します。 +------------------+ | Save Code | | Select Key : 01 | +------------------+* [↑] [↓] [←] [→] [●] [記憶] [戻る] キーにも記憶できます。 * 記憶が完了すると元のリモコンコード作成画面に戻ります。 |
キーコード | |||
01 | 02 | 03 | 04 |
05 | 06 | 07 | 08 |
09 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
No. | 操作説明 |
1 |
ディップスイッチ S1 の1番を ON、2番を OFF にして電源 ON すると以下の表示が出ます。 +------------------+ | Larn mode | | Select Key ? | +------------------+ |
2 |
例えば、[F1] キー (01) 押すと以下のようにキーコードを表示します。 +------------------+ | Larn mode | | Select Key : 01 | +------------------+ * [16] キー (戻る) を押すと No.1 に戻ります。 |
3 |
基板に向けて学習元のリモコンから発信すると、[01] キーにリモコンコードを学習 (記憶) します。 * リモコンコード受信が成功すると1行目の右のほうに [Good] を2回点滅表示して No.1 に戻ります。 * リモコンコード受信が失敗すると1行目の右のほうに [Faild] を2回点滅表示して No.1 に戻ります。 * [Faild] だった場合は EEPROM に書き込みしません。(EEPROM に変化なし) |
- |
No.1〜3を別なキーで実行します。 |
キーコード | |||
01 | 02 | 03 | 04 |
05 | 06 | 07 | 08 |
09 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
No. | 操作説明 |
1 |
ディップスイッチ S1 の1番を ON、2番を OFF にして電源 ON すると以下の表示が出ます。 +------------------+ | Send mode | | Select Key ? | +------------------+ |
2 |
例えば、[F1] キー (01) 押すと以下のように表示して、学習したリモコンコードを送信します。 +------------------+ | Send mode | | Select Key : 01 | +------------------+ * キーを押し続けると同じリモンコードを連続して送信します。 → SONY や三菱電機機器では複数回の同じコード受信で反応するので、この仕様にしています。 |
- |
他のキーを押すと、そのキーに学習したリモコンコードが送信されます。 * No.2の表示を繰り返します。 |
キーコード | |||
01 | 02 | 03 | 04 |
05 | 06 | 07 | 08 |
09 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
No. | 操作説明 |
1 |
[08] [16] キーの両方を押しながら電源を ON にします。 |
2 |
以下の表示が出ます。この時点で EEPROM のデータは全て消去され、初期化されています。 +------------------+ | EEPROM erased !! | | Please Power OFF | +------------------+* この状態ではキー操作は何もできません。 |
3 |
電源を OFF にします。 * この後、電源を ON にすると EEPROM が初期化された状態で開始します。 |