099-Расширенное управление нагрузками при помощи ИК пульта на ATtiny2313.

Автор: | 05.08.2013

Устройство этой статьи является, на самом деле, не совсем новым. Оно было сделано и отлажено довольно много времени назад, но я все никак не мог выбраться набрать статью. И вот теперь, когда в разработке новые устройства с применением ZiChip, в перспективе позволяющие более гибко работать с логикой работы, у меня вообще появились сомнения по поводу необходимости публикации этой статьи. Но раз уж устройство собрано, отлажено и работает, решил его показать в блоге. Тем более будет видна разница между подобными устройствами с и без применения ZiChip. Описание будет кратким без подробностей.

Итак, устройство этой статьи является «старшим братом» подобного устройства на ATtiny13 и было создано в ответ на просьбы пользователей по расширению функционала последнего.

 

Новое устройство умеет:
— работать с 7-ю цифровыми и 2-мя ШИМ – выходами;
— управлять нагрузками, как с пульта, так и с нескольких клавиш на плате;
— запоминать состояние выходов в энергонезависимой памяти и восстанавливать их;
— управляться и выдавать отчеты о выполненных действиях по UART.

 

Конструкция устройства
В качестве основы для устройства была задействована плата сенсорного драйвера,

соответственно и схема подобная

Прошивка для микроконтроллера
099-T2313-IR-to-PIN.zip (3429 Загрузок)
099-fuse.png (4096 Загрузок)
Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.

Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как программировать микроконтроллеры читаем в FAQ.

 

Изучение кнопок пульта
— производится аналогично устройству на ATtiny13 – режим обучения включается по длительному зажатию кнопки пульта.

 

Последовательность изучения кнопок пульта следующая:
1 Увеличение H
2 Уменьшение H
3 Увеличение I
4 Уменьшение I
5 Включение/отключение A
6 Включение/отключение B
7 Включение/отключение C
8 Включение/отключение D
9 Включение/отключение E
10 Включение/отключение F
11 Включение/отключение G
12 Все выключить
13 Все включить
14 Сохранить 1
15 Восстановить 1
16 Сохранить 2
17 Восстановить 2
Если какая-либо из команд не нужна – нужно нажимать уже изученную клавишу.

 

 

Устройство имеет расширенный перечень команд и любое действие с выходами можно произвести через UART.

Настройки UART
Скорость передачи – 9600;
Количество бит данных – 8;
Бит четности – нет;
Количество стоп-бит – 1.

 

