Задание 5. ATtiny13 управляет “бегущими огнями”

Задание 5. ATtiny13 управляет “бегущими огнями”

Сообщение VVZ » 15 фев 2012, 22:43

В задании 4 данные (одиночные байты) c мк ATtiny13 передаются на USART мк ATtiny2313.

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

Изображение

Этот светодинамический экран управляется внешним модулем с ATtiny13 с макетки по ИК связи (скорость передачи 2400 бит/c). В центральной части экрана находится ИК приёмник, а по его контуру расположено восемь модулей. В каждом из них находится микроконтроллер ATtiny2313, к выходам которого подключены три разноцветных светодиода. Сравните схему предыдущего задания со схемой управления экраном :

Изображение

С выхода ИК приёмника сигнал одновременно поступает на входы USART-ов всех восьми микроконтроллеров (вывод 2 - PD0 - RxD), значит, как и в предыдущем задании, для выполнения этого задания на макетке достаточно одного передающего модуля на ATtiny13 и одного приёмного на ATtiny2313 :

Изображение

Для контроля управляющих команд при отладке программ в схеме от предыдущих заданий оставлена светодиодная шкала VD3, подключённая к сигнальным линиям RS0-RS7 (в модулях на экране она отсутствует). Также обратите внимание на то, что приёмный модуль на макетке соединяется с управляющим модулем не по ИК, а непосредственно с одним из выходов ATtiny13 (вывод 6).

Управление модулями на ATtiny2313 выполняется передачей команд (числа от 3 до 250). Например, команда “3” – включает все светодиоды, а команда 4 – выключает их. От команды 5 начинает работать один из созданных режимов работы “бегущих огней”, а от команды 6 – другой режим и так далее. Команды, поступающие через USART, должны тактировать “бегущие огни” приёмных модулей и выполнять смену светодинамических рисунков.

Задание:

Основная часть задания состоит в том, чтобы создать светодинамические рисунки приёмных модулей (написать программы). Создавая “рисунки”, следует учитывать возможность управления яркостью светодиодов. Некоторым ориентиром для выполнения задания может служить видеофрагмент (порядок светодинамических рисунков на видео приводится в следующем сообщении).




Схема :

В схеме, как и в предыдущем задании, используются два микроконтроллера. К разъёмам X2 и X3 подключаются шлейфы от программатора. Вывод 5 (PB0) микроконтроллера ATtiny13, как и раньше, управляет ИК диодом (VD1). Он используется для передачи ИК сигнала на внешние приёмные модули. Но в схеме есть изменения:

Изображение

R1, R7 - 10 кОм; R2 - 200 Ом; R3,R4,R5,R6 - 1 кОм; С1,С2 -0.1мкФ

1. Тактирующий сигнал от кнопки или генератора подаётся на вывод 2 ATtiny13 (PB3-PCINT3), а не на вывод 6 (PB1).
2. С вывода 6 (PB1) микроконтроллера ATtiny13 сигнал последовательной передачи (без ИК модуляции) поступает на вход RxD (PD0) микроконтроллера ATtiny2313 (вывод 2). Светодиод VD2 показывает состояние линии передачи.
3. Вывод 3 (PB4-ADC2) микроконтроллера ATtiny13 используется для ввода аналогового сигнала ADC.
4. Два вывода светодиодной шкалы (из восьми) отключаются от выводов 14 (PB2), 15(PB3) и подключаются к выводам 6 (PD2), 7 (PD3) микроконтроллера ATtiny2313.
5. К выводам 14 (PB2-OCR0A, G), 15(PB3-OCR1A, B), а также 9 (PD5-OCR0B, R) через токоограничивающие сопротивления подключаются три светодиода VD4-VD6. Аноды светодиодов подключены к линии VCC.

Изображение

R8 - набор сопротивлений по 1 кОм; в светодиодной шкале VD3 крайние светодиоды не используются.

Порядок выполнения:

