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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

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


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

1. Bluetooth

2. Энкодер

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

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

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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

Следующим этапом было создание прошивок для 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: //смена между временем и датой


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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

Дождавшись ИК-приемников стал работать с ним, буду использовать распространённую библиотеку 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м таймере)

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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

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

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

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

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

• Стрелка вправо: если находимся в режиме настройки, то перемешает по разрядам вправо, иначе изменяет мод +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


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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

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

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

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

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

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

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

Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост
Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост
Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост
Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост
Часы на газоразрядных индикаторах ИН-14 с помощью arduino nano v2. Nixie clock, Arduino, Ин-14, Газоразрядные индикаторы, Своими руками, Часы, Чип, Гифка, Длиннопост

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

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

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

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

8
Автор поста оценил этот комментарий

А кому нибудь интересны часы на вакуумно-люминисцентных индикаторах? Совсем недавно закончил часы на лампах ИВ-12 наконец  то. Новая версия :) Применено правильное питание, полностью отсутствует нагрев благодаря питанию отрицательным напряжением. Если интересно, выложу все полностью включая схему и прошивку.

раскрыть ветку
4
Автор поста оценил этот комментарий

лампы на али заказывал или где?

раскрыть ветку
1
Автор поста оценил этот комментарий

Спасибо Данил, за проделанный труд, тем что поделился в свободном доступе исходниками ПП и кодом. Спасибо за помощь в сборке, поиске и исправлении ошибок. Интересный проект, который хотелось давно реализовать. От процесса и результата получил огромнейшее удовольствие.

Благодарю!
https://pp.userapi.com/c850128/v850128392/cd320/fcDtBEE2zHc.jpg
Рейтинга не достаточно для загрузки фото, чтобы продемонстрировать результат. :(

1
Автор поста оценил этот комментарий

Большое спасибо автору за проект) специально зарегался, чтобы лично поблагодарить! Было очень интересно собирать (тоже внес кое какие изменения, но с нуля разработать что-то подобное пока не решался). Теперь появилось много идей, которые хотелось бы воплотить, в других часах и не только. Вобщем помог и вдохновил👍.

1
Автор поста оценил этот комментарий
Красава