СамоДельник

Неопиксельные часы с анимацией

Nextrp [CPP] RU + Many GEOs

Главный элемент этих часов светодиодное неопиксельное кольцо (WS2812). Кольцо состоит из адресуемых, красноватого, зеленоватого и голубого, (RGB) светодиодов. Яркость всякого цвета можно регулировать независимо, обеспечивая до 16,8 миллионов цветов. время из Веба и отдать команду, какие светодиоды и каким цветом должны загореться.
Инструменты и материалы:-Светодиодное кольцо WS2812 60 пикселей;-ESP8266 Wemos D1;-Резистор 470 Ом;-Электролитический конденсатор 1000 мкФ;
-Винты M3 x 12 – 2 шт;
-Гайки M3 – 2 шт;
-Многожильный кабель;
-Суперклей;
-Разъем питания;
-Шурупы;
-Блок питания 5В 3А;
Шаг 1-ый: проект
Физический корпус настольных часов основан на размерах неопиксельного кольца. Мастер желал, чтоб был минималистичным и имел сглаженные полосы дизайна, чтоб вещь не только лишь демонстрировала время, да и была презентабельна с виду.
Для работы у часов не обязано быть клавиш либо переключателей. синхронизация времени будет проходить по сети.
Для питания часов употребляется сетевой адаптер питания. Мастер подсчитал, что для всякого светодиода будет нужно 15 мА, а на любом неопикселе три светодиода. Для всего кольца может потребоваться наибольший ток 45 мА x 60 = 2,7 А.
Корпус был разработан при помощи программки FreeCAD и состоит из 2-ух главных компонент. Держатель кольца – это защитный футляр для неопикселей, который открывает лишь переднюю лицевую поверхность неопикселей, скрывая соединения проводов сзаду. В основании находится Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейШаг 2-ой: сетевой протокол времени
Главный задачей процессора является подключение к Вебу и получение времени UTC с сервера с внедрением протокола сетевого времени (NTP). Эталон клиента NTP включен в IDE Arduino. Принцип его работы заключается в получении IP-адреса случайного сервера времени из перечня доступных. Это означает, что мы постоянно сможем синхронизировать время, даже если один из серверов времени отключится.
Потом времени, который запрашивает время и ждет возврата 48-байтового пакета данных. Опосля получения пакет разбивается на байты для восстановления метки времени. Преобразуется в число и представляет количество секунд с 1 января 1900 года.
К примеру, вот обычные 48 байтов, возвращаемых в пакете данных: 28 1 13 227 0 0 0 16 0 0 0 32 78 73 83 84 227 40119 255 0 0 0 0 0 0 0 0 0 0 0 0 227 40 120 43 108 18 197 18 32 27 40 120 43 108 18 234 100
Отметка времени хранится в 4 б, начиная с б 40 (выделено голубым шрифтом). Потом они преобразуются в двоичное число b11100011 00101000 01111000 00101011 = 3811080235. время Unix начинается 1 января 1970 года, но изготовленные вычисления относятся к 1 января 1900 года, потому необходимо убрать секунды, рассчитанные на 70 лет (2208988800 ).
время с 1 января 1900 г. (3811080235) – 1 января 1970 г.(2208988800) = время с 1 января 1970 г.(1602091435)
Когда мы вычисляем 1602091435 секунд с 1 января 1970 года, это число преобразуется в 17:23:55 7 октября 2020 года. В настоящем времени весь процесс выполнения запроса, отправки пакета данных и выполнения вычислений занимает несколько миллисекунд.
Шаг 3-ий: стрелки часов
Любая «стрелка» часов представлена неопикселем собственного цвета: красноватый – часы, голубий – минутки, зеленоватый – секунды. Если поглядеть на классические часы, просто осознать, как движутся минутная и секундная стрелки, перескакивая на последующую цифру. Часовая стрелка движется медлительно и умеренно, в том числе меж цифрами. Эту функция мастер тоже воплотил, чтоб стрелка медлительно вращалась вокруг кольца.
Любые 15 минут на часах запускается разный набор светового шоу с наиболее длинноватым набором эффектов в полдень и полночь. Компания Adafruit разработала несколько хороших анимационных световых эффектов, и они доступны безвозмездно, если установлена их библиотека neopixel (Examples → Adafruit Neopixel → strandtest). К ним мастер добавил эквивалент «звонка» в конце светового шоу, которое отображается как белоснежный светодиодный индикатор, заполняющий четверть часа.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейШаг 4-ый: английское летнее время
Потому что мастер проживает в Англии, он вводит корректировку для летнего и зимнего времени. Таковая корректировка обязана быть “зашита” в код, так как у микроконтроллера нет внутренних часов, как, к примеру, на Рассбери.
Тщательно этот шаг мы разбирать не будем, так как обзор самоделки делается для русской аудитории, где перевод часов не животрепещущ. Желающие могут ознакомится с сиим шагом на сайте-источнике, в конце статьи.
Шаг 5-ый: неопиксельное кольцо
1-ое, что необходимо создать при сборке часов – это собрать кольцо. Обычно торговец поставляет его в виде 4 частей.
Сборку нужно аккуратненько разобрать, а неровные края можно отпилить алмазным ратфилем. Эти четыре сектора должны буквально создавать круг.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимацией

