Клик С пультом по жизни Click 2006

Скетч для получения кодов ИК-пульта

Первая задача — получить список кодов клавиш нашего пульта.

Определим список клавиш пульта для управления:

  — движение вперед;

  — движение назад;

  — поворот влево;

  — поворот вправо;

  — увеличение скорости при движении вперед/назад;

  — уменьшение скорости при движении вперед/назад;

  — круговое движение на месте влево;

  — круговое движение на месте вправо;

  — остановка робота.

Запускаем скетч из примера и получаем коды нужных клавиш для вашего пульта. Значения кодов выводятся в последовательный порт.

#include

// вход ИК-приемника int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN); decode_results results; unsigned long ir_dt, old_ir; long ir_kod;

unsigned long ir_time1, ir_time2;

void setup()

{

// последовательный порт Serial.begin(9600);

// включить приемник irrecv.enableIRIn(); ir_time1=0;ir_time2=0;

// прерывания для ИК

// FALLING – вызов прерывания при изменении уровня напряжения

// с высокого (HIGH) на низкое (LOW) attachInterrupt(0, get_ir_kod, FALLING);

}

void loop()

{

// обработка кода нажатия if(ir_kod>0)

{

ir_go(ir_kod); Serial.println(ir_kod); ir_kod=0;

}

}

// получить код, переданный с ИК-пульта void get_ir_kod()

{

detachInterrupt(0); // отключить прерывание 0 if (irrecv.decode(&results))

{

if (results.value > 0 && results.value

{

ir_dt = results.value; ir_time2=millis();

// прошла 1 сек?

if (ir_time2-ir_time1>1000)

{ir_kod = ir_dt;ir_time1=ir_time2;}

else

ir_kod = 0;

}

irrecv.resume();

}

// активировать процедуру прерывания 0 attachInterrupt(0, get_ir_kod, FALLING);

}

Оформим их в виде констант

// коды клавиш ИК-пульта (marmitek)

#define BACK 3984 // ↓

#define SPEED_UP 144 //ch+

#define SPEED_DOWN 2192 //ch-

#define LEFT 3472 // ←

#define RIGHT 1424 // →

#define CIRCLE_LEFT 3216 //vol+

#define CIRCLE_RIGHT 1168 //vol-

#define STOP 2320 // 0 — стоп

Определять поступление команды с пульта мы будем по прерыванию 0 (на digital pin2). По прерыванию запускается процедура get_ir_kod(), которая определяет код, поступающий с пульта, и записывает его в переменную ir_kod. Процедура loop() проверяет переменную ir_kod, и в случае ненулевого значения переменной (получения кода с пульта) вызывает процедуру вывода действия ir_go(). На данном этапе — это вывод в последовательный порт предполагаемого по нажатию клавиши действия.

Данный скетч представлен в примере.

Результат команды с пульта выводитсяна монитор последовательного порта.

#include

// вход ИК-приемника int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN); decode_results results; unsigned long ir_dt, old_ir; long ir_kod;

unsigned long ir_time1, ir_time2;

// коды клавиш ИК-пульта (marmitek)

#define FORWARD 1936

#define BACK 3984

#define SPEED_UP 144 //ch+

#define SPEED_DOWN 2192 //ch-

#define LEFT 3472

#define RIGHT 1424

#define CIRCLE_LEFT 3216 //vol+

#define CIRCLE_RIGHT 1168 //vol-

#define STOP 2320 //0

void setup()

{

// последовательный порт Serial.begin(9600);

// включить приемник irrecv.enableIRIn(); ir_time1=0;ir_time2=0;

// прерывания для ИК

// FALLING – вызов прерывания при изменении уровня напряжения

// с высокого (HIGH) на низкое (LOW) attachInterrupt(0, get_ir_kod, FALLING);

}

void loop()

{

// обработка кода нажатия if(ir_kod>0)

{

ir_go(ir_kod); ir_kod=0;

}

}

// получить код переданный с ИК-пульта void get_ir_kod()

{

detachInterrupt(0); // отключить прерывание 0

if (irrecv.decode(&results))

{

if (results.value > 0 && results.value

{

ir_dt = results.value; ir_time2=millis();

// прошла 1 сек?

if (ir_time2-ir_time1>1000)

{ir_kod = ir_dt;ir_time1=ir_time2;} else

ir_kod = 0;

}

irrecv.resume();

}

// активировать процедуру прерывания 0 attachInterrupt(0, get_ir_kod, FALLING);

}

// действие по полученному коду void ir_go(kod)

{

switch(kod)

{

case FORWARD : // направление вперед Serial.print(«forward\n»);

break;

case BACK : // направление назад Serial.print(«back\n»);

break;

case SPEED_UP : // скорость++ Serial.print(«speed++\n»); break;

case SPEED_DOWN : // скорость— Serial.print(«speed—\n»); break;

case LEFT : // влево Serial.print(«left\n»); break;

case RIGHT : // вправо Serial.print(«right\n»); break;

case CIRCLE_RIGHT : // кружение вправо Serial.print(«circle_right\n»); break;

case CIRCLE_LEFT : // кружение влево Serial.print(«circle_left\n»); break;

case STOP : // стоп Serial.print(«stop\n»); break;

default: break;

}

}

Click here

Перед тем, как обратиться в службу ремонта

Проблема Причина Решение
Не подается питание даже при нажатии выключателя. Вилка питания отсоединена от стенной розетки, либо вставлена не до конца.Вилка питания отсоединена от входного гнезда переменного тока, либо вставлена не до конца. Вставьте вилку питания в стенную розетку должным образом.Вставьте вилку питания во входное гнездо переменного должным образом.
Отсутствует звук. Регулятор громкости установлен на минимальный уровень.Селектор входов не установлен на воспроизводимый источник.Не завершены кабельные соединения.Выходной уровень входного устройства установлен на минимум.Включен переключатель расстыковки. Поворачивайте регулятор громкости по часовой стрелке, чтобы подстроить громкость звука.Установите селектор входа на воспроизводимый источник.Выполните кабельные соединения надежно.Подстройте выходной уровень.Установите переключатель расстыковки в положение «выключен».
Отсутствует звук одного канала. Регулятор баланса повернут полностью.Соединительный кабель не подключен только на одной стороне. В нормальных условиях, регулятор баланса должен быть установлен в центральное положение.Выполните кабельные соединения надежно.
Слышится гудение (жужжание) Заземляющая часть кабеля RCA не входит в контакт с разъемом.Не подсоединен провод заземления проигрывателя грампластинок.Не завершены соединения или крепления между звукоснимателем и держателем, либо между держателем и тонармом проигрывателя грампластинок. Выполните надежные соединения так, чтобы была подсоединена заземляющая сторона разъема RCA.Подсоедините провод заземления проигрывателя грампластинок к разъему заземления сигнала GND.Подсоедините (или установите) звукосниматель, держатель и тонарм должным образом.
Не действуют регуляторы тембра и баланса. Включен переключатель обхода. Когда используются регуляторы тембра или баланса, переключатель обхода должен быть выключен.
Отсутствует подсветка измерителя мощности. Выключен переключатель дисплея. Установите переключатель дисплея пульта ДУ в положение «включен».

Топ программ-пультов для управления телевизором с мобильного устройства андроид

Google Play 4,1
Разработчик LG Electronics, Inc.
Версия игры 5.4
Требования Андроид 2.

2 и выше

Интернет Да
Русский язык Да
Права ROOT Нет
Цена Бесплатно

Размер файла.

apk

8,75 mb
Ссылка

Данная программа позволяет управлять телевизором с помощью телефона. Причем она настолько понятна в использовании, что разберется каждый.

Перед первым контролируемым доступом к ТВ приложение предложит выбрать, какая нужна версия – для телефона или планшета. На следующем шаге можно будет выбрать из списка подключенных к этой же сети телевизоров нужный. Для подключения к нему нужно будет в специальном поле ввести ключ, который в это время будет виден в правом нижнем углу монитора телевизора.

Далее попадаем на главный экран, через который уже можно убирать/прибавлять звук, переключать каналы и зайти в меню приложений. В нижней части экрана есть кнопка, нажав на которую пользователь получает возможность управлять телевизором при помощи сенсора. В это время на мониторе ТВ появится курсор мыши.

Плюсы и минусы

Из плюсов мной было замечено следующее:

  • скачать программу для Android можно абсолютно бесплатно;
  • мой телевизор был найден и определен очень быстро;
  • все кнопки на этом ПДУ работали исправно и точно.

Из минусов хотелось бы отметить невозможность включать устройство при помощи телефона.

Скачать

Google Play 4,5
Разработчик Tekoia Ltd.
Версия игры 4.10.82
Требования Андроид 4.

2 и выше

Интернет Да
Русский язык Да
Права ROOT Нет
Цена Бесплатно

Размер файла.

apk

24,94 mb
Ссылка

Если вдруг захотелось скачать универсальный пульт на Android, то эта программа именно для Вас.Сразу после запуска она предложит Вам выбор по следующим параметрам:

  • категория устройства – инфракрасный порт или Wi-Fi;
  • тип – ТВ, медиа-стример, домашняя автоматика, Wi-Fi – ИК передатчик, Media Sharing;
  • марка.

На следующем шаге отобразится список найденных устройств, для подключения к нужному также понадобится ввести ключ.

От LG TV Remote по функциональности эта программа особо не отличается, а вот визуально она немного попроще.

Плюсы и минусы

Из положительного:

  • скачивать программу на Android тоже можно бесплатно;
  • можно подключаться к разнообразным совместимым устройствам;
  • функционал понятен и все работало.

Возможности же включать свой телевизор через эту программу тоже нет, что немного расстраивает.

Скачать

Google Play 3,5
Разработчик CodeMatics Media Solutions
Версия игры 1.0.26
Требования Андроид 3.

2 и выше

Интернет Да
Русский язык Да
Права ROOT Нет
Цена Бесплатно

Размер файла.

apk

5,4 mb
Ссылка

Еще одна бесплатная утилита на Android для подключения к ТВ. Отличается от предыдущих тем, что для соединения нужно наличие ИК-порта на смартфоне. Графически же эта утилита оформлена довольно примитивно.

И все время в нижней части экрана выскакивали рекламные баннеры.Для начала работы тоже нужно выбрать марку своего телевизора, после сопряжения откроется главный экран, который визуально очень схож с привычными ПДУ.

Плюсы и минусы

Плюсы:

  1. Приложение устанавливается бесплатно.
  2. Имея ИК-порт, можно включать и выключать свой ТВ, что невозможно при управлении Smart.

Хотелось бы отметить пару минусов:

  1. Почему-то на моем смартфоне не был обнаружен ИК-порт, хотя он есть.
  2. Навязчивая реклама.

В утилите также заявлена возможность сопряжения через Wi-Fi, но и здесь что-то пошло не так.

Скачать

Мной были рассмотрены утилиты для управления ТВ с телефона, которые в поисковике Плей Маркета были в первой десятке. Отмечу, что LG TV Remote и SURE Universal Remote этого полностью заслуживают. Ими приятно пользоваться даже из эстетических соображений.

Похожие

Av ресивер onkyo tx-sr503e руководство по эксплуатации устройство…Это изделие широко известно в кругах истинных ценителей высококлассного звука. Его качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo тx-nr525 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr626 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo тx-nr828 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr414 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo тx-nr717 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr727 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo tx-nr313 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr1030 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo тx-nr414 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr525 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo тx-nr818 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr1009 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo тx-nr509 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…
Устройство радиоприемное o nkyo тx-nr828 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством… Устройство радиоприемное o nkyo cr-555 (руководство по эксплуатации)Эти изделия широко известны в кругах истинных ценителей высококлассного звука. Их качество и безопасность подтверждены множеством…

Руководство, инструкция по применению

Инструкция, руководство по применению

ИК пульт к компьютеру

Я предлагаю следующее. У нас уже был проект «Последовательный порт». В нем был реализован Verilog модуль приемо-передатчика последовательного порта — он нам пригодится. В том проекте плата Марсоход подключалась к последовательному порту компьютера через преобразователь уровней, который еще тогда я спаял. Там же есть его фото и  схема. Еще у нас был проект «ИК приемник». В той статье как раз рассказывалось, что из себя представляет сигнал, принятый приемником ИК излучения от пульта ДУ. Я сделаю новый проект платы Марсоход, в котором соединю ИК приемник и последовательный порт. Наше устройство будет передавать в компьютер уже готовые «коды» нажатых клавиш. Для компьютера я напишу на «С» (Microsoft Visual Studio) простую программку, которая будет печатать принятые коды, ну и выполнять на компьютере какие-то назначенные действия.Как и раньше, я буду использовать микросхему ИК приемника ILMS5360 (

Марсоход
ПЛИСkeyстатье «ИК приемник»

Повторюсь: в начале каждого пакета идет «префикс» (длинный ноль и потом длинная единица), а потом 32 бита данных (код кнопки пульта), где ноль кодируется совсем коротеньким импульсом, а единица — чуть подлиннее. При этом бит «ноль» получается чуть меньше 550мкс, а бит «единица» примерно в три раза длиннее. Еще более длинный импульс — это префикс.Таким образом, становится понятным алгоритм приема кода. Нужно измерять длину входных импульсов и по этой длине решать, что мы получили, очередной бит данных или начало пакета из четырех байт.

Весь проект для платы Марсоход вот здесь:

В этом же архиве есть и программка для Windows (ir_ctrl.exe) с исходниками, которая открывает последовательный порт и читает из него коды от пульта. Программа печатает принятые коды и на некоторые из них выполняет действие на компьютере. Я симулирую нажатие некоторых клавиш компьютера, связанных с программой плеера. Я использую пульт от телевизора Samsung, посмотрел какие он присылает коды. Обрабатываются следующие коды:

0xE0E0E01F volume up0xE0E0D02F volume down0xE0E052AD pause0xE0E0A25D prev0xE0E012ED next0xE0E0E21D play0xE0E0629D stop

Программа ir_ctrl.exe принимает имя последовательного порта, например, COM4 в коммандной строке.

Я написал код приемника ИК сигнала на Verilog, там есть много комментариев и я думаю вы сможете разобраться.Код приемника-передатчика для последовательного порта вот здесь.Чтобы была возможность получше понять, что там внутри этих двух модулей происходит я написал Verilog «тестбенч». Я опять использую программу Icarus Verilog для симуляции модулей проекта.Ниже несколько снимков экрана симулированных сигналов (просмотр сигналов был сделан с помощью программы GtkWave). Кликните на картинку, что бы увеличить ее:

Обратите внимание, что ИК сигнал гораздо «медленнее», чем интерфейс последовательного порта, который я запрограммировал на скорость 38400 бит/секунду. Именно по этому я не стал принимать 32-х битный код от пульта, а сразу передаю байт за байтом по мере их прихода от ИК приемника

Вот здесь видно крупнее: от ИК приемника принят 3-й байт 0x52 и передается в последовательный порт:

Теперь, чтобы продемонстрировать, что у меня получилось я покажу небольшое видео:

Перед эксплуатацией интегрированного усилителя

Установка батарей

  • Если пульт ДУ работает не надежно, попробуйте заменить все батареи.
  • Не смешивайте новые и старые батареи или различные типы батарей.
  • Если вы не намерены использовать пульт ДУ длительное время, извлеките батареи, чтобы предотвратить возможную утечку и коррозию.
  • Израсходованные батареи следует извлечь как можно быстрее, чтобы предотвратить утечку или коррозию.

Использование пульта ДУ

  • Пульт ДУ может работать не надежно, если интегрированный усилитель подвержен яркому свету, такому как прямой солнечный свет или свет люминесцентных ламп инверторного типа. Учитывайте это при установке.
  • Если другой пульт ДУ того же типа используется в той же комнате, или интегрированный усилитель установлен близко к оборудованию, которое использует ИК-лучи, пульт ДУ может работать не надежно.
  • Не кладите ничего, например, книгу, на пульт ДУ, поскольку кнопки могут быть нажаты непреднамеренно, разряжая батареи.
  • Пульт ДУ может работать не надежно, если интегрированный усилитель установлен в стойке за дверцами из цветного стекла. Учитывайте это при установке.
  • Пульт ДУ не будет работать, если существует препятствие между ним и датчиком дистанционного управления интегрированного усилителя.

Установка интегрированного усилителяСтраница 8

Схема пульта дистанционного управления

Большинство схем пультов ДУ TV и других бытовых устройств в своей основе имеют основную микросхему
, формирующую сигнал управления после нажатия соответствующей клавиши, усилитель сигнала
и ИК-светодиод
. Разница заключается лишь в наименовании и компоновке радиоэлементов внутри корпуса устройства и на печатной плате.

Микросхема представляет собой специализированный микроконтроллер, в который в процессе производства записывается программный код. Записанная программа затем уже не изменяется в течение эксплуатации. На плате располагается также кварцевый резонатор
для синхронизации частоты приемника и передатчика. Усилитель сигнала входит в состав микросхемы или выполнен на отдельном элементе.

Передача и прием команд

Возьмем операцию, которая наиболее часто встречается в быту: дистанционное беспроводное управление телевизором. Первое, что делает схема пульта, определяет, какая кнопка была нажата. Принцип определения тот же, что и в компьютерной клавиатуре: сканирование матрицы размещенных кнопок. Но, в отличие от клавиатуры ПК, на ПДУ генератор сканирования
находится в режиме ожидания и включается только при нажатии кнопок на пульте. Этим достигается экономное использование элементов питания.

Затем производится кодирование управляющего сигнала (команды) и передача его ИК-светодиодом. Перед передачей основного сигнала производится синхронизация передающего и приемного устройств, также на приемной стороне производится проверка соответствия кода пульта. Сама же передача будет осуществляться в течение всего времени, пока нажата управляющая кнопка.

Следует заметить, что производители электронных устройств ничем не ограничены в создании алгоритмов кодирования управляющих сигналов и используемых частот модуляции. Это приводит к тому, что часто даже однотипные модели одного производителя требуют для управления разные пульты управления.

Дистанционный пульт радиоуправления

Управлять кранами и кран-балками можно и с помощью пультов дистанционного радиоуправления. Для этого существуют особые радиопульты.

Это устройство, в свою очередь, делится на две разновидности:

  • пульт с кнопками;
  • пульт, имеющий командоаппараты.

Первый из них предназначен для тех кранов и балок, которые работают от односкоростного привода, имеющего двигатель с фазным типом ротора, либо двигатель с двумя скоростями.

Второй тип радиопульта работает на тех подъемниках, которые основаны на двигателях, имеющих фазный ротор.

Приведу и разъясню пару схем кнопочно-кабельного варианта управления. Эти схемы наиболее часто применяются для организации систем управления кран-балками и тельферами ввиду их относительной простоты и довольно неплохой надежности.

Вот первая из них.

Это стандартная схема включения (показан только движок хода телеги, схема устройства вира-майна идентична этой).

Когда нужен универсальный пульт управления

У вас в доме несколько современных устройств

Телевизор, декодер, плеер blu-ray, soundbar. Ваш комплект домашнего кинотеатра впечатляет. Так же, как число пультов, которые вы используете для его обслуживания. Разве не проще и удобнее было бы использовать один аксессуар?

Подходящий универсальный пульт управления позволит Вам эффективно и комфортно управлять функциями вашего оборудования. Благодаря ему, вы измените канал, запустите запись, включите плеер и измените параметры звука, без необходимости использования нескольких контроллеров.

Вы планируете расширение домашнего кинотеатра

Новое оборудование – это новые пульты. Приходиться запоминать расположение кнопок, учить их функции. Ещё нужно запомнить, для чего какой используется.

Лучшим вариантом будет выбор универсального пульта дистанционного управления. Это позволит Вам контролировать не только имеющееся оборудование, но и то, которое вы только планируете приобрести.

Оригинальный пульт управления поврежден или потерян

Что можно сделать в такой ситуации? Потратить много времени на поиск оригинального контроллера или рассчитывать на чистое везение, что кто-то выставит такой же на продажу. Второй вариант – ограничиться дешевой заменой. Здесь, однако, никогда нет уверенности, что он в полной мере позволит использовать возможности вашего оборудования. Универсальные пульты, производимые неизвестными компаниями, часто дают доступ только к базовой функциональности, например, включение и выключение приемника, переключение каналов, регулировка звука.

Самый верный выбор – приобрести полностью совместимый универсальный пульт управления.

Смартфон в качестве ПДУ

Еще один вариант ПДУ практически для любого устройства — использование в качестве управляющего устройства смартфона. При этом в нем может быть, а может и не быть реализована передача сигналов в ИК диапазоне (технология IrDA
). В последнем случае управление осуществляется через Bluetooth или Wi-Fi. Единственное ограничение состоит в том, что управляемое устройство должно также поддерживать эти протоколы обмена информацией, что реализовано не на всей технике.

Более интересен в качестве ПДУ вариант смартфона с ИК-портом. Рассмотрим это на примере модели Xiaomi Redmi 3
и довольно старого телевизора Daevoo
. Нам потребуется установить из Google Play
специальное приложение. Оно может быть любым, главное, чтобы в перечне поддерживаемого оборудования присутствовала нужна модель объекта управления. Для этого телефона с оболочкой от MIUI
оно называется Mi Remote
(русский язык присутствует).

После установки выбирается нужный производитель, и производится полноценное управление TV в полном объеме.

Технические характеристики

A-9030Номинальная выходная мощность Максимальная эффективная выходная мощностьОбщие гармонические искажения плюс шум (THD+N)Коэффициент демпфирования: Входная чувствительность и импеданс (небалансный вход)Номинальный выходной уровень на разъеме RCA и импедансПерегрузка входа Phono:Диапазон частотПараметры регулировки тембраОтношение сигнал/шумИмпеданс АССетевое питание: переменный ток 230 В, 50 ГцПотребляемая мощность: 135 ВтПотребляемая мощность на холостом ходу: 35 ВтПотребляемая мощность в ждущем режиме Standby: 0,3 ВтГабаритные размеры (Ш×В×Г): 435×139×330.3 ммВес: 7,4 кгАудио входыАналоговые стереофонические входыАудио выходыДругиеRI

Обмен данными в инфракрасном диапазоне

Для обеспечения надежного приема и гарантированной защиты от помех используется модуляция сигнала и кодирование. Передача данных производится в близком к видимому инфракрасном спектре. Длина волны в большинстве реализованных систем варьируется в пределах 800–950 нм. Самый простой способ избавиться от фонового шума — модулировать (заполнить) сигнал при передаче одной из стандартных частот: 30, 33, 36, 37, 38, 40, 56 кГц. Именно на эти частоты настроены все современные интегральные приемники.

Для обеспечения достаточной дальности при передаче кодовой последовательности необходимо сформировать мощный сигнал. Ток через ИК-светодиод может достигать 1 А — такие токи вполне допустимы в импульсном режиме, при этом средняя рассеиваемая мощность не должна превышать предельно допустимую, указанную в документации.

Разработано большое количество специализированных микросхем (SAA3010, GS8489, KS51840 и т

п), генерирующих готовую кодовую последовательность и потребляющих минимальный ток в ждущем режиме, что немаловажно при питании от батарей. Эти микросхемы существенно упрощают схему пультов дистанционного управления (ПДУ)

Когда мы нажимаем кнопку пульта, микросхема передатчика активизируется и генерирует кодовую последовательность с заданным заполнением. Светодиод преобразуют эти сигналы в ИК-излучение. Излученный сигнал принимается фотодиодом, который снова преобразует ИК-излучение в электрические импульсы. Эти импульсы усиливаются и демодулируются микросхемой приемника. Затем они подаются на декодер. Декодирование обычно осуществляется программно с помощью микроконтроллера.

Приемник ИК ПДУ должен восстанавливать данные с двухфазным кодированием и реагировать на большие быстрые изменения уровня сигнала независимо от помех. Ширина импульсов на выходе приемника должна отличаться от номинальной не более чем на 10 %. Приемник также должен быть нечувствительным к постоянным внешним засветкам. Удовлетворить всем этим требованиям достаточно непросто. Старые реализации приемника ИК ДУ, даже с применением специализированных микросхем, содержали десятки компонентов. Такие приемники часто использовали резонансные контуры, настроенные на частоту заполнения. Все это делало конструкцию сложной в изготовлении и настройке, требовало применения хорошего экранирования.

В последнее время большое распространение получили трехвыводные интегральные приемники ИК ПДУ (SFH5110-xx, TSOP17xx, TFMS5хх0 и т. п.). В одном корпусе они объединяют фотодиод, предусилитель и формирователь. На выходе формируется обычный ТТЛ-сигнал без заполнения, пригодный для дальнейшей обработки микроконтроллером. Наиболее важный параметр при выборе приемника — частота заполнения.

Внутренний усилитель интегрального приемника имеет высокий коэффициент усиления, поэтому для исключения самовозбуждения и устранения влияния наводок по цепям питания необходимо использовать электролитический конденсатор емкостью не менее 4,7 мкФ, подключенный максимально близко к выводу VCC.

Работаем с ИК пультом

31 Июля 2011

Давно хотел собрать приемник сигналов с ИК-пультов, точнее сказать интересовала только возможность выключать свет ИК-пультом от телевизора. Окончательно загорелся когда прочитал несколько статей на сайте GetChip. Вот только повторять один к одному не интересно, решил заменить микроконтроллер на STM8.

Анализ сигналов ИК-пульта

Первым делом проверил “какие” сигналы генерирует имеющийся у меня пульт. Для анализа очень удобно и просто записать сигналы с помощью звуковой карты ПК. Как это сделать читаем тут Запись сигналов IR-пульта на звуковую карту.

Вот что у меня получилось:

Больше всего формат посылок похож на Extended NEC protocol:

ИК-приемник

Долго мудрить не стал, выбрал самый дешевый и способный работать при низком напряжении питании (от 2,5 до 5,5 В) TSOP31236 (26 рублей):

Пришел только вчера, ждал почти три недели 🙁

Прием и обработка сигналов

Самый простой алгоритм анализа сигнала на мой взгляд является измерение длительности импульсов.

Из доступной периферии для измерения длительности лучше всего использовать 16-ти битный таймер общего назначения, в связи с наличием его во всей линейке STM8 (и STM32), что позволит в дальнейшем использовать один и то же код.

Можно было бы использовать и расширенный таймер, но он слишком “вкусный” для такой простой задачи. А восьми битные таймера не имеют внешних входов.

Как правило таймер общего назначение реализован под номером 2 (TIM2).

Проанализировав все доступные режимы работы таймера я выбрал режим “PWM input signal measurement”.

Данный режим работы предназначен для измерения длительности импульса и периода ШИМ сигнала.

В этом режиме к одному внешнему входу подключены два канала “захвата”. Каналы настроены на выделение разных фронтов входного сигнала (нарастающий и спадающий). В примере на рисунке ниже, канал IC1 настроен на выделение нарастающего фронта сигнала, канал IC2 – спадающий фронт:

Так как самый функциональный всегда расширенный таймер 1 (TIM1), а все остальные являются его упрощенными версиями, следовательно описание всех режимов работы дано для таймера 1. Поэтому хоть я и рассматриваю таймер 2 на рисунке выше указанно TIM1.

При детектировании нарастающего фронта происходит запоминание текущего значения (в данном случае это значение является периодом входного сигнала), сброс счетного регистра и одновременное генерирование соответствующего прерывания. Аналогичные действия происходят и при детектировании спадающего фронта во втором канале, за исключением сброса счетного регистра.

Как видим всё довольно просто. Остается только в обработчиках прерываний считывать длительности и анализировать их.

По моему мнению для сигналов моего пульта нет смысла измерять все длительности подряд. Объясню почему.

Можно выделить три пары длительности сигналов:

Сигнал Длительность ИК-излучения, мс Длительность паузы, мс
Начало посылки 9 4,5
Логическая единица 0,56 1,69
Логический ноль 0,56 0,56

Как видим информация о длительности пауз достаточно для однозначного определения различных типов сигнала.

Программная реализация Для простоты буду использовать стандартные библиотеки, конечно это не оптимально, но более универсально.

Схему подключения ИК-приемника использовал типовую (см. рисунок выше). Сигнал на выходе ИК-приемника инверсный, т.е. когда нет излучения на выходе всегда высокий логический уровень. Подан на линию TIM2_CH1.

И так настраиваем настраиваем таймер согласно описанному выше режиму:

Собственно всё, теперь только анализировать длительности сигналов. Согласитесь очень просто 🙂

Пример обработчика (написан на скорую руку, поэтому оптимальностью не пахнет, плюс ошибся в порядке следования битов :)):

Для тестирование выводил данные из приемного буфера на ЖКИ:

Видео работы:

Categories:

Проекты

Please enable JavaScript to view the comments powered by Disqus.

comments powered by Disqus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Adblock
detector