13.12.2011

Ёлкадуино

Рискуя превратить свой блог в дайджест журнала Радио, в качестве краткого предисловия хочу поделиться содержимым раздела "Радио - начинающим" декабрьского номера: там схемы сразу двух светодиодных ёлок. Такие, знаете - мигалки - чисто for fun. Первая схема родом из Украины (автор - В.Хмара из Житомира, усовершенствовал схему А. Лечкина, опубликованную в 2007 году во все том же Радио):



Схема выполнена на основе трехфазного мультвибратора, управляющего тремя группами светодиодов (суммарно их 20 штук), создающих эффект "бегущий огонь". Схема довольно ортодоксальная простая, настройка не требуется. Единственное, что можно менять - это скорость переключения, подбирая емкости между транзисторами мультвибратора.

Вторая схема более продвинута, поскольку имеет в своем составе "восьминогий" MCU PIC12F675 (автор - Владимир Баландин), управляющий 28-ю двухцветными светодиодами:



Светодиоды разбиты на две группы, каждый цвет группы управляется отдельно - через четыре полевых транзистора. Эффектов реализовано гораздо больше - "плавное зажигание и погасание" (fading),  мигание, переключение цветов. К сожалению, на двух группах светодиодах "бегущие огни" реализовать можно очень и очень условно, но зато для скачивания доступна микропрограмма с исходниками (и даже вместе с видеороликом, но, к сожалению, автор демонстрирует только один эффект).



К чему это я? Ах да - в качестве иллюстрации: думаю, существует туева куча очень много схем новогодних светодиодных елок, но какая из них самая лучшая для повторения? Та, которая светит ярче или та, которая выдает более затейливый эффект? Не наскучит ли она  через пару дней однообразием эффектов? Думаю, читатель уже догадывается, к чему я клоню - было бы прекрасно, если бы внутри такой елки была Arduino-совместимая плата, дающая реципиенту качественно новый простор для творчества. Это была бы, как любят теперь выражаться наши чиновники,  умная елочка.

Памятуя о изобретении велосипеда, я начал искать Arduino-совместимую елку на просторах Интернета, и нашел практически то, что искал - Blinky Christmas Ornaments.


Автор как раз пишет, что I wanted the board to be easily hacked by family and friends that were so inclined - идея, в точности совпадающая с моей.


Полностью уничтожив немного поработав с неприемлемым для меня контуром-кругляшкой, удалось вписать ребристый елочный профиль в размер для бесплатной версии EagleCAD - 100x80 мм:


Основная идея сохранена - использование пары закаскадированных микросхем 74HC595N для индикации на 16 светодиодах (8 зеленых + 8 красных). В центре есть также четыре дополнительных светодиода, непосредственно подключенных к линиям D2, D3, D4, D5 (здесь и далее - нумерация Arduino). В качестве MCU использован ATmega328P-AU с бутлоадером Duemilanova, но вместо USB-порта только вилка для кабеля FTDI - не думаю, что наличие отдельного USB-чипа в таком устройстве слабо оправдано. "Хакнуть" елку несложно: достаточно подключить USB-TTL переходник и  выставить в ArduinoIDE тип платы "Arduino Duemilanova". Если кому-то больше по душе UNO, можно перешить бутлоадер, запаяв гребенку ISP06 и подключив к ней любой ICSP-программатор с помощью 6-пинового кабеля.


Присутствует также и отверстие для подвешивания девайса за ниточку:


Но мне кажется, подвешивать надо за проводочек, по которому приходит +5В ;)

В нижней части HNYDuino (это официальное название, а мне по душе менее благозвучное "Ёлкадуино") - пины для стыковки с подставкой при помощи вилки PLS-R:



Подставка играет не только декоративную роль, но и несет на себе холдер батарейки типа "крона", стандартный для Arduino разъем питания и защитный диод 1N4007.



Но самое главное - туда выведены некоторые неиспользуемые пины - D6, D7, D9 и A0, A4, A5. Это позволяет читать показания аналоговых датчиков, использовать шину I2C и аппаратный ШИМ.


Расположенный слева DPDT переключает источники питания - либо это +5В с кабеля FTDI, либо BATT, приходящий с подставки (напряжение от БП 9..12В или "крона"). Если подключить что-то одно, то он превращается в выключатель.

Что можно сотворить с такой елочкой? Фантазия подсказывает световой датчик (чтобы она зажигалась только с наступлением темноты) и/или датчик звука, реагирующий на хлопки или традиционное "елочка, зажгись!". Более изощренным можно посоветовать подключить по I2C микросхему RTC DS1307 и ровно в 00:00 01.01.201X "неожиданно" замигать всеми огоньками или сыграть гимн через предусмотрительно подключенный пьезодинамик.

Конечно, проект далек от совершенства - тут есть огромный простор для совершенствования. Поэтому, для ищущих even more fun и готовых поработать самостоятельно - выкладываю схему и разводку в Eagle, а также и тестовый скетч для проверки работы.

Happy new hacking! ;)

Комментариев нет:

Отправить комментарий