Ich habe die pulseIn()
Funktion zur Verarbeitung der PWM-basierten Binärdatencodierung verwendet. Es eignet sich gut zur Unterscheidung von Impulsen mit signifikant unterschiedlichen Längen, z. B. 500us gegenüber 1500us. Damit ist es mehr als ausreichend für die Handhabung typischer IR-Fernbedienungen.
Ich möchte jedoch mein eigenes IR-System erstellen, das mehr als 2 Pulslängen verwenden kann, damit die Datenübertragung schneller erfolgen kann. Idealerweise möchte ich 8 verschiedene Pulslängen für die Oktalcodierung verwenden (z. B. 200us, 400us, 600us usw.).
Ich habe jedoch erhebliche Abweichungen bei den zurückgegebenen Werten festgestellt pulseIn()
(+/- 10%). Ich gehe davon aus, dass zumindest ein Teil davon von den IR-Sende- und Empfangsmodulen eingeführt wird, aber ich habe nicht genügend Ausrüstung, um dies zu überprüfen.
Angenommen, ich kann diesen externen Fehler abmildern, ist er pulseIn()
wahrscheinlich genau genug, um solche ähnlichen Impulse zu unterscheiden?