Цифро-аналоговые часы на WS2812B

Цифро-аналоговые часы

Цель — создание оригинальных интерьерных часов, синхронизирующих время и показывающих погоду от сервера погодной станции.


Также планируется использование этих часов в режиме программируемой светодинамической установки.

За основу взяты ранее изготовленные элементы: 12 линеек из 10 светодиодов WS2812B .

Линейки WS2812B

и цифрового дисплея из тех же светодиодов

Готовый дисплей на WS2812

 

Конструкция простая. На алюминиевом уголке крепятся все заготовки с WS2812B, подсоединяются плюс и минус к ка

Конструкция часов на WS2812B

Конструкция цифро-аналоговых часов еа WS2812B

Конструкция цифро-аналоговых часов еа WS2812B

Конструкция цифро-аналоговых часов еа WS2812B

Получилась конструкция из 177 светодиодов с пиксельной адресацией — 120 на 12-«лучах» и 57 — цифровой дисплей.

Подключаю к Ардуино и загружаю тестовый скетч из библиотеки Adafruit NeoPixel

Тестирование

Тестовый скетч

Приступаю к программированию часов. Алгоритм будет такой:

  • Часы используют внутренний счетчик миллисекунд Arduino. Каждые 15 минут от сервера прилетает точное время, получаемое по NTP из интернета и корректирует внутренний счетчик.
  • На дисплее последовательно показывается время, комнатная и уличная температура.
  • На лучах первые 4 светодиода показывают часы красным цветом.
  • Следующие 5 светодиодов синим цветом показывают «минуты» вернее «пятиминутки», так как лучей всего 12. Порядковый номер мигающего синего светодиода показывает номер «минуты» в «пятиминутке».
  • А последний светодиод мигает с секундным интервалом зеленым цветом, по пять раз на каждом луче показывая секунды.
  • Остальные лучи подсвечиваются с минимальной яркостью

Управляющий контроллер на базе Arduino Uno. К нему подключается через 3-х вольтовый стабилизатор NRF24L01 Для связи с сервером погодной станции и DHT22 для показа комнатной температуры.

Контроллер управления часам

И вот результат

Цифро-аналоговые часы

Скетч для цифро-аналоговых часов

Ну и видео работы часов

 

Другие статьи по WS2812B

 

 

Кот Тимофей

 

Скетч для цифро-аналоговых часов
8.3 KiB
579 Downloads
Детали
Вы можете оставить отзыв или трекбек со своего сайта.

8 комментариев на «Цифро-аналоговые часы на WS2812B»

  1. SPx:

    Алексей, вечер добрый!

    Наткнулся на Ваш блок питания «со всякими художествами»
    http://images.mysku.ru/uploads/images/01/00/72/2014/07/12/e0afb4.jpg
    из обзора
    http://mysku.ru/blog/taobao/25974.html

    Очень было бы интересно почитать о нем обзор, если можно -)

    • Alexey Alexey:

      Давно хочу его переделать. Тогда точно обзор сделаю

      Обычный ATX БП от компьютера. 12В через регулятор напряжения — получается 2-11В.
      5В напрямую на USB и клеммы.
      На обоих каналах индикаторы тока и напряжения.

  2. SPx:

    «Косичку» с проводами откусили и развели внутри корпуса БП?

  3. Alex:

    Здравствуйте. Купил на али ws2812. Подключаю все как в даташите, для верности сравнил с платой на спаркфане. Цепляю к Ардуино, использую библиотеку от Ады, инстанс класса создаю так:
    Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800)
    Использую стандартный пример.
    (тут я только обращаю внимание на NEO_GRB + NEO_KHZ800, кажется нужно использовать именно эти частоты).
    Но ничего не работает, попробовал парочку светодиодов(лента с отдельными смд-компонентами).
    Может быть я не правильно использую параметры инициализации?

    • Alexey Alexey:

      Число светодиодов в цепочке и номер пина
      После этого если светодиоды правильно подключения — все работает

      • Alex:

        Спасибо, но там все правильно. Подключаю только 1 светодиод, с пином тоже все ок. Подозреваю, что либо попался брак, либо подделка. Хотя отзывы от других покупателей по лоту положительные.
        Попробую найти в местных магазинах такие же светодиоды, но в виде ленты, чтобы проверить наверняка.
        Скажите, а нет известного способа как-то прозвонить эти светодиоды?

  4. Aleksandr:

    ******************************
    Часы используют внутренний счетчик миллисекунд Arduino. Каждые 15 минут от сервера прилетает точное время, получаемое по NTP из интернета и корректирует внутренний счетчик.
    ******************************
    Не понятно, что осуществляет связь по NTP? Те. как реализована данная функция в устройстве.

Ваш отзыв