Домашняя страничка Стефурак П.Б. Оригинальный подарок к новому году.
 
 
  
  
 
Промзона \ Оригинальный подарок к новому году
Сделаем своими руками то, что больше нашим близким никто сделать не сможет :)
 
И так, новый год опять "случился".
Не люблю я этот праздник, ну да ладно - родные и близкие то любят! :)
Попробуем их удивить и порадовать.
В каком то журнале я наткнулся на описание простой конструкции, которая
в определенном порядке переключала светодиоды, расположенные звездочкой
и тем самым радовала смотрящего на нее.
Идея трансформировалась в использование для этих же целей матрицы светодиодов,
например вот такой - TC23-11SRWA.
Управлять ей не составляет особого труда, но все равно поручим эту задачу микроконтроллеру.
(в этом описании своего проекта я сознательно не буду приводить схему и подробности реализации
по очень простой причине - если кто то захочет повторить то что я сделал, у него под рукой наверняка
не найдется точно такой же матрицы во первых, во вторых повторяющий наверняка захочет чтобы
индикатор воспроизводил не мой текст и картинки, а его собственные).
заливка программы в контроллер - через USBboot.
Основой ПО выбрана библиотека "V-USB" разработанная замечательной командой
Objective Development Software GmbH.
Вкратце, эта библиотека позволяет организовать подключение ATmega8 к PC по USB интерфейсу (в ATmaga8 нет аппаратной поддержки USB).
Но что самое вкусное, так это то, что МК можно перепрограммировать с PC по USB! Достаточно 1 раз прошить в МК USB загрузчик (например по JTAG) и все!
Как это сделать, и как это все работает, подробно расписано на сайте
Objective Development Software GmbH.
Я делал так:
Компоненты:
Они же распаянные непосредственно на ноги микроконтроллера (да, да, прямо на ноги):
... или по "честному", на монтажной плате (кому как нравится):
Индикатор - самая крупная деталь (6x6 см), по этому она и послужит основой - на обратной стороне монтируем все остальные компоненты:
... и после проверки работоспособности - заливаем все эпоксидной смолой - на поверхности остается кнопка включения питания и разъем, на
который выведен USB интерфейс и джампер перевода контроллера в режим программирования (см описание USBboot на
Objective Development Software GmbH), под смолой - все остальное,
включая 3 часовые батарейки по 1,5в - а нам в общем то и не надо, чтобы это устройство работало вечно:
Собственно все. Пишем программу, которая при подаче питания на микроконтроллер будет выводить на индикатор разные изображения:
   
   
   
Вот такая (видео 1,2мб) программа занимает в памяти
контроллера около 25% объема (+ примерно столько же USBboot), так что при наличии фантазии есть где развернуться!
После окончания программы рекомендую переводить контроллер в sleep (у ATMEGA8 есть соответствующие команды) - батареек "надольше хватит". :)