Если передаваемые данные считать управляющими командами, то модуль с мк 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) должны быть установлены как входы.