Оглавление:

7-сегментные часы: 4 шага (с изображениями)
7-сегментные часы: 4 шага (с изображениями)

Видео: 7-сегментные часы: 4 шага (с изображениями)

Видео: 7-сегментные часы: 4 шага (с изображениями)
Видео: 4 разрядный 7 сегментный индикатор с 74HC595, от ICStation 2024, Ноябрь
Anonim
Image
Image
7-сегментные часы
7-сегментные часы
7-сегментные часы
7-сегментные часы

После нескольких лет использования мои аналоговые часы окончательно сдохли.

Тем временем я искал проект 3D-часов для печати с моей Prusa, поэтому я нашел 7-сегментные часы, которые будут управляться светодиодами ws2812 и Arduino.

Я думал, что сила этих светодиодов в том, чтобы отображать большой диапазон цветов, тогда вопрос был в том, как объединить несколько цветов на цифровых часах?

Тогда возникла идея настроить часы со следующими функциями:

- 7 различных минутных переходов изменения

- 3 предустановленных цвета для временных интервалов

- автоматическое затемнение интенсивности окружающего света

- автоматическое выключение / запуск, когда нет необходимости показывать время

- автоматическая настройка летнего времени

Запасы

Проект может быть выполнен на 3D-принтере или в гугле для проектов 7-сегментных часов. Кто-то сделал их и из картона.

Также необходимы:

  • Ардуино нано
  • фото Челл
  • кнопка мгновенного действия
  • переключатель включения / выключения
  • Вилка постоянного тока
  • Трансформатор 5В
  • 30 светодиодов WS2812 (модель 30 светодиодов на метр)
  • печатная плата
  • Модуль DS3231
  • тонкие кабели для подключения светодиодов
  • резисторы 10К, 550
  • припаять
  • клей
  • прыгуны
  • заголовки мужской / женский

Шаг 1: Печать и подключение…

Печать и электромонтаж…
Печать и электромонтаж…
Печать и электромонтаж…
Печать и электромонтаж…
Печать и электромонтаж…
Печать и электромонтаж…

Оригинальный проект на Thingverse был немного изменен (спасибо пользователю random1101).

Две точки были увеличены, чтобы соответствовать светодиодной версии, используемой в этом проекте. Одна из трех задних крышек также была модифицирована под печатную плату. Изменилась и база часов.

Основная работа - паять светодиоды. Сначала я припаял светодиоды снаружи задней крышки с цифрами для 3D-печати, а затем вставил в нее.

Седьмой светодиод первой цифры, начиная слева, будет подключен к первому светодиоду следующей цифры. В конце 4-й цифры соедините светодиоды с двумя точками, внутри последовательности они будут пронумерованы 28 и 29.

Последовательность светодиодов можно изменить, изменив некоторые параметры в библиотеке Arduino, как описано ниже.

После подключения большая часть работы сделана.

Шаг 2: Сборка печатной платы

Сборка печатной платы
Сборка печатной платы
Сборка печатной платы
Сборка печатной платы
Сборка печатной платы
Сборка печатной платы
Сборка печатной платы
Сборка печатной платы

Теперь пришло время собрать печатную плату, на которую припаять резисторы, разъемы и т. Д. Компоненты для подключения Arduino:

Кнопка, подключенная между контактом 3 Arduino и GND с внутренним подтягивающим резистором.

Датчик освещенности подключен как делитель напряжения между контактом A7 Arduino и GND. Добавьте также резистор 10K между A7 и + 5V ……… БОЛЬШАЯ ОШИБКА

датчик освещенности между + 5V и контактом A7 и резистором 10K между контактом A / и GND

Модуль DS3231 подключен через i2c и вывод SQW к выводу прерывания 2 Arduino

Светодиоды подключены к выводу 5 через резистор 550 Ом.

Шаг 3: набросок

Внутри эскиза можно выполнить множество настроек.

Сохранение библиотеки летнего времени осуществляется параметрами TimeChangeRule, дополнительную информацию см. В библиотеке JChristensen на Github.

Автоматическое отключение внутри цикла обрабатывается переменной int gotosleep. В моем случае в 0:00 Arduino переходит в спящий режим, затем часы выключаются.

Установка ALARM на модуле DS3231 с помощью переменной int gotosleep, позволяет Arduino выходить из спящего режима. В моем случае в 7:00 утра.

Еще одна функция - изменить цвет часов в течение дня внутри функции:

void printDateTime (time_t t, const char * tz)

В моих настройках с 0:00 до 12:00 время отображается красным цветом, с 12:00 до 17:00 - зеленым, а с 17:00 до 0:00 - в основном синим. Это лучшая цветовая балансировка, найденная до сих пор, для хорошего контраста с белой стеной позади.

Функция переходов позволяет иметь анимированный цветовой переход при незначительном изменении. Есть 6 различных вариантов, которые можно выбрать, нажав кнопку мгновенного действия, 7-й вариант - без переходов. Тот, который мне нравится, называется newrandom (), он предустановлен (int mode = 1;).

Я внес некоторые изменения в библиотеку для совместимости с последовательностью светодиодов. Внутри файла segment_display.cpp в конце переключателем (i) вы можете изменить последовательность светодиодов. После этого замените файл внутри

/ Arduino / библиотеки / 7segment_NeoPixel-master

Необходимые библиотеки:

  • ср. сон
  • segment_display
  • DS3231
  • TimeLib
  • Проволока
  • Адафрут NeoPixel
  • Часовой пояс

Шаг 4: время прощаться

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

Как можно просить большего от часов?

Рекомендуемые: