Необычные часы на WS2812B и Arduino

Это очень эффектный и простой проект Arduino, в котором применен необычный способ отображения большого количества информации на дисплее, состоящем всего из 12 светодиодов.

Обычно показания времени, температуры и влажности отображаются на каком-либо цифровом дисплее. Но тут вместо дисплея используется адресное пиксельное кольцо WS2812B с 12 LED. Считывание значений осуществляется интуитивно понятно с помощью различных цветовых комбинаций.

Еще одной особенностью является способ ввода команд всего одной кнопкой с помощью одинарного, двойного или длительного клика.

Схема электронных часов

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

  • — Плата микроконтроллера Arduino Nano.
  • — Адресное кольцо WS2812B с 12 светодиодами.
  • — Модуль часов реального времени DS3231
  • — DHT11 датчик температуры и влажности
  • — Кнопка, резистор
  • — Зуммер

Зуммер в этой схеме просто сигнализирует о нажатии кнопки — можно не ставить.

А теперь посмотрим, как устройство работает в реальных условиях.

Сразу после включения, после проверки LED кольца часы переходят в положение установки текущего времени. Короткими нажатиями выставляем часы, который представляет собой розовый или красный светодиод (AM или PM). Когда выставляем, ждем определенное время и теперь горит синий светодиод, показывающий минуты. Точно так же настраиваем минуты, и через несколько секунд появляется правильное время.

Время читаем следующим образом:

  • Красный светодиод указывает часы, а именно 5.
  • Синий светодиод показывает минуты, а именно 47 минут.
  • Оба зеленых светодиода показывают секунды.

Как видите, с каждой секундой интенсивность свечения светодиода постепенно увеличивается, и через каждые 5 секунд включается следующий светодиод. Тот же принцип применим к минутам и часам.

Теперь при двойном щелчке на дисплее появляется следующее состояние, которое фактически представляет текущую влажность, измеренную датчиком DHT11. Сейчас температура составляет 68 градусов, красный светодиод обозначает десятки, а синий – единицы.

Следующим двойным щелчком мыши отобразим температуру, также измеренную датчиком DHT11, и на данный момент она составляет 21 градус. Аналогично предыдущему случаю, красный светодиод обозначает первую цифру, а синий — вторую.

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

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

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

Оцените материал:

0 / 5. Рейтинг: 0

Может подскажете что улучшить?