[Arduino] Работа с TSOP1836

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
kras
Опытный кот
Сообщения: 782
Зарегистрирован: Вт апр 26, 2011 18:37:06

[Arduino] Работа с TSOP1836

Сообщение kras »

Взял пульт Toshiba CT-9782 и ик-приемник, хочу распознавать каналы. Есть аналоговый вход, поэтому решил напрямую проверять, какой уровень сигнала приходит. Программа, которая позволяет лишь зафиксировать любой сигнал с пульта:

Код: Выделить всё

void setup() {
  Serial.begin(9600);
}

void loop() {
  float sv1 = analogRead(A6)*5/1024;
  float sv2 = analogRead(A6)*5/1024;
  if (sv1-sv2>1)
  {Serial.println(analogRead(A6), DEC);}
}

Но она выдает фигню, на первый взгляд! Первое нажатие на клавишу "7" дает:

2
0
2
0
1
2
0
0
0
1
1
1
2
2
0
1
Второе уже
2
2
0
0
1
1
0
1
0
1
1
2
1
2
2
1
2
2
Третье
0
2
2
1
0
2
2
1
0
0
1
1
1
0
0
0
1
1
Это как?
Долго жму:

1
0
1
2
0
1
2
0
0
1
1
1
0
1
0
2
2
2
0
2
2
2
1
0
2
0
1
0
1
1
2
2
0
2
0
2
0
1
1
2
0
0
0
2
2
1
1
0
1
0
1
2
0
0
0
1
2
0
1
1
1
0
0
1
2
2
2
1
1
1
0
0
3
0
2
2
2
0
1
0
1
2
0
2
0
0
0
0
2
1
1
0
1
1
3
1
0
1
1
1
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru
kras
Опытный кот
Сообщения: 782
Зарегистрирован: Вт апр 26, 2011 18:37:06

Re: [Arduino] Работа с TSOP1836

Сообщение kras »

АУ. А насчет сигналов пульта вообще что? Давайте хоть с чем-то разберемся, а то я вообще профан какой-то в ик-связи.
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
Аватара пользователя
dalay-lama
Потрогал лапой паяльник
Сообщения: 328
Зарегистрирован: Вт ноя 20, 2007 17:30:36
Откуда: Раша

Re: [Arduino] Работа с TSOP1836

Сообщение dalay-lama »

kras писал(а):Давайте хоть с чем-то разберемся


Для начала определитесь с протоколом и принципами http://www.getchip.net/posts/077-zapis-signalov-ir-pulta-na-zvukovuyu-kartu/.
Важнейшая задача цивилизации - научить человека мыслить. /Т. Эдисон/
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: [Arduino] Работа с TSOP1836

Сообщение qwerky »

сначала ответьте на вопрос - зачем там АЦП ?
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: [Arduino] Работа с TSOP1836

Сообщение Мастер Ломастер »

32 кГц и есть высокочастотная несущая судя по всему, после ТСОПа ее не будет уже
битва с дураками проиграна, победители торжествуют. слава победителям!
kras
Опытный кот
Сообщения: 782
Зарегистрирован: Вт апр 26, 2011 18:37:06

Re: [Arduino] Работа с TSOP1836

Сообщение kras »

ОК, ну у меня проблема с тем, как различить каналы между собой, хотя бы в такой системе. Аналоговый вход, может быть, излишен, но тогда я не понял, как действует TSOP. Когда поступает любое напряжение, я так понял, он сразу выделяет только сообщение, демодулируя сигнал, но сообщение не может быть с нулевой частотой, например, то есть есть еще фильтр. И вот, я подаю одну гармонику амплитудой 1В. Так что, он не покажет на выходе гармоническое колебание? Если покажет, то я таким образом перестраховываюсь, чтобы не принять логическую единицу за 0. А если нет, то правильно, можно и не использовать аналоговый вход.
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru
kras
Опытный кот
Сообщения: 782
Зарегистрирован: Вт апр 26, 2011 18:37:06

Re: [Arduino] Работа с TSOP1836

Сообщение kras »

Я пробую уже второй день разобраться со ссылкой, но пока проблема в том, что белый светодиод, который оказался под рукой, не загорается вообще при сигналах, генерируемых DVZ. На слух все ощущается с динамиков ноутбука, втыкаю диод со штекером во вход наушников - света нет. Думал, может вольтметр померит - а он выдает 0. Почему? Я пока думаю, что логический 0 - минус, а 1 - плюс. Наверное, так. Сигнал, получается, такой: 36кГц заполнения + 1 и 0 по 4.5с. Не срабатывает диод! Может быстродействия не хватать? Он долго от тестера загорается. А как тогда правильно купить светодиод?:)
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова - не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»