aksel224

Пикабушник
Дата рождения: 22 декабря
689 рейтинг 38 подписчиков 23 подписки 4 поста 3 в горячем
Награды:
10 лет на Пикабу
258

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2.

Привет пикабу и моим 13 подписчикам, прошел почти год с моего первого поста.


Спустя некоторое время после того, как часы были сделаны и прошли проверку временем были выявлены часть недостатков часов на ds1302. Я решил, что надо двигаться дальше и попробовать переделать их под ds1307 или ds3231, но у новых rtc модулей тип подключения другие, следовательно, надо переосмыслить органы управления. У меня получилось следующие варианты:

1. Bluetooth

2. Энкодер

3. Ик-приемник

Начал читать мануал, подключение блютуза оказалось проще, чем я думал. С энкодером пришлось побаловаться на макетке, ему требуются пины с прерыванием (2 и 3 в идеале), хотя можно обойтись любыми, но будет очень сильный дребезг контактов, что затруднит настройку светодиодов. С ик-приемник пришлось повозиться, он работает на 2-м таймере (TIME2), так же можно поставить и 1-й таймер этот способ управления не подходит под обычный способ подсветки с помощью RGB-светодиодов.

Через некоторое время я открыл для себя адресные светодиоды ws2812b и их аналоги, анимацией этих светодиодов меня заворожила. Мне захотелось сделать часы с использованием этих светодиодов, и проект разделился на 2 подпроекта.

Для обычных светодиодов подходили варианты блютуз и энкодер, а с адресными светодиодами можно использовать все три варианта. Принялся за доработку существующие схемы и прошивоки. Платы травил как обычно с помощью термотрансферной бумаги + раствор перекиси и лимонной кислоты.

Без ламп затестил светодиоды и их анимацию, вот одна из них.

Следующим этапом было создание прошивок для Arduino. Хотел начать с ИК-приемника, но тут он меня подвел, что-то с ним случилось и пришлось заказать новые. Пришлось начать с блюзута, прога под него была написано достаточно быстро, для отправки команд думал написать простое приложение под android, но передумал после того как, нашел для себя подходящий блютуз терминал в google play (я пользуюсь Serial Bluetooth Terminal), в настройках необходимо установить Newline:LF, что бы arduino понимала, где конец переданной ей строки. У меня получились следующие команды:

0: //синхронизация приложения с ардуинкой

1:150;150;150 //установка цвета светодиодов

2:255 //яркость

3:+ или - ///смена мода

4:15/12/17 //установка даты

5:2/53/00 //установка времени

6: //смена между временем и датой


Можно добавить еще при необходимости, но пока будет достаточно этих. Добавил перемычку для возможности отключения блютуза от питания, что бы можно без всякого проблем перепрошить ардуинку, туда подходи джамперы от жестких дисков (выделил стрелочками).

Дождавшись ИК-приемников стал работать с ним, буду использовать распространённую библиотеку IRremote. Первым шагом надо было перевести библиотеку на 1й таймер. Открываем IRremoteInt.h в папке с библиотекой, находим

// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc

#else

//#define IR_USE_TIMER1 // tx = pin 9

#define IR_USE_TIMER2 // tx = pin 3

#endif


Как мы видим, библиотека IRremote использует TIMER2. Меняем данный код на этот

#else

#define IR_USE_TIMER1 // tx = pin 9

//#define IR_USE_TIMER2 // tx = pin 3

#endif


(Когда я лазит туда второй раз этих строк не нашел поэтому скину библиотеку что у меня которая работает на 1м таймере)

Для передачи команд можно взять любой пульт и настроить под себя, я использовал китайские пульты. Для поиска кодов кнопок в примерах библиотеке есть скетчи.

Прога была написана и проверена. Использовал пульт тот, что справа.

Немного о функционале:

• Стрелка верх: если находимся в режиме настройки то «+» к разряду, иначе нет то «+» к яркости.

• Стрелка вниз: то же самое, что и стрелка верх только «–».

• Стрелка вправо: если находимся в режиме настройки, то перемешает по разрядам вправо, иначе изменяет мод +1.

• Стрелка влево: если находимся в режиме настройки, то перемешает по разрядам влево, иначе изменяет мод -1.

• Кнопка «OK»: одно кратное нажатие смена между временем и датой, если удерживать переходит в режим настройки, так же при удержании выходить из него(во время удержание сработает смена, но настройка все равно перейдет туда откуда была задержана кнопка т.е если вы удерживаете кнопку в то время когда показывалось время то оно и будет настраиваться, аналогично с датой).

