0

私は espressif esp32 devkit v1 ボードを使用しており、ユニバーサル IR リモートを作成しようとしています。IRremote ライブラリ ( https://github.com/Arduino-IRremote/Arduino-IRremote ) を使用しています。(TSOP38238 を使用して) 生の IR データを収集するために ReceiveDump の例を実行しているときに、#define MARK_EXCESS_MICROS 20. この例では、次のように MARK_EXESS_MICROS で「補正」された配列を出力します。

Serial.print(F("Result as internal ticks (50 us) array - compensated with MARK_EXCESS_MICROS="));
Serial.println(MARK_EXCESS_MICROS);
IrReceiver.compensateAndPrintIRResultAsCArray(&Serial, false);
Serial.print(F("Result as microseconds array - compensated with MARK_EXCESS_MICROS="));
Serial.println(MARK_EXCESS_MICROS);
IrReceiver.compensateAndPrintIRResultAsCArray(&Serial, true);

後で、保存した IR コードを (IR LED を使用して) 送信すると、テレビは MARK_EXCESS_MICROS が 0 の場合にのみ応答 (オン/オフ) しますが、AC は MARK_EXCESS_MICROS の値に応答しません。

だからここに私の質問があります:

  1. MARK_EXCESS_MICROS とは何ですか? なぜ必要なのですか?
  2. デバイスが異なれば、MARK_EXCESS_MICROS の値も異なりますか?
  3. この値を効率的かつ効果的に使用するにはどうすればよいですか?
4

0 に答える 0