Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 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
Осциллограф DSO138 200 Вт усилитель класса D на IRS2092
вверх