• Кнопка: 1 и 4: отвечают за красный цвет 1:+, 4:-.

• Кнопка: 2 и 5: отвечают за красный цвет 2:+, 5:-.

• Кнопка: 3 и 6: отвечают за красный цвет 3:+, 6:-.

• Кнопка 8: обнуляет цвета и переходит в первый режим.

• Все остальные кнопки пустые.


И остался энкодер, это устройство, которое предназначено чтобы преобразовать угол поворота вала в электрические импульсы, по которым можно определить: угол поворота, скорость вращения, направление вращения, и текущее положение относительно начальной точки. С ним сделал плату под RGB-светодиоды, была написано прога и протестирована, после чего выявил некоторые недочеты, было решено передать плату и переписать прогу под энкодер. Прогу под ws2812b тоже переписал, но не протестировал ее (если с ней будут проблемы, напишите на почту).


В общей сложности было написано 5 программ и сделано столько же разводок плат:

• ws2812b + энкодер;

• ws2812b + Bluetooth

• ws2812b + Ик-приемник

• RGB + энкодер

• RGB + Bluetooth


Вот и результат:

Из нововведений:

1. Добавил стабилизатор L7805CV(видно его на фото и на схеме)

2. Теперь дата показывается с интервалом 5 мин. на 10 сек.

3. Добавлено 5 анимации: плавная смена цветов всей ленты, крутящаяся радуга, случайная смена цветов, пульсация со сменой цветов, крутая плавная вращающаяся радуга (у часов с RGB подсветкой только 1 радуга всех светодиодов) в конце будет гифки с анимацией.

4. В схемах добавлен бизер, как задел на будущее дописать будильник.

Еще немного фотографий и гифки с анимацией, полное видео так же в папке по ссылке ниже или прямая ссылка.

Прикладываю ССЫЛКУ на архив с необходимыми материалами, НАЗВАНИЕ АРХИВА «Часы на ИН-14_v2».

Спасибо что дочитали до конца, удачного дня!

П.С. Отдельное спасибо за фото другу Дмитрию из первого поста.

Показать полностью 12
52

Апгрейд старого советского будильника до nixie clock.

Нашел в закромах старый советский будильник, как на фото.

Решил дать вторую жизнь будильнику и сделать из них nixie clock (часы на газоразрядных индикаторах). Не отходя далеко от первого проекта, решил так же сделать под управлением arduino nano, но внести некоторые изменения. Найдя шесть штук индикаторов ИН-12 и ИН-17 (флешка для масштаба) начал разводить плату.

Первая плата с лампами получилась двух сторонняя, но я подготовил еще пару плат, с перемычками и с транзисторными отпорами TLP627(F) вместо транзисторных ключей на MPSA92 и MPSA42. Схему с TLP627 я не пробовал, возможно, надо будет поправить задержку между включением и выключением ламп.

В этом проекте я убрал RGB подцветку и их регулировку.

Добавил:

buzzer (пищалка) для воспроизведения мелодии будильника;

светодиод для обозначения включенного будильника и входа в его настройку;

стабилизатор напряжения L7805CV, родной стабилизатор arduino сильно нагревался.


Так же я заменил RTC модуль с DS1302 на DS3132, потому что DS1302 начинает отставать каждую неделю.

Я использовал светодиод для индикации будильника, подключен к 13му пину arduino, а в плате есть встроенный светодиод, который работает параллельно, поэтому его можно отковырять или перерезать дорожку.

Платы делал, как обычно ЛУТ технологией травил в растворе перекиси водорода, лимонной кислоты и поваренной соли, больше информации об этом можно найти в интернете (достаточно подробно рассказывает @AlexGyver и спасибо ему за его уроки по arduino). Как будет свой ЧПУ, буду делать платы фрезеровкой или выжигать фоторезист лазером.

Решил снять старую краску будильника и покрасить его в черный матовый цвет, вот фото первой попытки, но она получилась не очень.

Переделав плату, получилось намного лучше, сразу протестировал работоспособность ламп и остальные элементы на макетной плате. Важный момент: функция tone() накладывается на ШИМ сигнал на "3" и "11" выводах Arduino. Т.е., вызванная, например, для пина "5", функция tone() может мешать работе выводов "3" и "11". Имейте это в виду, когда будете проектировать свои устройства. Можно использовать пищалку и без tone(), при помощи analogWrite, но из-за TCCR1B пищалка не работает. Что бы она работала необходимо:

1) С шестого пина перекинуть на третий

