オプティマイズのKen Shirriff Arduino ライブラリを使用して IR コードをデコードするのに長い時間がかかりました。コードを少し修正して、Samsung エアコン (MH026FB) の 56 ビット信号をダンプできるようにしました。
私の作業の結果は、Google ドキュメント ドキュメントSamsung MH026FB AirCon IR Codes Dumpにあります。
これは、ダンプされたすべての値と結果の解釈を含むスプレッドシートです。私の知る限り、エアコンユニットは、コマンドに応じて、56ビットデータの2つまたは3つの「バースト」を送信します。エアコンの温度、ファン、機能、その他のオプションがどこにあるかを把握して、ビットを適切にデコードすることができました。
私が抱えている問題は、チェックサムに関連しています。これらすべての 7 バイト コードで、2 番目のコードは後半の 5 バイトから何らかの形で計算されます。たとえば、次のようになります。
BF B2 0F FF FF FF F0 (lead-in code)
7F B8 8A 71 F6 4F F0 (auto mode - 25 degrees)
7F B2 80 71 7A 4F F0 (auto mode - 26 degrees)
7F B4 80 71 FA 7D F0 (heat mode - 26 degrees - fan auto)
実行時に IR コードを再作成するため、これらのコードのチェックサムを計算できる必要があります。
多くの標準的なチェックサム アルゴリズムを試してみましたが、意味のある結果は得られませんでした。チェックサムは、残りのコード (3 から 7 までのバイト) のゼロの数に関連しているようですが、どうすればよいかわかりません。
この問題の解決策はありますか?