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

Автор: | 05.08.2013

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

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


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


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

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

Прошивка для микроконтроллера
099-T2313-IR-to-PIN.hex - Прошивка IR управления для ATtiny2313
099-fuse.png - Фьюзы для ATtiny2313
Напоминаю:Для 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_PCB.zip - Плата в диптрейсе от Алексея


Файлы статьи:
099-T2313-IR-to-PIN.hex - Прошивка IR управления для ATtiny2313
099-fuse.png - Фьюзы для ATtiny2313 
099-Tiny2313-IR-to-PIN-schem.spl7 - Схема IR to PIN в Сплане
099-source-T2313-IR-to-PIN.zip - Исходник IR to PIN в Билдере

(Visited 3 159 times, 5 visits today)

There are 143 comments

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