Идея найти способ управления при помощи стандартного пульта чем-то лице, кроме предназначенного для него телевизора, давно овладела умами «творческой молодежи» любого возраста. Что подтверждается публикациями самых различных схем, идей и способов дешифровки команд пульта ДУ, среди которых: простое распознавание по времени удержания кнопки нажатой, использование схем, подсчитывающих число импульсов кодовой посылки за единицу времени, программные дешифраторы на основе микроконтроллеров, однокомандные системы, реагирующие на сам факт наличия модулированного ИК-сигнала.
Хочу предложить свой вариант простого дешифратора для «грубой дешифровки» команд пульта ДУ. «Грубой», - потому что этот способ не позволяет распознать все множество команд, которые способен передавать пульт. Он приближенно идентифицирует команды разбивая их на группы. И затем, каждой группе присваивает определенную функцию. В результате, например, пультом, содержащим несколько десятков кнопок, можно управлять четырьмя - пятью объектами.
Идея состоит вот в чем. Если посмотреть осциллографом форму импульсов на выходе стандартного фотоприемника (рис. 1) во время приема команды, то можно увидеть, что команда состоит из одинаковых командных посылок, повторяющихся с частотой около 10 Гц в течение всего времени удержания кнопки пульта нажатой После отпускания кнопки пульт завершает последнюю командную посылку и прекращает передачу сигнала.
Каждая командная посылка (рис. 2) состоит из некоторого количества импульсов, причем, это количество импульсов одинаково для всех команд определенного типа пульта. Поэтому, идентифицировать команды, подсчитывая импульсы в командной посылке невозможно. Кроме того, каждая командная посылка звни-мает одно и то же время, так что, идентификация по её длительности или по частоте импульсов так же оказывается невозможной.
Но, есть один момент, - код команды задается чередованием в определенной последовательности импульсов, условно говоря, однократной и двухкратной длительности отрицательного перепада. Так задаются двоичные знаки кода : единица - длинный импульс, нуль - короткий, или наоборот (напоминает старую добрую «морзянку»). При этом продолжительность отрицательного перепада короткого импульса примерно 0,8 mS, а длинного-1,6mS. Теперь задача упрощается, - поскольку командные посылки разных команд отличаются не только порядком коротких и длинных импульсов, но и соотношением их количества.
Таким образом, не проводя полной расшифровки команд, можно осуществить «грубую» идентификацию сгруппировав команды по количеству в посылке, например, длинных импульсов, не обращая внимания на количество коротких. А осуществить это можно при помощи несложного селектора длительности импульсов, с постоянной времени больше чем у короткого импульса и меньше чем у длинного, например, 1,2mS.
Такой селектор будет пропускать на вход счетчика только длинные импульсы. А далее дело простое, -счетчик подсчитает число длинных импульсов и выдаст результат, который и можно будет использовать для управления Потребуется еще один селектор-формирователь импульсов, который должен будет вначале каждой командной посылки обнулять этот счетчик.
А теперь рассмотрим схему, показанную на рисунке 3 ИК-излучение пульта принимает резонансный интегральный фотоприемник F1. Форма импульсов на его выходе показана на рисунках 1 и 2. В момент начала поступления командной пачки происходит быстрый разряд конденсатора С2 через прямое сопротивление диода VD1 и выходной ключ F1. На выходе инвертора D1.1 возникает единица, и цепь С4-R4 формирует короткий импульс, который сбрасывает счетчик D2 на нулевое значение.
Цепь VD2-C3-R3 представляет собой селектор длительности отрицательных импульсов. Он пропускает только импульсы, длительность отрицательного перепада которых более 1,2mS. Импульсы с меньшей длительностью отрицательного перепада не пропускаются, поскольку за время их отрицательного перепада конденсатор С3 не успевает разрядиться через R3 до порога логического нуля. Во время положительных перепадов импульсов этот конденсатор быстро заряжается через прямое сопротивление VD2 и R1.
Таким образом, счетчик D2 считает только широкие импульсы командной посылки, а узкие пропускает К концу кодовой посылки на выходе счетчика D2 будет состояние, численно равное количеству логических единиц в кодовом слове, переданном от пульта (например, если кодовое слово было «10010001010», то единица будет на выводе 10 D2). Если же в системе кодирования данного пульта узкие импульсы соответствуют единицам, то число на выходе счетчика D2 будет равно числу нулей в кодовом слове, но в данном случае, это существенного значения не имеет Главное, что счетчик считает только широкие импульсы. |