Действия по командам UART:
x0 — выключение нагрузки x,
где x может быть от A до G (например «B0» — отключение второй нагрузки);
x1 — включение нагрузки x,
где x может быть от A до G (например «C1» — включение третей нагрузки);
Hy — изменение уровня (ШИМ) на нагрузке Н,
где y может быть (бинарное однобайтовое значение) от 0-(выключено) до 255-(максимум);
Iy — изменение уровня (ШИМ) на нагрузке I,
где у может быть (бинарное однобайтовое значение) от 0-(выключено) до 255-(максимум);
=0 — выключить все;
=1 — включить все;
[0 — запомнить состояние нагрузок в ячейку 1;
[1 — восстановить состояние нагрузок из ячейки 1;
{0 — запомнить состояние нагрузок в ячейку 2;
{1 — восстановить состояние нагрузок из ячейки 2;
? — выдать по UART текущего состояния нагрузок
формат выданной посылки будет иметь вид «A1B0C0D0E1F0HхIх»,
где A1 — включена нагрузка A, A0 — выключена нагрузка A (и так для остальных цифровых выходов)
Hx и Ix — уровень на аналоговых выходах H и I, (x — бинарное однобайтовое значение 0-255).

 

При выполнении действий с пульта или кнопок, по UART выдаются коды команд:
A G — переключение нагрузок соответственно A – G;
H и h – соответственно, увеличение и уменьшение аналогового канала H;
I и i – соответственно, увеличение и уменьшение аналогового канала I;
1 — все включить;
0 — все выключить;
s — запомнить состояние в ячейку 1;
r — восстановить из ячейки 1;
S — запомнить состояние в ячейку 2;
R — восстановить из ячейки 2.

 

Данное устройство уже было опробовано в действии пользователем MechanicCDRR – отзывы положительные. Если решите попробовать и Вы – жду обратной связи.

 

Материалы читателей блога.

1 Платка от Алексея

[Загрузка не найдена]

 

Файлы статьи:
099-Tiny2313-IR-to-PIN-schem.zip (2710 Загрузок)
099-source-T2313-IR-to-PIN.zip (2834 Загрузки)

(Visited 15 302 times, 2 visits today)

099-Расширенное управление нагрузками при помощи ИК пульта на ATtiny2313.: 151 комментарий

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

    Это все можно будет реализовывать при помощи ZiChip. Есть в планах сделать устройство и специально под освещение.

  2. sorema

    Евгений, возможно ли сделать такой mod: ШИМ три канала для регулировки RGB, остальные выводы, включая 2,3 без защелки (нажал-1, отпустил-0.

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

    Хорошо — запишу себе в планы.
    Отпишусь здесь когда будет готово.

  4. alex_osa

    устройство 099 ноги 4 5 6 11 12 13 являются кнопками нажал ВКЛ ещё раз выкл управление ( A B C D E F) ноги 14 15 16 17 18 19 являются виходами.ну и возможность управлять как по кнопкам так и через юарт а при нажатии на кнопку в юарт отправить соответствующий символ ик управление не нужно. Спасибо

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

    То есть к 109 просто приделать 5 выходов, которые будут дублировать нажатия кнопок на матрице?

  6. alex_osa

    я уже думал об этом и о 109 но получается по 11 ног в 2 схемах не задействованы при этом увеличиваются и размеры и стоимость а так если вместить в одну схему 109 и 110 было бы замечательно.Если есть время помогите с прошивкой.Спасибо.

  7. alex_osa

    Уважаемый GetChiper сможете помочь с прошивкой 099для меня на 5 входов и 5 выходов с выдачей отчета по юарт чтобы была возможность управлять как кнопкой без фиксации так и по юарт (ик не нужно)

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

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

  9. alex_osa

    Ик мне не нужен хотелось что бы было еще управление по юарт и выдача отчета в юарт замутить к тому устройству что по ссылке или в 099 добавить 5 выходов и было б мне счастье.А Вы не могли б подправить не много прошивку для меня?Спасибо.

  10. alex_osa

    ик мне не нужен хотелось что бы было еще управление по юарт и выдача отчета в юарт замутить к этому устройству и было б мне счастье.А Вы не могли б подправить не много прошивку?

  11. alex_osa

    В модификациях ничего похожего не нашол можете скинуть ссилочку.

  12. alex_osa

    Уважаемий автор а можно сделать это устройство чтоб било 5 виходов 2из которих шим 5входов желательно сенсорних для управления этими виходами ( по 1 виходу на канал) +юарт без ик управления и как соединить по юарту несколько таких устройств в одну сеть чтоби пк не путал какому устройству отправлять и от какого получил инфо.Заранее спасибо.

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

    Цифровой выход — это тот-же аналоговый, но только с возможными двумя состояниями 0 вольт и 5 вольт. Поэтому смело включайте к аналоговым входам (только вот для чего?)

  14. peits

    Подскажите, а цифровые выходы,как их подключить к аналоговым входам чего либо ?

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

    В последнем устройстве из модификаций ничего не подходит?

  16. den

    вечер добрый уважаемый GetChiper! помогите с прошивкой! хотелось бы что бы через уарт нужно было подовать значения без 1 и 0 для включения — отключения, а просто букву канала для вкл выкл! буду очень признателен!

  17. ufofly

    на тини13 все работает!!! что же с тини2313? :(((

  18. ufofly

    пришел вчера тини13а. сегодня попробую на нем…

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

    На любой должен мигать

  20. ufofly

    да. я открывал.. и увидел там…. блок-схемы. попробую разобраться 🙂
    Еще вопросик. на другие протоколы пульта(т.е. не RC5) светодиод тоже должен мигать?

  21. ufofly

    и исходник как можно посмотреть? я так понимаю он на ассемблере…

  22. ufofly

    @GetChiper
    наверно стоит написать простенькую отладочную прошивку. пара выходов на нагрузку, кнопка для обучения пульта и несколько выходов для отладки(вкл/выкл светодиода), что бы знать что контроллер делает…

    а на другие протоколы пульта светодиод тоже должен мигать?

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

    ATtiny2313A должна работать без проблем. конструкция испытана многими читателями — проблем не было.

    Если не выйдет запустить скоро будет статья с модификацией этой прошивки — может она заработает?

  24. ufofly

    @GetChiper
    Да. Вчера как раз той прошивкой и проверил МК. ИК приемник тестером проверял — напряжение падает!!!.
    Прям сейчас и с компа проверил http://www.getchip.net/posts/077-zapis-signalov-ir-pulta-na-zvukovuyu-kartu/ , только вместо ИК светодиода прикрутил ИК приемник с подачей питания. Могу кстати WAV, если нужно, скинуть. Пульт Самсунг (со SmartTV). Фьюзы, сейчас скрин скину…

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

    Ну, для начала я бы проверил рабочий ли МК. Для этого есть тестовые прошивки http://www.getchip.net/posts/022-testovaya-proshivka-dlya-avr-mikrokontrollerov-proverka-rabotosposobnosti-portov/
    Если МК целый то нужно проверить TSOP. как минимум мультиметром (при нажатии на кнопки пульта напряжение на выходе должно проседать)
    И еще, Фьюзы правильно прошиты?

  26. ufofly

    В чем может быть проблема? как можно проверить?

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

    Голубая штучка пьезоизлучатель (бузер, пищалка). Светодиод должен мигать при нажатии клавиш пульта, даже если они не изучены.

  28. ufofly

    Добрый день. Вчера собрал схемку на контактной макетке. Что то ничего не заработало. Контроллер тини2313а-пу. Есть ряд вопросов:
    Что делают светодиоды, в смысле, при каких событиях загораются?
    Что за штучка, которая может включаться вместо первого светодиода в голубом полукружочке?
    При подключении питания должен как то сигнализировать о начале работы и при работы пульта?
    Жду ответа…

  29. leobalabaj

    Здравствуйте Уважаемые Автора проекта.Огромнейшая просьба к Вам немножко переделать прошивку так чтобы при включения питания устройства включались каналы сохраненные в память 1,обучение-вывод 7,уарт-не важно,все остальное как в первой прошивке.Прошивку пришлите пожалуйста на мою почту leo0673160436@yandex.ru Огромное спасиба за Ваш проект.С ув leobalabaj.

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

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

  31. sorema

    Уважаемый Евгений, огромная благодарность вам за интересный, логично и доходчиво изложенный материал. Изготовил больше половины ваших конструкций – все работают без заминки. Теперь просьба: нельзя ли изменить прошивку в данном устройстве так, чтобы четыре кнопки были без «фиксации» (защелки).Можно использовать выводы 2,3,8,9. Это необходимо для позиционирования устройства. Заранее благодарен.

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

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

  33. AlexRen

    Интересное устройство, спасибо. Но у меня вопрос, нельзя ли было вместо нескольких портов сделать детектор нуля для полноценного использования симисторов?

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

    Просто составляется хеш посылки (здесь по методу CRC8, в новых устройствах уже CRC16) и по этому хешу потом ведется поиск соответствия. При таком способе нет разницы какая посылка длинной и какой у нее протокол — получается всегда число одной размерности.

  35. usatorrent

    подскажите какой у вас алгоритм запоминания разных команд с разных пультов?я имею ввиду как вы потом их обрабатываете и идетифицируте после приема с tsop?или на емейл

  36. silent36

    Добрый вечер! Уважаемый GetChip, впервые стали получаться схемы на МК)за что Вам огромное спасибо!) А не найдётся у вас печатной платы для данного устройства?

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

    Что значит передать по ардуино?

  38. maksmkv

    Как можно передалть данный код прошивки по ардуино?

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