Часовник със 7 сегмента: 4 стъпки (със снимки)
Часовник със 7 сегмента: 4 стъпки (със снимки)
Anonim
Image
Image
7 Сегментен часовник
7 Сегментен часовник
7 Сегментен часовник
7 Сегментен часовник

След няколко години употреба, аналоговият ми часовник, ако окончателно е мъртъв.

Междувременно търсех проект за 3D часовник за печат с моята Prusa, така че намерих 7 -сегментен часовник, който да се управлява от ws2812 светодиоди и Arduino.

Мислех, че силата на тези светодиоди е да показват голяма гама от цветове, тогава въпросът беше как да комбинираме няколко цвята на цифров часовник?

Тогава идеята да персонализирате часовника със следните функции:

- 7 различни минутни промени

- 3 предварително зададени цвята за времеви интервали

- интензитет на околната светлина автоматично затъмняване

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

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

Консумативи

Проектът може да бъде изпълнен с помощта на 3D принтер или с гугъл за проекти със 7 сегментни часовници. Някой ги е направил и с картон.

Има и нужда от:

  • Arduino nano
  • фото чел
  • моментален бутон
  • превключвател за включване/изключване
  • DC щепсел
  • 5V трансформатор
  • n ° 30 светодиоди WS2812 (модел 30 светодиода/метър)
  • печатна платка
  • Модул DS3231
  • тънки кабели за свързване на светодиоди
  • резистори 10K, 550
  • спойка
  • лепило
  • джъмпери
  • заглавки мъжки/женски

Стъпка 1: Печат и окабеляване…

Печат и окабеляване …
Печат и окабеляване …
Печат и окабеляване …
Печат и окабеляване …
Печат и окабеляване …
Печат и окабеляване …

Оригиналният проект на Thingverse е малко модифициран. (Благодарение на потребителя random1101)

Двете точки бяха увеличени, за да отговарят на LED версията, използвана за този проект. Един от трите задни капака също беше променен, за да пасне на печатна платка. Променена е и базата на часовника.

Основната работа е да запоявате светодиоди. За първи път пристъпих към запояване на светодиоди извън обложката на цифрата за 3D печат, след което я вмъкнах.

Седмият светодиод на първата цифра, започващ отляво, ще бъде свързан с първия светодиод на следващата цифра. В края на 4 -та цифра свържете двете точки с LED, те ще бъдат номерирани 28 и 29 вътре в последователността.

Светодиодната последователност може да бъде променена, като се променят някои параметри в библиотеката на Arduino, както е обяснено по -долу.

След като се свърже, по -голямата част от работата е свършена.

Стъпка 2: Сглобяване на печатни платки

Сглобяване на печатни платки
Сглобяване на печатни платки
Сглобяване на печатни платки
Сглобяване на печатни платки
Сглобяване на печатни платки
Сглобяване на печатни платки
Сглобяване на печатни платки
Сглобяване на печатни платки

Сега е време да сглобите печатна платка, където да запоявате някои резистори, хедери и т.н. Компонентите за свързване на Arduino са:

Бутон, свързан между щифт 3 на Arduino и GND с вътрешен резистор за издърпване.

Светлинен сензор, свързан като разделител на напрежение, между щифт A7 на Arduino и GND. Добавете също 10K резистор между A7 и +5V ……… ГОЛЯМА ГРЕШКА

светлинен сензор между +5V и A7 пин и 10K резистор между A/ pin и GND

DS3231 модул, свързан чрез i2c и SQW щифт към Arduino прекъсващ пин 2

Светодиоди, свързани към резистор 5 до 550Ohm.

Стъпка 3: Скицата

Има много персонализиране, които могат да бъдат направени вътре в скицата.

Запазването на библиотеката за лятно часово време се обработва от параметри TimeChangeRule, вижте библиотеката JChristensen в Github за повече информация.

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

Задавайки ALARM на модул DS3231 чрез променлив int gotosleep, позволете на Arduino да се събуди от спящ режим. В моя случай в 7:00 сутринта.

Друга функция е да променяте цвета на часовника през деня във вътрешната функция:

void printDateTime (time_t t, const char *tz)

В моите настройки от h 0:00 до 12:00 времето е показано в червено, от 12:00 до 17:00 в зелено и от 17:00 до 0:00 предимно в синьо. Това е най -доброто балансиране на цветовете досега за добър контраст с бялата стена отзад.

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

Направих някои промени в библиотеката за съвместимост с LED последователността. Вътре в файла segment_display.cpp, в края, превключвател (i) можете да промените вашата LED последователност. След като приключите, заменете файла вътре

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

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

  • avr.спивам
  • segment_display
  • DS3231
  • TimeLib
  • Тел
  • Adafruit NeoPixel
  • Часова зона

Стъпка 4: Време е да се сбогуваме

Харесва ми този часовник, текущото време се вижда ясно отдалеч и се изключва, когато нямам нужда.

Как може да поиска повече от часовник?

Препоръчано: