Оглавление:
- Шаг 1: прототип платы
- Шаг 2: Arduino UNO
- Шаг 3. Крепление светодиодной ленты к дереву
- Шаг 4: Дальнейшее развитие
- Шаг 5: Постскриптум: 2 полосы
Видео: Линейные часы с использованием Arduino + DS1307 + Neopixel: повторное использование некоторого оборудования: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Из предыдущих проектов у меня остались Arduino UNO и светодиодная лента Neopixel, и я хотел сделать что-то другое. Поскольку лента Neopixel имеет 60 светодиодных фонарей, думала использовать ее как большие часы.
Для индикации часов используется красный сегмент из 5 светодиодов (60 светодиодов / 12 сегментов = 5 светодиодов). Минуты отображаются одним зеленым светодиодом, а секунды - одним синим светодиодом.
Я добавил плату часов реального времени DS1307, чтобы отслеживать время, когда на Arduino не подается питание.
Это используемая светодиодная лента Neopixel 60: https://www.adafruit.com/product/1138 и плата DS1307:
Изначально планировалось, что светодиодная лента будет висеть на стене столовой, но мои дочери посоветовали мне прикрепить ее к дереву от поддона, поэтому они нарисовали числа и приклеили к дереву.
Шаг 1: прототип платы
Здесь у вас есть схема, которую нужно реализовать, и спецификация.
Если вы не используете плату DS1307 RTC, она не будет работать. Часы и минуты будут сброшены, когда Arduino не будет запитана, потому что на этой плате нет внутреннего RTC.
Макетная плата помогает удерживать RTC DS1307, пару резисторов и кнопок на месте.
Необходима пайка и разводка кабелей.
При нажатии кнопки «H» час увеличивается. Кнопка «M» увеличивает значение минуты. Секунды сбрасываются при нажатии любой кнопки.
После 6 месяцев непрерывной работы возникла задержка в 2 минуты (на мой взгляд, неплохо).
Шаг 2: Arduino UNO
Я использовал старый клон Arduino и несколько контактов для подключения прототипной платы.
Вы можете найти код Arduino по адресу:
github.com/Giroair/Linear-Clock-Arduino/bl…
Прикрепите Arduino к дереву пластиковой стяжкой.
Припаял 3 кабеля к полосе Neopixel (осторожно: используйте изоляционную ленту или разъем).
В этом проекте Arduino питается от стандартного зарядного устройства USB 5V 1A.
Информация для разработчиков: Neopixel питается от вывода 5V Arduino UNO, потому что одновременно горят только 7 светодиодов. Если вы планируете включить больше светодиодов (которые идеально подходят для более привлекательных дисплеев), рассмотрите возможность питания Neopixel от внешнего источника 5 В. В этом случае подключите GND источника к контакту GND платы Arduino.
Также возможно питание Arduino, подключив внешний надежный источник питания к выводу 5 В.
Шаг 3. Крепление светодиодной ленты к дереву
Использовал 3 пластиковые стяжки, чтобы удерживать полоску на месте. Будьте осторожны, не закрывайте светодиоды.
Некоторые листы были приклеены к дереву, а числа нарисованы.
Красные цифры обозначают час. Линии прорисовываются через каждые 5 светодиодов.
Зеленые числа обозначают Минуту. Обратите внимание, что первый светодиод показывает первую минуту, а последний - 60-ю.
Шаг 4: Дальнейшее развитие
Некоторые идеи из этого проекта:
1.- Вырежьте числа на дереве с помощью стамески и покрасьте их лаком.
2.- Нарисуйте числа часов с одной стороны и числа минут с другой.
3.- Используйте 2 светодиодные ленты, расположенные вплотную друг к другу: одна направлена влево для часов, а другая вправо для минут.
4. Поэкспериментируйте с разными сегментами и цветами: воображение - это предел (рекомендуется использовать внешнее питание 5 В для полосы Neopixel).
5.- Поочередно показывать часы и минуты.
6.- Разделите светодиодную ленту на сегменты и сделайте светодиодную матрицу 7x8 для отображения цифровых чисел и символов.
7.- Приглушите свет: используйте LDR или фотодиод для автоматического затемнения света.
8.- Подключитесь к облаку, чтобы узнать время с сервера.
9.- Включить будильник: полоска мигает, когда телефонные звонки или твиты получены, или установлен будильник по времени.
10.-…. просто дай мне знать!
Шаг 5: Постскриптум: 2 полосы
Я оставил файл neopixel_invers_2_strips.ino в
Он предназначен для управления одной полосой для индикации часов, подключенных к контакту № 6, и второй полосой для индикации минут / секунд, подключенных к контакту № 7.
И 5 В постоянного тока, и земля полос подключены к одному источнику.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: не могу протестировать, пока у него нет 2 полосок. Если вы его протестируете, сообщите об ошибках или подтвердите, что он работает.
Спасибо.