Съдържание:
- Консумативи
- Стъпка 1: Свържете компонентите
- Стъпка 2: 3D отпечатани части
- Стъпка 3: Кодът
- Стъпка 4: Работа и настройки
Видео: Часовник за пенсиониране / Брой нагоре / Dn часовник: 4 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Имах няколко от тези 8x8 LED матрични дисплеи в чекмеджето и мислех какво да правя с тях. Вдъхновен от други инструктажи, имам идеята да създам дисплей за обратно броене/нагоре, за да отброя до бъдеща дата/час и ако целевото време изтече, отбройте от него. Направих това сега като часовник за пенсиониране, седнал на рафта.
Идеята да го поставите в бутилка беше по -скоро инцидент, докато мислите за обвивка. Други слагат кораби в бутилка, защо не и часовник?
Исках също така да накарам часовника да се подчинява на лятното часово време и разбира се да помни настройките и времето, когато е изключен от контакта. Захранвам часовника чрез USB, което го прави препрограмируем, ако искате да направите нещо различно или просто да добавите функции към кода. Кодът е доста прост и може да използва много оптимизиране. Не трябва да се грижа добре за консумацията на RAM, трябва да призная. Ако имам време и мотивация, ще се върна към него.
Консумативи
1. Arduino Nano
2. RTC (използвах общия DS3231, който също има EEPROM)
3. 12x 8x8 точков матричен модул. (Имах четири модула, които са по -лесни за подреждане)
4. LDR за регулиране на яркостта на дисплея
5. Резистор 10 kOhm
6. Кондензатор 5x 100 uF, потискащ шипове от дисплея
7. За да увелича контраста на модулите 8х8, използвах тъмно оцветения „Прозорец филм“. Дисплеят показва светодиодите като бели точки, ако не свети. Филмът на прозореца го превръща в лъскав черен вид.
Стъпка 1: Свържете компонентите
Използвах три от четирите дисплея за сглобяване на дисплея. За да покажем дата с наклонени черти и време с двоеточия, се нуждаем от място за 8 знака. Използвайки типичния 5x7 шрифт, ще ни трябват шест блока 8x8 на ред. Разрязах един от четирите блока наполовина и ги подредих като два реда по шест блока, както е показано на схемата на макета.
Стъпка 2: 3D отпечатани части
За да задържа двата реда на дисплея и да ги поставя в бутилката, отпечатах пръстени с кръгло разстояние за рамката на дисплея. Добавих файловете, които използвах по -долу. За да можете да ги отпечатате без поддръжка, те са разделени на части. Екранната снимка показва двата пръстена, залепени за рамката на дисплея. Капакът на бутилката е с три бутона за превключване между режимите на показване и настройка на текущото и целевото време. Капакът на бутилката, отпечатан от TPU, позволява да се плъзне USB кабела в капака, без да се отрежат конекторите и да се завърже с няколко намотки тел. Забравих да спомена, че използвах бутилка вино 1,5 л, която нарязах на дъното. Всички части, които ще бъдат отпечатани, са монтирани на принтерно легло 20x20 cm (8x8 in).
Стъпка 3: Кодът
Кодът Arduino използва няколко често използвани библиотеки.
MD_MAX72xx
SPI
Тел
RTClib
Часова зона
TimeLib
Във файла INO има няколко реда, които може да се нуждаят от промяна:
Ред 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- зависи от модула 8x8 и неговата ориентация
вместо FC16_HW може да е едно от:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Кодът използва настройките за централното време на САЩ и се нуждае от настройка за други часови зони:
Ред 53/54:
TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // Лятно време UTC -5TimeChangeRule mySTD = {"CST", Първо, Слънце, Ноември, 2, -360}; // Стандартно време UTC -6
Това е лесно да се регулира. Името CST/CDT е само за справка. Не показвам трибуквената абревиатура, така че няма значение. Следващите параметри се отнасят до кой ден от месеца се извършва превключването. Настройката е за минути, така че местоположенията, използващи корекции +/- 30 минути, също ще работят.
RTC работи вътрешно в UTC-Time, което позволява библиотеката на часовата зона да работи по предназначение. Може да се чудите защо кодът препраща към по -стария чип DS1307, противно на часовника, който използвах, но това няма значение. Библиотеката работи добре с двата чипа. DS1307 има тенденция да се отклонява повече от DS3132. DS3132 е предпочитаният часовник. За тези, които искат да добавят време за интернет, ESP8266 ще свърши работата доста лесно. Това може да направи RTC остарял. Ако правите тези промени, използвайте Arduino EEPROM за съхраняване на целевото време, аз използвах RTC EEPROM, за да го направя.
Стъпка 4: Работа и настройки
Има три бутона
1. Меню / настройки
2. Нагоре
3. Надолу
Бутонът за меню позволява преминаване през трите типа дисплеи: Текущо време, Целево време, Делта време. Делта времето показва броя дни, ЧЧ/ММ/СС между текущото време и целевото време. Той ще покаже t- и отброяване, ако целта е в бъдеще или t+, и отброяване, ако целта е в миналото.
За да регулирате текущото или целевото време, изберете текущото време или показване на целевото време. За да промените часа, задръжте бутона за менюто за 2 секунди и освободете, което ще ви отведе в режим на настройка. Съседният "/" или ":" ще се превърне в "", за да посочи коя цифра регулирате. Използвайте бутоните нагоре/надолу, за да регулирате отделните hh/mm/ss и mm/dd/yy. Не съм добавил настройка за превключване между mm/dd/yy и dd/mm/yy, това се нуждае от промяна в кода или може би някой има желание да добави тази функция.
Ще забележите, че ако преминете минутите над 59 или под 00, дисплеят на часа също ще се регулира. същото важи и за секунди, часове и дни, които променят следващата по -висока стойност, ако преминават под 0 или над максимума за тази цифра. Направих това, за да избегна програмирането на различните граници на отделните месеци и ако февруари се нуждае от 29 дни през високосна година. Регулирането на времето всъщност се извършва в епохално време, секунди от 1 януари 1970 г.
Добавих прост видеоклип, за да покажа броенето. Исках да ги направя като дисплей с въртящо се колело. Ако искате да регулирате продължителността на промяната, ред 69 в INO ви дава няколко опции за ускоряване или забавяне на промяната. 120ms биха накарали цифрите да се превъртат достатъчно бавно, тъй като това би било непрекъснато работещо колело.
Надявам се да ви хареса тази инструкция.
Патрик Гешвинднер
Препоръчано:
Брой фен на Facebook: 5 стъпки (със снимки)
Брой фенове във Facebook: Актуализация: 26.09.2019 - Времето лети и технологичните промени. Откакто създадох този проект, Facebook промени своите API и настройка на APP. Така че стъпката за създаване на приложение за Facebook е изтекла. Днес вече нямам достъп или възможност да проследя тази стъпка
ESP8266 Мрежов часовник без RTC - Nodemcu NTP Часовник Няма RTC - ИНТЕРНЕТЕН ЧАСОВНИК ПРОЕКТ: 4 стъпки
ESP8266 Мрежов часовник без RTC | Nodemcu NTP Часовник Няма RTC | ИНТЕРНЕТЕН ЧАСОВНИК ПРОЕКТ: В проекта ще се прави часовник проект без RTC, ще отнеме време от интернет с помощта на wifi и ще го покаже на дисплея st7735
C51 4 -битов електронен часовник - дървен часовник: 15 стъпки (със снимки)
C51 4 -битов електронен часовник - Дървен часовник: Имах малко свободно време този уикенд, затова продължих и сглобих този 4 -битов DIY електронен цифров часовник за 2,40 австралийски долара, който купих от AliExpress преди малко
RGB LED лампа с цикъл нагоре: 6 стъпки (със снимки)
RGB LED лампа с цикъл нагоре: Този проект е направен от рециклирани материали и такива от друг проект. Първоначално проектът щеше да бъде автоматична хранилка за риба. Някои снимки може да отразяват проекта за хранене на риба. Тъй като проектът беше изграден предимно от подръчни материали, аз
Педал нагоре октава: 15 стъпки (със снимки)
Педал с октава нагоре: Педалът с китара с октава нагоре е педал, наподобяващ фуз, който повишава нотите ви нагоре в октава. Това не е педал с общо предназначение, който бихте искали да използвате за ритъм китара, а такъв, който бихте искали да включите, когато ще накъсате злобно соло. Тази педала