Главная » Микроконтроллеры
Призовой фонд
на октябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

PixelPOI

Вниманию начинающим микроконтроллерщикам представляю очень простой 40-пиксельный светопринтер, в народе часто опознаваемого, как pixelpov. Устройство представляет из себя небольшую линейку, на которой с некоторым шагом закреплены светодиоды. Принцип работы светопринтера аналогичен принципам механической развертки часов Боба Блика.

Изначально данное устройство делалось игрушкой племяннику, который, кстати говоря, любит все светящееся, поющее и бегающее на колесах не хуже чем я.

Пожалуй, следует сделать небольшое отступление, в котором следовало бы изложить основные принципы работы такой механической развертки.

Данный метод отображения графической информации в пространстве является популярным для многих видов бытовых «примочек» - часы, именуемые "propeller clock", светодиодные 3D глобусы, которые, тоже могут сочетать в себе функцию отображения реального времени. Сам процесс визуального восприятия прост: наше зрение имеет некоторую инерционность, благодаря которой невозможна быстрая смена света. Глаз имеет очень сложное строение, запоминает на некоторое время освещенность определенной зоны, и спустя миллисекунды, воспринимает соответствующую реальному времени освещенность. В телевизорах тоже применяют такую технологию «обмана» зрения, во время которого электронный луч успевает оббежать весь экран, при этом мы видим только результат его «пробежки» - само изображение. Ну а что же касается восприятия, того самого времени «торможения» глаза – человеческий глаз уже плохо реагирует на смену кадров частотой 12,5Гц.

Собственно, работа светопринтера основана на том же эффекте: в разные моменты времени, мы зажигаем или гасим определенные светодиоды, и при взмахе линейки этих светодиодов, будет вырисован растр – в данном случае наше изображение.

Поскольку на момент собирания устройства я не располагал микроконтроллером с большим объемом памяти – пришлось ставить то, что было. А именно, Attiny2313. Да, не самый лучший вариант для pixelpoi, ведь картинок хочется сохранить побольше. Но, поскольку микроконтроллеры AVR легко совместимы по коду с небольшими программными доработками, переделать программу можно для любого микроконтроллера. Суть работы светопринтера останется одной и той же, а элементная база может варьироваться в соответствии с желаемыми Вами пределами.

Итак, собственно говоря, моя элементная база состоит из микроконтроллера и сдвиговых регистров 74HC595, в данном устройстве выполняя функцию расширителей портов. Всего используется 40 белых светодиодов. Нетрудными арифметическими операциями можно подсчитать, что для осуществления задуманной цели необходимо 5 таких интегральных схем.

Сначала, после того, как микроконтроллер инициализировался, он считывает первый байт из встроенной памяти EEPROM. Этот байт он разбивает на 8 бит и передает на информационную линию данных сдвиговых регистров. После того, как данные занесены, микроконтроллер снова принимает данные из EEPROM и передает их сдвиговым регистрам. Процесс продолжается, пока данными не заполнятся все 5 регистров. По истечению сего процесса, дается импульс защелки данных – мы фиксируем данные в регистрах и выводим их на светодиоды. Далее в программе предусмотрена задержка, подобранная опытным путем «на глаз», спустя которую микроконтроллер начинает заново исполнять процедуру считывания 5 байт данных EEPROM памяти с последующим занесением их в сдвиговые регистры и их защелкой-отображением на светодиоды.

Поскольку у микроконтроллера Attiny2313 EEPROM память имеет объем 128 байт, пришлось максимально использовать 25 5-байтных слов для отображения на линейке. 3 байта останется в запасе, они не будут использованы. При переполнении счетчика адреса данных EEPROM памяти программой предусмотрен сброс его и соответственно, микроконтроллер заново указывает на данные, начиная с первого байта.
Итак, изготовление самой линейки начинается….. с покупки 50см линейки. Через каждый см пробиваем 2 отверстия под выводы светодиодов. Получается вот такая вот конструкция:

Изготовление линейки

Изготовление линейки

Методом ЛУТ была изготовлена печатная плата сего устройства:

Печатная плата

Далее, сам процесс сборки:

Сборка устройства

Все компоненты, SMD-резисторы, микроконтроллер и сдвиговые регистры, имеют корпус для поверхностного монтажа, дабы уменьшить общие габариты устройства.
А чего это я о габаритах-то? Смотрим:

Габариты устройства

Да, да, это обычная флешка!

Процесс пайки соединительных проводов – занял около 6 часов (начал работу вечером – закончил днем следующего дня, работал 13 часов).

На утро, была готова вот такая вот конструкция:

Конструкция pixelpov

Оборачиваем это обычными самоклеющимися обоями и получаем вполне нормальное с виду устройство.

Ну и несколько фотографий работы pixelPOV:

Работа pixelpov

pixel pov в работе

Итак, куда что подсоединять.

Сдвиговые регистры – цепочкой, первый к микроконтроллеру:
PD1 – на вход регистра защелки;
PD0 – вход данных сдвигового регистра;
PD2 – вход синхронизации сдвигового регистра.

Схемы, как и ПП прилагать не имеет смысла, поскольку она будет различаться в зависимости от конструктива и исполнения устройства. Файл прошивки микроконтроллера прилагается.

Скачать исходники и прошивку микроконтроллера вы можете ниже

Прикрепленные файлы:

Теги:

Ильин Евгений Опубликована: 2011 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (6) | Я собрал (0) | Подписаться

0
andy #
А где принципиальная схема?
Ответить
0
Евгений Ил #
Схема, тут как таковая, не нужна, как бы странно это не звучало, поскольку вполне понятно, как подключать цепочкой сдвиговые регистры, ну а куда подключать первый сдвиговый регистр я указал;)
Если совсем уж не нравится, могу быстренько нарисовать схему.
Ответить
0
Андрей #
Может быть POV (Persistence of Vision)? Хорошо бы схему. Еще прогу чтоб заливать рисунки - цены бы не было бы девайсу!
Ответить
0
Славик #
Можно и нарисовать схемку....а то как то не очень то удобно без схемы.
Как менять картинку?
Ответить
0
Дмитрий #
Там кстати, должна быть обязательная для подобных игрушек деталь - датчик положения. Без неё будет одно разочарование
40 светодиодов навскидку проще присоединить к контроллеру Mega8. Как ни странно, это дешевле даже исходя из цены самого контроллера. Правда, у меня в городе Mega8 на 40 рублей дешевле 2313. Как присоединить - ведь у меги8 всего чуть более 20 рабочих ног? Очень просто - ведь у любого авр-овского контроллера выходы с тремя состояниями
Ответить
0
YusuF #
А где фьюзы то?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Pickit 2 - USB-программатор PIC-микроконтроллеров Осциллограф DSO138
вверх