2) Заменить в программе TCCR1B на TCCR2B

3) использовать функцию analogWrite вместо tone().

Вклеим небольшие столбики по горизонтали, что бы лицевая плата ни перекашивалась и что бы ее было проще вставлять в будильник.

Потратив еще вечер на настройку и отладку всех элементов часов, я их закончил.

В часах присутствует будильник, чтобы его включить, надо нажать на кнопку (ее вывел наверх будильника), после нажатия загорается светодиод на лицевой панели, для отключения будильника надо еще раз нажать на кнопку. Зажав эту же кнопку, попадаем в настройку будильника, светодиод начнет мигать и цифры обнуляться, чтобы выйти из режима надо еще раз зажать кнопку. Будильник будет срабатывать каждый день, храниться он будет до перезагрузки часов.


Работа других четырех кнопок не изменилось

1. смена вывода даты или времени, в режиме настройки является сменой разряда;

2. +1 к настраиваемому числу если зажать, то прибавлять начнет быстрей;

3. -1 к настраиваемому числу если зажать, то прибавлять начнет быстрей;

4. Вход и выход в режим настройки часов;

5. Включение и выключение будильника, при долгом нажатии вход и выход из режима настройки будильника;


Часы питаются от блока питания 9в-1А.

Все необходимые компоненты купил на все известном китайском сайте и в радио деталях.

Все необходимые материалы скину архивом, а именно:

• Плату в Sprint layout (2.0 то что на фото, 2.1 к155ид1 перенес к arduino, 2.2 это как 2.1 только транзисторных ключей на MPSA92 и MPSA42 заменил транзисторными отпорами TLP627(F)

• Программу для Arduino nano

• Список необходимых элементов и ссылками.

• Библиотеку для ds3132 которым пользовался (в ней можно найти примеры использования)

ссылка на папку со всем схемами и прошивками в ней ищите "часы ин-17 в будильнике"

П.С Всем добра и спасибо что дочитали до конца напоследок более качественных фотографий.

П.П.С Я не считаю, себя «тру программистом» под arduino и «про радио любителям», буду рад выслушать любую критику.

Показать полностью 14
25

Интересные газоразрядные индикаторы.

Дорогие пикабушники радиолюбители помогите идентифицировать лампы. К сожалению маркировка стерлась, сетка в них очень мелкая, отсутствует таблетка в колбе, также у этих ламп нету запятых как у ИН-14. Что-то похожее нашел на радиокоте:
http://radiokot.ru/forum/viewtopic.php?p=300277#p300277
http://radiokot.ru/forum/viewtopic.php?p=565699#p565699

комментарии для минусов внутри

Показать полностью 5
310

Часы на газоразрядных индикаторах ИН-14 с помощью Arduino nano.

Привет пикабу, хочу похвастаться своей поделкой и рассказать ее историю.

Часы на газоразрядных индикаторах мне показал друг Дмитрий. Около года назад он накопал в интернете их описание и заявил, что когда-нибудь обязательно соберет такие. В этот момент я понял две вещи. Было ясно как день, что собирать их в ближайшее время Дмитрий не будет. Во-вторых, невозможно придумать лучшего подарка ему на день рождения.


Вызов был принят.


После продолжительных поисков был найден ролик на youtube и статья, описывающие опыт изготовления часов с использованием ИН-12 и arduino nano. Про этот микроконтроллер я слышал и имел какое-то представление, с чем его едят. Было решено сделать аналог проекта, но только на индикаторах ИН-14 либо ИН-16 (отличаются друг от друга только размером).


Родилась концепция «бутерброда» из двух плат. На одной предполагалось разместить: лампы + подсветка + транзисторные ключи. На другой: arduino + элементы управления + преобразователь напряжения. Соединять все это решено межплатными соединителями, которые можно купить на всем известном китайском сайте. Курс был намечен.

Стал подбирать компоненты. Лампы в количестве 8 шт. благополучно были найдены у мамы на работе. Позже были найдены еще 2 шт ИН-14 и 2 шт ИН-8-2. arduino nano заказал у китайцев.

Скачал Sprint layout, взял уже существующие платы и начал переделывать под свой проект. Чтобы как-то украсить часы, решил использовать в качестве подсветки трёхцветный светодиод с общим катодом и с четырьмя выводами. Их расположение было строго определено под лампами, из-за этого пришлось сделать двухстороннюю плату.

Платы делал с помощью технологии ЛУТ (лазерно-утюжная технология подробно можно почитать в интернете). Не было особого опыта в этом деле, так что первая двухсторонняя плата получилась с 3-4 раза, использовал глянцевую бумагу плотностью 100-110. Очень хорошо отваливается после переноса. Травил платы в растворе:

• перекиси водорода 3% -150 мл

• соль -7гр

• лимонная кислота -25-35гр

Травилось за 2 раза, но это меня устраивало, про другие растворы можно почитать здесь.

После окончания травления и сверления всех отверстий, плата стала выгладить так:

Тут уже залудил немного

полностью собранная первая плата

К тому времени, как я закончил с платой (это растянулось на пару месяцев), пришли arduino nano. Для того, чтобы зажечь лампу ИН-14, необходимо 150-180 Вольт, причем оптимальное значение - это 160-170В, и чем больше вольтаж, тем ярче горят. Необходимо преобразовывать 5-9 вольт в 160-170В. На хабре нашел вот такую схему.

Эту схему можно модернизировать и преобразовывать 5-9 вольт в 160в с помощью arduino. В этом (www.youtube.com/watch?v=hX9BCNe_zpY) видео достаточно подробно объясняют. Вкратце, будем использовать шим сигнал.

Собрав блок питания, начал подключать лампы - сначала по одной, чтобы проверить их работоспособность. После чего - через высоковольтный дешифратор к155ид1. В этот промежуток времени была убита arduino nano, чем я был опечален (случайно что-то замкнул на макетке, симптомы: arduino при подключение по юсби atmega начинало сильно греться, через секунд 10 невозможно было держать палец; всегда горел LedPin).


Разобравшись немного с кодом, получил первый результат:

Приступил к разработке второй платы. С первого раза не получилось расставить все по своим местам, что бы никто никому не мешал.

Были большие проблемы с кнопками и с RTC модулем. Он отказывался работать от D0 и D1, пришлось выкручиваться, используя для модуля библиотеку DS1302 (закину в архив), кнопки были добавлены тоже специфическим образом, если бы не один знакомый электронщик, то я бы не справился. С начала RTC модуль был вставлен в плату в том виде, каком он продается в Китае, позже я его разобрал и впаял в саму плату. Катушку индуктивности можно заряжать как от 9в сразу от блока питания, так и от 5в от (в плате присутствует дополнительное отверстие) меняется только частота шима в программе. Также для питания DS1302 можно питать, как от 5В, так и 3.3В. Я сделал свой выбор в пользу 3.3В. Возможно, кто-то заметит, что ноги дешифратора не совпадают с цифрами лампы - это сделано для того, чтобы не мучиться с разводкой, а просто поменять в программе цифры.

Про элементы управления. На плате расположены 4 кнопки:


1. смена вывода даты или времени;

2. +1 к нестроевому числу если зажать, то прибавлять начнет быстрей;

3. -1 к нестроевому числу если зажать, то прибавлять начнет быстрей;

4. Вход и выход в режим настройки;


2я и 3я кнопки работают только в режиме настройки. 3 переменных резистора (потенциометр) на 10К Ом - они отвечают за RGB подцветку изменения яркость светодиода от 0 до 255.


Полностью собранные часы с ножками, питается все это от блока питания 9в-1А его также можно найти на aliexpress.

Это часы, выполняющие минимальный набор функций. Показывают дату и время; имеют режим настройки даты и времени, rgb-подсветку.  Можно считать, что это только прототип, который можно развивать. К примеру, добавить будильник, пищалку и еще много классных фич. Есть идея вставить Bluetooth и убрать все элементы управления с часов, но это уже другая история.

Главное, что поставленная цель достигнута. Часы подарены, друг в шоке, выражение лица – бесценно.


Спасибо что дочитали до конца. Это был мой первый пост для pikabu, сильно не ругайтесь.


П.С. Я не стал вдаваться в подробности программирования на arduino. В интернете много подробных уроков - и как поставить ide, и какие драйвера скачать, и как настроить. Не претендую на премию «на самый лучший код года», но как улучшить программу послушать не прочь, большую часть кода я прокомментировал. Из-за отсутствия рейтинга видео с работой часов выложить не смог.

И все необходимые материалы скину архивом, а именно:

• Плату в Sprint layout

• Схему в Splan

• Программу для Arduino nano

• Список необходимых элементов и ссылками.

• Библиотеку для ds1302 (в ней можно найти примеры использования)


Хочу поблагодарить людей, участвовавших в этом проекте, их помощь существенно облегчила мне задачу!!!

П.П.С вовремя создания проекта было убита одна arduino и две покалечены, будьте аккуратны.

Показать полностью 16
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества