076-Управление нагрузками при помощи IR-пульта (ATtiny13).

Автор: | 12.06.2011

ТитлИмея устройство IR-to-UART, которое выдает по UART код нажатой на IR-пульте клавиши , совсем не сложно сделать прошивку для прямого дрыганья ногами микроконтроллера. Единственная проблема в том, что заранее неизвестно какой пульт мы будем использовать или какую клавишу задействуем. Придется приделать к программе кусок, позволяющий изучать нужные кнопки. Этим мы сейчас и займемся!

Согласитесь, очень удобно когда, не вставая с кресла, можно одним пультом управлять, кроме телевизора, еще и освещением, вентилятором или другими бытовыми приборами в комнате. А если к устройству трудно (или вообще невозможно) добраться? Или нужен пульт для управления Вашей моделью.  Именно для таких целей и предназначено это устройство. Для управления нагрузками подойдет любой, выбранный Вами пульт, на котором можно выбрать любые клавиши. И если вдруг Вы не сможете быстро отыскать, где-то оставленный Вами пульт, Вы сможете использовать любой другой попавшийся под руку пульт, пройдя несложную процедуру его изучения. В общем, это нужное устройство. Будем собирать!

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

Распиновка устройства

Ножки Load A, Load B, Load C предназначены для управлением нагрузками (как подключить нагрузку к микроконтроллеру – читаем здесь >>). Индикаторный светодиод будет отображать действия устройства.

Прошивка.
Для прошивки микроконтроллера на плате выведены все необходимые сигналы. Подключаем программатор и заливаем прошивку.
076-T13-IR-to-Pin1.zip (11637 Загрузок)
sshot-11.png (18840 Загрузок)
Как правильно прошить AVR фьюзы

Работа устройства.
Работает устройство очень просто. Перед тем как использовать выбранный пульт необходимо пройти процедуру его изучения. Нажимая на изученные кнопки пульта можно управлять нагрузками: включать/отключать их как по отдельности, так и все вместе; запоминать и восстанавливать текущее состояние.

Процедура изучения клавиш пульта:
— включаем устройство;
— в течении около 10 секунд удерживаем нажатой любую клавишу пульта (для разных пультов время удержания разное, так как замеряется не время удержания, а количество автоповторов команды кнопки);
— по истечении 10 секунд замерцает индикаторный светодиод – устройство перешло в режим изучения;
— далее последовательно нажимаем клавиши пульта в порядке следования функций устройства. После каждой нажатой клавиши устройство будет подтверждать запоминание кнопки мерцанием;
— после последней изученной кнопки устройство подтвердит окончание изучения пульта длительным мерцанием и перейдет в режим управления нагрузкой.
Изучение команд клавиш пульта можно производить сколько угодно раз. Изученные кнопки записываются в энергонезависимую память, поэтому устройство их будет «помнить» даже после обесточивания устройства.

Последовательность изучения кнопок пульта:
1
включение/отключение нагрузки A (Load A)
2 включение/отключение нагрузки B (Load B)
3 включение/отключение нагрузки C (Load C)
4 выключить все нагрузки
5 включить все нагрузки
6 сохранить состояние нагрузок в энергонезависимую память
7 восстановить из энергонезависимой памяти состояние нагрузок
Всего 7 команд.

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

Видео, о том как это все выглядит на самом деле:

Файлы:
076-T13-IR-to-Pin1.zip (11637 Загрузок)
sshot-11.png (18840 Загрузок)
076-source-T13-IR-to-PIN1.zip (8011 Загрузок)

Ссылки:
069-Универсальная плата-IR Driver на ATtiny13.

P.S. Данный вариант обработки IR-сигнала и изучения пультов почти без изменений войдет в 1W-IR сеть, т.е. каждое устройство в сети (если это для него нужно) сможет принимать кроме сообщений сети еще и команды с IR-пультов. Алгоритм еще будет дорабатываться, так как он еще не оптимален и не отлажен.

 

МОДИФИКАЦИИ.
(Изменение некоторых аспектов работы устройства. Общая логика работы остается прежней)

Больше модификаций можно посмотреть в разделе форума. Там-же можно показать свои модификации.

Модификация №1.
— Убрано: запуск процедуры обучения пульта при длительном нажатии на любую клавишу пульта.
+ Добавлено: запуск процедуры обучения пульта при условии закорачивания  ножки кристалла 6 (PB1) (или штырька платы Out) на «землю» при подаче питания. После перехода в режим обучения (индикаторный светодиод помигает)  ножку нужно «отпустить».

076-T13-IR-to-Pin-Mod1.zip (4764 Загрузки)
sshot-11.png (18840 Загрузок)

Как правильно прошить AVR фьюзы
076-source-T13-IR-to-PIN-mod1.zip (4456 Загрузок)

Модификация может пригодиться в тех условиях, где присутствуют сильные длительные помехи или есть вероятность длительного удержания кнопки пульта при работе с какой либо бытовой техникой (короче, там где ошибочно запускается режим обучения).

Модификация №2.
+ Добавлено: запуск процедуры обучения пульта при БОЛЕЕ длительном нажатии на любую клавишу пульта.

076-T13-IR-to-Pin-Mod2.zip (4875 Загрузок)
sshot-11.png (18840 Загрузок)

Как правильно прошить AVR фьюзы
076-source-T13-IR-to-PIN-mod2.zip (4479 Загрузок)

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

(Visited 50 729 times, 5 visits today)

076-Управление нагрузками при помощи IR-пульта (ATtiny13).: 563 комментария

  1. Slava1985

    Спасибо, А когда сможете помочь? Или может подскажете в какой среде сделан исходник, попытаюсь сам поковырять.

  2. GetChiper Автор записи

    Привет!
    Пока никак не получится что-то делать.
    Никак не доберусь до проектов.

  3. Slava1985

    Процедура программирования — замыкание ножки на землю

  4. Slava1985

    Доброго времени суток! Подскажите а можно ли модифицировать прошивку чтобы осталось 3 команды при получении которых соответствующий канал включался на 5 секунд и выключался? В модификациях такого не нашел. Очень нужно.

  5. hey.invisible

    Я использую bc547 для управления светодиодом, светодиод включается на некоторое время, затем bc547 горячий, и я не могу выключить его, пожалуйста, помогите мне, я использую 5 В для обоих светодиодов и attiny13

  6. GetChiper Автор записи

    ITS TOSHIBA
    На форуме в разделе модификаций очень много вариантов этого устройства делалось — поищите помоему такое уже есть
    http://www.forum.getchip.net/viewforum.php?f=24&start=50
    По CV AVR версии не могу вспомнить что-бы ее тут оставляли.

    vitalik.dog1958
    Что-то и со сбросом уже делали (правда не уверен, что для этого устройства) — нужно поискать в модификациях

  7. ITS TOSHIBA

    кому надо больше трех ставьте дешифратор 3 на 8
    шим важнеее

  8. vitalik.dog1958

    Добрый день уважаемый GetChiper !
    Теперь здесь , добавьте пожалуйста в пост 076 еще и четвертый триггерный канал на ножку Reset.

  9. ITS TOSHIBA

    Автор здравствуйте
    можно как-то доработать чтобы выводить управляемый PWM
    (1 кнопка коэф заполнения растет 2 кнопка коэф заполнения падает )
    я так понял это написано на алгоритм буилдере ?

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