В этой статье я хочу представить проект открытки с механической разверткой (похоже на часы Боба Блика, но здесь нужно махать рукой).
Такая открытка отлично подойдет в роли подарка кому-нибудь либо её можно носить с собой как брелок. Подобные схемы отлично подходят для тех, кто только начал изучать микроконтроллеры и осваивать smd-монтаж.
В основе стробоскопического эффекта лежит персистенция (инерционность) человеческого зрения — особенность зрительного восприятия дискретных последовательных событий, которые кажутся непрерывными. Так, например, когда крутят горящий факел, глаз видит огненный круг вместо нескольких положений одного и того же горящего факела.
Таким образом, персистенция — это способность глаза соединять быстро сменяющиеся изображения в одно — неподвижное. Именно на этом принципе устроен кинематограф, поскольку любое изображение (в кино или на экране монитора) представляет собой множество быстро сменяющихся изображений.
В нашем случае сменяется порядок свечения светодиодов. Но обо всё по порядку.
1.Хардварная часть.
1.1 Схема
ВНИМАНИЕ!!!
Номера выводов микроконтроллера подписаны для ATmega8 в корпусе TQFP32. Если будете делать для DIP или на бредборде, то вам нужно ориентироваться на названия портов.
"Мозгом" устройства стал восьмибитный микроконтроллер ATmega8 от AVR с 8КБайтами памяти на борту.
Микроконтроллер способен работать от низкого напряжения, отличается малым потреблением энергии.
Так как выводы МК имею высокое входное сопротивление, они могут работать как антенны и принимать наводки от внешних источников.
Самым критичным с этом плане является вывод RESET. Колебания на этом выводе могут приводить с нестабильности выполнения программы микроконтроллером.Для предотвращения этого вывод RESET имеет подтяжку через резистор 10 килоом к плюсу питания.
Индикация осуществляется 8 (по одному на бит) светодиодами 0805 (Можно ставить любые, главное чтобы это не приводило к превышению максимального для микроконтроллера тока). Светодиоды висят без резисторов, т.к. вмешивается внутреннее сопротивление батарейки + светодиоды работают в импульсном режиме.
Запуск микроконтроллера происходит при замыкании вывода RESET на минус питания. Программа выполняется в течение 30 секунд (настраивается программно) и после этого микроконтроллер засыпает.
Питание от батарейки CR2023.
Про изготовление платы и пайку smd-компонентов смотрите в видео в конце статьи.
2. Софтварная часть
Немного расскажу о реализации изображения на примере простого рисунка.
Поле можно представить как сетку 8(количество светодиодов)х7(оптимальное количество столбцов на 1 символ с учётом пробела)
В прошивке назначено время работы одного столбца в 1мс.
#define LINETIME 1 //Время работы линии в миллисекундах
#define WORKTIME 30 //Время работы в секундах
То есть светодиоды мигают таким образом:
1мс - 678
2мс - 567
3мс - 456
4мс - 345
5мс - 234
6мс - 123
7мс - 12
Можно сделать свой рисунок, изменив исходники кода.
Памяти МК в идеале должно хватить на
65536 (бит в 8КБайтах)/7строк*8столбцов(бит)=1170 символов (но придется очень широко размахивать руками)
Правильность своей прошивки можно проверить в протеусе с помощью виртуального осциллографа.
Если на это мигание смотреть неподвижно, то мигание в 150Гц будет еле заметно. Но если изображение "развернуть", то за счет инерционности зрения изображение станет видимым.
3. Прошивка МК
1. Подпаиваем проводки к плате (в .lay-файле указаны места где удобнее всего подпаяться)
2. Подключаем их к программатору (у меня USBASP. Если у вас тоже,то рисунок с распайкой ISP10 вам в помощь).
3. Подключаем программатор + микроконтроллер в компьютеру
4. Включаем на своём компьютере программу для прошивки
.
4.1 Выбираем тип микроконтроллера (в данном случае - ATmega8).
4.2 Находим на компьютере .hex-файл. Если чип ранее использовался, то его необходимо очистить.
4.3 Устанавливаем фьюз-биты. Фьюз-быты стандартные.
ВНИМАНИЕ!!! Здесь фьюз-биты прямые т.е. если галочки нет, то бит установлен.
5.Нажимаем кнопку ПРОГРАММИРОВАНИЕ.
И либо получаем ошибку (битый МК, плохой контакт МК и программатора, отпал джампер питания (USBASP) замыкание сигнала с программатора, непропай выводов МК и прочее)
либо всё прошивается и устройство сразу начинает мигать.
После этого отсоединяем МК от программатора, ставим батарейку (устройство при этом "проснётся"), ждем 30 секунд (устройство "заснёт"), нажимаем кнопку и машем . Если ваш рисунок виден полностью, без пропусков сегментов, то можете себе похлопать. Если же пропуски есть, то стоит проверить плату на наличие "соплей" - перемычек между дорожками - и устранить их.
Если плата исправна, но проблема не устранена, то нужно проверить сначала проблемные светодиоды (возможно вы просто перепутали полярность), а потом только МК. Если проблем "железа" не выявлено, то попробуйте перепрошить МК.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATmega8A-AU | 1 | Поиск в магазине Отрон | ||
HL1-HL8 | Светодиод | ARL2-0805UBC | 8 | 0805 | Поиск в магазине Отрон | |
R1 | Резистор | 10 кОм | 1 | 0805 | Поиск в магазине Отрон | |
Bat.1 | Батарейка | CR2032 | 1 | Поиск в магазине Отрон | ||
Батарейный отсек | BH1060 | 1 | Поиск в магазине Отрон | |||
SA1 | Тактовая кнопка | SWT-10 | 1 | Поиск в магазине Отрон | ||
C1, C2 | Конденсатор | 100 нФ | 2 | 0805 | Поиск в магазине Отрон | |
Скачать список элементов (PDF)
Прикрепленные файлы:
- Strobe.zip (55 Кб)
Комментарии (9) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Второе. В схеме не нужна ATmega8.
Третье. Видео о работе устройство предполагает наличия на этом видео работы устройства, а не процесс сборки и 10 секунд работы.
Четвертое. Неплохо было бы предусмотреть легкую смену картинки через тот же USART.
[Автор]
1.Акселерометр - это безусловно полезная штука для подобного проекта, но основной упор сделан на простоту сборки. Кто захочет - пусть повесит акселерометр.
2.Согласен, атмега тут лишняя т.к. много портов не задействовано.
3.Персистенция через видео передается не очень хорошо. Конечно можно сделать фотографии с большой выдержкой, но я такой аппаратурой не обладаю.
4.См. п.1 . Кто захочет - сделает.
А вот синхронизировать развертку с частотой колебаний руки - сложновато. Хотя бы геркон с магнитом на пружинке поставить надо.
[Автор]
Такая же полоска светодиодов крепится к вентилятору и получаются часы.