В преддверии Нового года очень хотелось написать статью о какой-нибудь праздничной поделке. Вообще, каждый год я стараюсь сделать что-то новое, чтобы порадовать свою семью. Решил с вами поделиться своей первой разработкой, которая радует нас в праздники уже 14 лет.
Помню, когда я был еще совсем маленьким (третий класс школы), родители украшали елку. У нас была только одна гирлянда из лампочек и большая красная звезда. Я ее разобрал, впихнул в нее несколько лампочек от гирлянды и все это подключил через стартер от люминесцентной лампы. Счастью не было предела! Это эпилептическое мигание вызывало море восторга еще несколько новогодних праздников.
Мне кажется, что тогда я все подключал через стартер. Как минимум, для настольного светильника у меня был сделан патрон для подключения стартера, а если нужно было делать уроки, был стартер с перемычкой. Сейчас этим мало кого можно удивить, но это было самое начало девяностых, и мы еще умели радоваться мелочам (тут даже больше про возраст).
Так вот, все началось с того, что, прогуливаясь по магазинам (в 2011 году) мы с супругой наткнулись на елочное украшение в форме звезды. Это была самая обычная игрушка, но что больше всего меня привлекло, так это то, что она была разборная и я сразу подумал о той первой, из своего детства.
Рис.1. Звезда, купленная 9 декабря 2011 года.
Извините, но тогда фотографии на мобильники были такого качества. В то время я только-только начал осваивать Altium, поэтому, когда выше писал о том, что это мой первый проект, я был близок к истине. От микроконтроллеров я был еще очень далек, но все-таки решил рискнуть, хотя времени до праздника оставалось совсем мало.
Прошло уже столько времени, что я сомневался, получится ли вообще найти проект в САПР. Но нет, вот он, совершенно целехонький, хоть и пришлось приложить усилия для его поисков.
Рис.2. Схема новогодней звезды.
Так как я не был уверен в своих силах, то решил использовать ATmega8L в DIP корпусе и установить кроватку, чтобы в случае неудачи (ох уж эти фьюзы) можно было легко заменить контроллер.
Рис.3. Трассировка платы.
Очень интересный подход к трассировке земли и питания (скорее всего, тогда я еще не знал, что такое полигоны), но хоть резистор поставил на каждый светодиод, а не один общий.
Удалось найти и исходники. Код писал в CodeWizardAVR. Это, наверное, единственное, что я мог осилить на тот момент и в сжатые сроки. На все про все у меня осталось не больше недели.
Если кто-то не знает, то CodeWizardAVR – это среда конфигурирования и разработки под микроконтроллеры AVR. Нечто похожее на STM32CubeIDE или Arduino IDE. Использовать ее стал именно из-за встроенного визарда, который пошагово позволял выполнять конфигурирование контроллера.
Рис.4. Код из прошлого.
Из кода виден уровень «мастерства». Жаль, что катастрофически не хватает желания времени окунуться в прошлое и все это переписать. Добавить красивые режимы мигания и привести код в человеческий вид. Может как-нибудь на пенсии?
Рис.5. GIF из прошлого.
Это то самое видео в момент написания и отладки программы.
В качестве блока питания сначала использовался обычный трансформаторный. Позже переделал и поставил зарядку от сотового телефона. Провод от блока до звезды так и остался – телефонная «лапша». И вот снова новогодние праздники и неизменная звезда на вершине елки.
Рис.6. GIF 2024 года.
Вот такая получилась новогодняя статья-ретроспектива из моей юности. Интересно бывает посмотреть свои поделки, некоторые из которых спаяны на картонках, но все еще работают.
С Новым годом друзья!
Автор: the_bat