АУ. А насчет сигналов пульта вообще что? Давайте хоть с чем-то разберемся, а то я вообще профан какой-то в ик-связи.
1. Пусть с пульта шел бы следующий модулированный сигнал: высокочастотная несущая (про которую я не понял, зачем она), и низкочастотное собщение с частотой 32кГц.
2. TSOP при получении оставляет только 32кГц. Тогда я должен получить цифровое изменение. Было 5В, стало 0В, потом снова 5. Ну если сильный сигнал (я не пробовал издали, надо было проверить). Значит пока 0, сигнал есть. Ну, вроде, все совпадает на самый первый взгляд. Но 0 не чередуется с 5!!! А скорость обработки и так, вроде, высокая, но... А разные сигналы должны давать разную последовательность, а тут она даже для одного сигнала разная, даже если не прибегать к Excel-графику.
3. Сигнал то, в итоге, не в В, а в разрядности АЦП, как я понял, но меняется только один (два-три) разряд. При этом не фиксируется перепад! То есть, постоянный "0". А, согласно условию, сигнал, все-таки, меняется минимум на 1В, то есть должны выдаваться и 1023:( Может в протоколе проблема, скорость надо подстраивать? Или что?
Хотя показываются же только маленькие значения. Но встречается и 1023 в коде!!! Когда сильно отклоняю пульт. А как должен выглядить код для норм проверки
Так не помогает:
Код: Выделить всё
void setup() {
Serial.begin(115200);
}
void loop() {
float sv1 = analogRead(A6)*5/1024;
float sv2 = analogRead(A6)*5/1024;
if (sv1-sv2>1)
{Serial.println(analogRead(A6), DEC);}
else if (sv2-sv1>1)
{Serial.println(analogRead(A6), DEC);}
}
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru