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

Автор: | 05.08.2013

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

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

 

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

 

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

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

Прошивка для микроконтроллера
099-T2313-IR-to-PIN.zip (3432 Загрузки)
099-fuse.png (4100 Загрузок)
Напоминаю:Для 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 (2718 Загрузок)
099-source-T2313-IR-to-PIN.zip (2837 Загрузок)

(Visited 15 351 times, 1 visits today)