1. Изменить монтаж на макетке и программу передающего модуля на ATtiny13 согласно изменениям в схеме (пункты 1, 2, 3).
2. Изменить монтаж на макетке и исходную программу приёмного модуля на ATtiny2313 согласно изменениям в схеме (пункты 4, 5).

Изображение

3. Приступить к выполнению основной части задания (созданию светодинамических рисунков).


Итоговая проверка :

Задание на макетке выполняется с одним модулем на ATtiny2313, но демонстрацию режимов (тестирование) по пунктам 11-24, 28-31 (смотрите следующее сообщение) и других подобных наглядней проводить на восьми и более модулях (16-ти, 24-ёх и так далее). Например, при демонстрации “кто что сделал” можно воспользоваться не только светодинамическим экраном (или несколькими экранами), предварительно записав программы в модули (*), но и проводить демонстрацию на макетках восьми и более учащихся. В этом случае :

- модуль управления на ATtiny13 одного из учащихся по ИК-каналу должен управлять работой всех остальных модулей на ATtiny2313 (всех учащихся);
- каждый из учащихся должен установить на макетке ИК-приёмник и записать соответствующий код программы в свой модуль с ATtiny2313.

Внимание !

(*) Если программа записывается в модули светодинамического экрана, то в ней надо обязательно внести изменение: выводы микроконтроллера (PB0-PB1, PD2-PD3, PB4-PB7) должны быть установлены как входы.
VVZ
 
Сообщений: 589
Зарегистрирован: 28 апр 2011, 09:44

Re: Задание 4. ATtiny13 управляет “бегущими огнями”

Сообщение VVZ » 15 фев 2012, 23:29

Порядок следования светодинамических рисунков на видео из предыдущего сообщения :

1. Общее включение
2. Общее выключение
3. Левый Сдвиг трёх светодиодов
4. Правый Сдвиг трёх светодиодов
5. Левый Счёт трёх светодиодов
6. Правый Счёт трёх светодиодов
7. Ступенчатое управление яркостью канала R
8. Ступенчатое управление яркостью канала G
9. Ступенчатое управление яркостью канала B
10. Ступенчатое управление яркостью 3-х каналов R,G,B.
11. Левый Сдвиг для 8-ми модулей (канал G - состояние “10000000”)
12. Правый Сдвиг для 8-ми модулей (канал G - состояние “10000000”)
13. Левый Счёт для 8-ми модулей (канал G)
14. Правый Счёт для 8-ми модулей (канал G)
15. Левый Сдвиг для 8-ми модулей (канал R - состояние “10000000”)
16. Правый Сдвиг для 8-ми модулей (канал R - состояние “10000000”)
17. Левый Счёт для 8-ми модулей (канал R)
18. Правый Счёт для 8-ми модулей (канал R)
19. Левый Сдвиг для 8-ми модулей (канал G - состояние “10001000”)
20. Правый Сдвиг для 8-ми модулей (канал G - состояние “10001000”)
21. Левый Сдвиг для 8-ми модулей (канал B - состояние “10001000”)
22. Правый Сдвиг для 8-ми модулей (канал B - состояние “10001000”)
23. Левый Сдвиг для 8-ми модулей (каналы R, G, B - состояние “10001000”)
24. Правый Сдвиг для 8-ми модулей (каналы R, G, B - состояние “10001000”)
25. Вспышки канала R
26. Вспышки канала G
27. Вспышки канала B
28. Левый Сдвиг 24-х светодиодов
29. Правый Сдвиг 24-х светодиодов
30. Левый Счёт 24-х светодиодов
31. Правый Счёт 24-х светодиодов


Посмотрите следующий небольшой фрагмент видео. На видео можно выделить не восемь, а сорок подобных приёмных модулей с различными вариантами расположения (шарик не считается). В системе, также управляемой по ИК, два круговых “экрана” и три в линию (в каждом по восемь модулей).




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

Более полное видео светодинамической системы на микроконтроллерах:



VVZ
 
Сообщений: 589
Зарегистрирован: 28 апр 2011, 09:44


Вернуться в Микроконтроллеры - Задания и примеры

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron