По материалам

Скачать книгу
Шар со световыми эффектами для новогодней елки
На Новый год елка наряжается игрушками, гирляндами, бегущими огнями... Световые эффекты очень украшают елку, делают ее роман­тичной, незабываемой. В этой главе рассмотрено простое световое уст­ройство, которое можно вмонтировать в любую старую звезду или шар для украшения елки. Схема (рис. 2.1) состоит из микроконтроллера АУЯ семейства Тту от компании А1те1 [3], дешифратора двоично-десятичного кода в десятичный, десяти светодиодов и резисторов, огра­ничителей тока.
Микроконтроллер 1С1 Атапу12 через равные промежутки времени формирует на выводах порта В РВ2-РВ5 двоичный код (согласно зало­женному в программе алгоритму). Дешифратор VI преобразует двоич­ный код в десятичный, и тем самым открывает выходные буферы в оп­ределенной последовательности.
Светодиоды подключены к "плюсовой" шине и при нулевом со­стоянии на выходах дешифратора через них протекает ток, и они излу­чают свет. На выводах порта В микроконтроллера присутствует один внешний подтягивающий резистор R11 (это связано с альтернативным включением выводов).
Внимание!
В процессе разработки этого устройства автор допустил ошибку при составлении схемы И хотя ошибка не повлияла на работу устройства, после программирования микроконтроллера и ввода альтернативной функции вывода RESET микрокон­троллер стало невозможно перепрограммировать обычным программатором. Если ошибку схемы не исправить, то модернизировать программу не получится. В основе схемы управления использован очень простой и дешевый микроконтрол­лер ATtmy12. Особенность ошибки заключается в альтернативной функции вывода RESET. Компания Atmel утверждает, что первый вывод микросхемы выполняет две функции: RESET — сброс и РВ5 — пятый вывод порта В (при условии подключе­ния внешнего резистора). В симуляторе AVR Studio 4 при проверке программы, со­ставленной автором, этот вывод выполняет все функции линии 5 порта В в полном объеме Однако после программирования программатором STK200 и сброса функ­ции RESET дальнейшее перепрограммирование микросхемы невозможно Ошибку удалось исправить, изменив подключение вывода 6 микроконтроллера к выводу 15 дешифратора 7442 и изменив соответствующим образом программу. Вывод DIP переключателя S1 необходимо отсоединить.
Сборка показана на рис. 2.2, монтажная схема — на рис. 2.3, а раз­водка платы с двух сторон — на_рис. 2.4.
Плату можно изготовить путем травления или использовать макет­ную заготовку. Светодиоды на макетной заготовке необходимо расста­вить в том же порядке, что и на плате-оригинале. Необходимо соблю­дать порядок подключения к дешифратору. Питание схемы — от источ-
ника +5 В (200 мА), подключение — проводами в центр платы (квад­ратные пистоны). Включение схемы на плате — Б1Р-переключателем. Светодиоды — любые с током до 20 мА.
Программа имеет упрощенную структуру с тремя светоэффектами и простым алгоритмом работы. Рассмотрим алгоритм.
1. При включении питания происходит обнуление всех параметров.
2. Опрашиваются выводы порта В микроконтроллера.
3. Анализ введенной константы для задержки включения.
4. Последовательно выполняются подпрограммы задержки включе­ния, выбора светоэффекта и выбора светодиода.
5. Переход в начало программы.
Первый светоэффект — бегущая единица, второй — мигание про­тивоположных светодиодов по окружности, третий — реверс вращения.
В памяти программ микроконтроллера осталось много свободного места, поэтому можно придумать больше светоэффектов, которые реа­лизованы в программе как статические переключения с частотой 2 Гц. В данном случае выбран микроконтроллер с внутренней тактовой час­тотой 1,6 МГц. В случае использования микроконтроллера с другой так­товой частотой частота светоэффектов изменится. При поднятии часто­ты выше 25 Гц светоэффекты будут иметь характер динамических, с подсветкой всех светодиодов.
Программа
Код программы на ассемблере представлен в листинге 2.1, а шест-надцатеричный код — в листинге 2.2. Настройка схемы не требуется — светодиоды должны сразу замигать.
Hosted by uCoz