Чтоб закрепить кольцо, был написан временный шаблон. Сегменты закрепляются на нем при помощи скотча.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимацией Далее припаиваются все соединения не считая 1-го. Это точка, в какой данные подаются на кольцо, и она будет размещена в позиции 6 часов.
необходимо приготовить три провода. Они припаиваются под прямым углом к кольцу. Красноватый – для питания +5 В (Vcc), темный – для земли, а зеленоватый – для поочередного ввода данных. На полосы данных необходимо припаять резистор 470 Ом.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейШаг 6-ой: печать корпуса
Далее необходимо напечатать детали корпуса. Файлы для печати можно скачать ниже.
Base.stlneopixel support ring.stlBase Cover.stlneopixel soldering jig.stl
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейШаг седьмой: сборка
Далее мастер приступает к сборке часов.
В ESP8266 необходимо просверлить два отверстия, чтоб его можно было прикрепить к основному корпусу.
Провода, прикрепленные к кольцу, можно пропустить через отверстие в фронтальной части основания. Корпус кольца сейчас можно наклеить к корпусу и временно зафиксировать скотчем.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейПодключается все согласно схемы.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимацией Устройство сумеет потреблять довольно энергии и через USB-соединение, но рекомендуется употреблять адаптер питания 5 В.
Далее необходимо загрузить код, который можно скачать ниже.
ESP8266_Desktop_Equinox_Clock_Instructables.ino
Опосля того, как код загружен, и устройство испытано, можно наклеить светодиодное кольцо снутри держателя и установить крышку.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейВсе готово.
Неопиксельные часы с анимациейНеопиксельные часы с анимациейНеопиксельные часы с анимациейХотя светодиоды имеют форму кольца, по сути они представляют собой просто последовательность светодиодов. Кольцо вполне электрически не соединено, потому у него есть начало и конец. Сначало мастер решил поместить начало последовательности светодиодов в верхней части круга, представляя 12 часов, потому что это упростило программирование. Со временем светодиоды загораются по часовой стрелке. неувязка заключалась в том, что он поставил впереди себя цель физического дизайна – быть минималистичным, чтоб сделать роскошную вещь. Для правильной работы необходимо было протянуть провода к верхней точки, а если подключать нижнюю, время “переворачивалось”. Тогда мастер программно сдвинул рассчитанные положения часов, минут и секунд на 180 градусов.
Далее он решил запрограммировать самодиагностику, типа, как на ПК (Персональный компьютер – компьютер, предназначенный для эксплуатации одним пользователем). Разные последовательности звуковых сигналов указывают на определенные трудности с ПК (Персональный компьютер – компьютер, предназначенный для эксплуатации одним пользователем). Он не проектировал зуммер в свои часы, но встроил несколько обычных зрительных эффектов в функцию пуска. Когда устройство включено, отображается полный красноватый круг, чтоб показать, что все светодиоды работают. Потом оно пробует подключиться к Вебу, и опосля подключения зажигается зеленоватым светом. Последующим шагом является получение метки времени с сервера времени. Пока он ждет этих данных, он показывает янтарный свет. При сильном сигнале Wi-Fi эти процессы происходят практически одномоментно, потому при включении часы стают красноватыми.

FIFA Online 4 [CPP] RU+CIS

SamoDelnik

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.