Mega3D.
Автор: YS
Идея сделать эту штуку родилась у меня задолго до того, как я узнал о часах Боба
Блика, проекте с ledz.org и вообще о том, что подобная технология освоена
массами и с переменным успехом применяется прогрессивной общественностью. Дело
было так: в одном из сувенирных магазинов я увидел любопытные часы. Они
представляли собой подставку, над которой в воздухе (!) висели светящиеся цифры.
Твердо зная, что чудес не бывает, я решил исследовать этот феномен. При более
детальном рассмотрении оказалось, что такой эффект достигается просто: на
устойчивом основании китайцами была закреплена колеблющаяся штанга с
укрепленными на ней светодиодами, которые зажигались в нужный момент, а глаз складывал эти вспышки в изображение. Самой же штанги видно не было, так как двигалась она достаточно быстро. Простота и гениальность такого решения потрясли меня. Поскольку цена потрясла меня еще сильнее, я крепко задумался, как бы это повторить дома, на коленке. Раздумья длились около года. За это время с легкой руки друга все это стало называться Mega3D. Поскольку тогда у меня еще не было интернета, я пребывал в неведении относительно методов, применяемых прогрессивной общественностью при решении вопросов подобного рода. Позже, подключив интернет и как следует побродив в нем, я нашел несколько проектов, основанных на том же принципе, однако что-то было слишком сложно, что-то требовало применения специального оборудования, а кто-то вообще использовал контроллеры от Microchip. Словом, не подошло ничего из увиденного, и оставалось на основе просмотренного и прочитанного придумывать что-то свое. В результате мыслительной деятельности родилась схема, представленная на рисунке.
Схема неподвижной части:
Внимание! Сложилось так, что сначала я разрабатывал разводку плат, и только сейчас, для статьи, срисовал с них схему, поэтому не исключены ошибки. Конечно, схемы я проверял, но с кем не бывает...
Пара слов о логике работы. Один "экран" представляет собой массив из 180 байт, в котором каждый бит отвечает за состояние (вкл/выкл) одной точки. Данные передаются с компьютера через COM-порт сплошным потоком без синхронизации на скорости 14400bps. Контроллер принимает их, записывает в ОЗУ и по прерыванию от оптопары запускает таймер, по прерыванию от которого данные из массива выводятся в порт, к которому подключены светодиоды. По окончании вывода данных таймер останавливается. Устройство имеет два режима работы - обычный и режим программирования. Последний отличается лишь тем, что питание не подается на двигатель. Это позволяет подключиться к разъему ISP.
Помимо прошивки для контроллера мной было написано некоторое количество софта для компьютера. Прежде всего была создана программа-рисовалка, позволяющая мышкой натыкать картинку и сохранить ее в формате, пригодном для вывода на устройство (M3Deditor). Натыкав с ее помощью ASCII-таблицу, я написал программу, которая конвертирует обычный текст в выводимую картинку (Str2M3D), а также софтину, реализующую бегущую строку (M3D ctrl). Вспомнив, что девайс из магазина, с которого все началось, показывал время, я написал программку-часы (M3D clock). Для пущей крутизны была написана программа, позволяющая выводить текст в реальном времени (M3D realtime). Все эти радости лежат в архиве с прошивкой. Использованы только стандартные API функции, поэтому устройство можно подключать и через преобразователи USB-COM, как сделал я. Архив со всем необходимым прилагается. Если кому-то нужны исходники программ/прошивки - после конкурса прошу в форум.
Файлы: Вопросы, как обычно, складываем тут.
|
|
|||||||||||||||
|
||||