![Дәлдік сағаты: 3 қадам Дәлдік сағаты: 3 қадам](https://i.howwhatproduce.com/images/007/image-18653-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51
![Дәлдік сағаты Дәлдік сағаты](https://i.howwhatproduce.com/images/007/image-18653-1-j.webp)
Барлығымызға сағаттар қажет, сондықтан неге осы нұсқаулықта өз қолыңызбен жасамасаңыз, мен сізге дәлдіктегі сағатты қалай жасау керектігін көрсетемін, сіз барлық нәрсенің фонында ағымдағы уақытты автоматты түрде қадағалап отырасыз. Сонымен қатар, өте аз материалдар мен нөлдік дәнекерлеу қажет.
Жабдықтар
Біріншіден, сізге Arduino қажет, бірақ кез келген Arduino жұмыс істейді
Әрі қарай, сізге жалпы секіргіш сымдардың ассортименті қажет болады.
2 12 мм Sparkfun батырмалы қосқыштары
Дәстүрлі нан тақтасы
және СКД 1602 16 істікшелі дисплей
1 -қадам: Сымдарды жалғау
![Сымдар Сымдар](https://i.howwhatproduce.com/images/007/image-18653-2-j.webp)
Бұл сағаттың жұмыс істеуі үшін сіз оны нақты түрде байланыстыруыңыз керек, әйтпесе экранда уақыт емес, кездейсоқ сандар пайда болады.
2 -қадам: Кодекс
Біз RTC қолданбайтындықтан, код біразға созылады, бірақ шүкір, мен сіз үшін барлық ауыр жұмысты орындадым және оны осында ұсындым.
Мұны Arduino IDE немесе веб -редакторға көшіріп, қойыңыз.
#«LiquidCrystal.h» қосыңыз
// Бұл LCD сымын DIGITALpins const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7 анықтайды; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
// Digital LCD Constrast параметрі int cs = 9; // контраст үшін PWM const int kontrast = 100 түйреуіш 9; // әдепкі контраст
// бастапқы Уақыт дисплейі - 12:59:45 PM int h = 12; int m = 59; int s = 45; int жалаушасы = 1; // PM
// Уақытты орнату түймелері int button1; int түймесі2;
// Уақытты орнату түймелері үшін түйреуіш анықтамасы int hs = 0; // сағатты орнату үшін 0 түйін int ms = 1; // минут 1 параметрі үшін // PIN 1.
// Артқы жарық уақыты аяқталды const int Time_light = 150; int bl_TO = Уақыттың жарығы; // Артқы жарықтың күту уақыты int bl = 10; // Артқы жарық pin const int backlight = 120; // 7 мА артық емес !!!
// Уақытты дәл оқу үшін Arduino Real Time Clock пайдаланыңыз және кешіктірмей () static uint32_t last_time, now = 0; // RTC
void setup () {lcd.begin (16, 2); pinMode (hs, INPUT_PULLUP); // 1 -түйме pinMode (ms, INPUT_PULLUP); // және Button 2 analogWrite (cs, контраст) үшін сыртқы тарту резисторларынан аулақ болыңыз; // Contrast VO analogWrite (bl, backlight) реттеу; // бұру Артқы жарықта қазір = миллис (); // RTC бастапқы мәнін оқу}
void loop () {lcd.begin (16, 2); // әр секунд // СКД дисплейін жаңарту // TIME, Print in Hour, Min, Sec + AM/PM lcd.setCursor (0, 0); lcd.print («Уақыт»); if (h <10) lcd.print («0»); // әрқашан 2 цифр lcd.print (h); lcd.print («:»); егер (m <10) lcd.print («0»); lcd.print (m); lcd.print («:»); if (s <10) lcd.print («0»); lcd.print (s);
if (flag == 0) lcd.print («AM»); if (flag == 1) lcd.print («PM»); lcd.setCursor (0, 1); // 2 -жол үшін lcd.print («Нақты сағат»);
// кешіктіруді жақсарту (1000) // Біршама жақсы дәлдік, циклдің орындалу уақытына тәуелді емес
for (int i = 0; i <5; i ++) // 5 уақыт 200 мс цикл жасаңыз, тезірек батырмалық жауап беру үшін {
while ((now-last_time) <200) // delay200ms {now = millis (); } // ішкі 200ms цикл last_time = қазір; // келесі циклге дайындалу
// оқу батырмаларын орнату батырмасы1 = digitalRead (hs); // Read Buttons button2 = digitalRead (ms);
// Артқы жарықтың күту уақыты bl_TO--; if (bl_TO == 0) {analogWrite (bl, 0); // Backlight OFF bl_TO ++; } // Артқы жарығын іске қосу үшін кез келгенін басыңыз, егер ((((1 -түйме = = 0) | (2 -түйме == 0)) & (bl_TO == 1)) {bl_TO = Уақыт_ жарығы; analogWrite (bl, артқы жарық); // ((button1 == 0) | (button2 == 0)) {button1 = digitalRead (hs); // Buttons оқу түймесі2 = digitalRead (ms); }} else // 1 -ші процесс түймесі немесе 2 -ші түймешік Артқы жарығы қосулы кезде {if (button1 == 0) {h = h+1; bl_TO = Уақыттың жарығы; analogWrite (bl, артқы жарық); }
if (button2 == 0) {s = 0; m = m+1; bl_TO = Уақыттың жарығы; analogWrite (bl, артқы жарық); }
/* ---- секундтарды, минуттарды, сағаттарды таңғы/кешкі асып кетуді басқару ----*/if (s == 60) {s = 0; m = m+1; } егер (m == 60) {m = 0; h = h+1; } егер (h == 13) {h = 1; жалауша = жалауша+1; if (flag == 2) flag = 0; }
if ((button1 == 0) | (button2 == 0)) // Уақытты орнату батырмасы басылса, дисплейді жаңарту {// LCD дисплейін жаңарту // Сағаттың, мин, сек + AM/PM -де басып шығару уақыты lcd.setCursor (0, 0); lcd.print («Уақыт»); if (h <10) lcd.print («0»); // әрқашан 2 цифр lcd.print (h); lcd.print («:»); егер (m <10) lcd.print («0»); lcd.print (m); lcd.print («:»); if (s <10) lcd.print («0»); lcd.print (s);
if (flag == 0) lcd.print («AM»); if (flag == 1) lcd.print («PM»); lcd.setCursor (0, 1); // 2 -жол үшін lcd.print («Нақты сағат»); }
} // соңы егер басқа} // соңы
// сыртқы 1000 мс цикл
s = s+1; // ұлғаю сек. санау // ---- секундтарды, минуттарды, сағаттарды таңертең/кешкі асып кетуді басқару ---- if (s == 60) {s = 0; m = m+1; } егер (m == 60) {m = 0; h = h+1; } егер (h == 13) {h = 1; жалауша = жалауша+1; if (flag == 2) flag = 0; }
// Циклдың соңы}
3 -қадам: схемалық (бұл шынымен қадам емес)
![Схема (бұл нақты қадам емес) Схема (бұл нақты қадам емес)](https://i.howwhatproduce.com/images/007/image-18653-3-j.webp)
Егер мұны оқитын адам технологиялық білгір болса, онда бұл схема, сіз оған ақылға қонымсыз қарауға болады.
Ләззат алыңыз және көңілді болыңыз және бәрінен бұрын сергек болыңыз.
Ұсынылған:
Уизли' орналасу сағаты 4 қолмен: 11 қадам (суреттермен)
![Уизли' орналасу сағаты 4 қолмен: 11 қадам (суреттермен) Уизли' орналасу сағаты 4 қолмен: 11 қадам (суреттермен)](https://i.howwhatproduce.com/images/001/image-42-j.webp)
«Уизли» 4 қолмен орналасқан орны: сөйтіп, таңқурай Pi -мен біршама уақыт бойы айналып өтіп, мен оны жақсы пайдалануға мүмкіндік беретін жақсы жоба тапқым келді. Мен ppeters0502 арқылы Уизлидің жеке орналасу сағатын таптым, мен ойладым
DIY қалта сағаты: 9 қадам
![DIY қалта сағаты: 9 қадам DIY қалта сағаты: 9 қадам](https://i.howwhatproduce.com/images/001/image-154-j.webp)
DIY қалталы сағаты: Бұл бос емес әлемде уақытты қадағалап отыру жақсы жұмыс істеу үшін және әуесқой болу үшін уақытты қадағалайтын құрылғы жасамасқа болмайды. Технологияның арқасында «сағат» деп аталатын құрылғылар бар, бірақ! Егер сіз бір нәрсені өзіңіз жасасаңыз, рахат
Уақыт өлшемі (таспалы өлшеуіш сағаты): 5 қадам (суреттермен)
![Уақыт өлшемі (таспалы өлшеуіш сағаты): 5 қадам (суреттермен) Уақыт өлшемі (таспалы өлшеуіш сағаты): 5 қадам (суреттермен)](https://i.howwhatproduce.com/images/001/image-186-j.webp)
Уақытты өлшеу (Таспалы өлшеуіш сағаты): Бұл жоба үшін біз (Алекс Фиел & Анна Линтон) күнделікті өлшеу құралын алып, оны сағатқа айналдырдық! Бастапқы жоспар қолданыстағы рулетканы моторизациялау болды. Мұны жасай отырып, біз өзіміздің қабығымызды жасау оңайырақ деп шештік
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен)
![Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен) Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): 6 қадам (суреттермен)](https://i.howwhatproduce.com/images/010/image-27211-j.webp)
Болт - DIY сымсыз зарядтау түнгі сағаты (6 қадам): Индуктивті зарядтау (сымсыз зарядтау немесе сымсыз зарядтау деп те аталады) - сымсыз қуат беру түрі. Ол портативті құрылғыларды электрмен қамтамасыз ету үшін электромагниттік индукцияны қолданады. Ең көп таралған қолданба - Qi сымсыз зарядтау
Gixie сағаты: ең әдемі жарқыраған түтік сағаты: 4 қадам
![Gixie сағаты: ең әдемі жарқыраған түтік сағаты: 4 қадам Gixie сағаты: ең әдемі жарқыраған түтік сағаты: 4 қадам](https://i.howwhatproduce.com/images/001/image-1924-51-j.webp)
Gixie сағаты: ең әдемі жарқыраған сағаттар: маған Nixie түтігі өте ұнайды, бірақ ол тым қымбат, мен оған шыдай алмаймын. Мен бұл Gixie сағатын жасауға жарты жыл жұмсадым. Gixie сағаты ws2812 акрил жарығын қолдану арқылы қол жеткізілді, мен RGB түтікшесін жұқа ету үшін барымды саламын