![Так саат: 3 кадам Так саат: 3 кадам](https://i.howwhatproduce.com/images/007/image-18653-j.webp)
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![Precision Clock Precision Clock](https://i.howwhatproduce.com/images/007/image-18653-1-j.webp)
Баарыбызга сааттар керек, андыктан эмне үчүн бул инструкцияда өзүңүздүкүн жасабаңыз, мен сизге тактык саатын кантип жасоону көрсөтөм, сиз орноткондон кийин, баардык нерсенин фонундагы учурдагы убакытты автоматтык түрдө көзөмөлдөп турат. Ошондой эле өтө аз камсыздоолорго жана нөлдүк ширетүүлөргө муктаж.
Жабдуулар
Биринчиден, сизге Arduino керек болот, бирок ар кандай Arduino иштейт
Андан кийин, сизге жалпы секирүүчү зымдардын ассортименти керек болот.
2 12мм Sparkfun баскычтары
Салттуу нан тактасы
жана LCD 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);
// Санариптик ЖК Констрастын орнотуусу int cs = 9; // контраст үчүн PWM const int kontrast = 100 pin; // демейки контраст
// алгачкы Убакыт дисплейи 12:59:45 PM int h = 12; int m = 59; int s = 45; int flag = 1; // PM
// Убакытты коюу баскычтары int button1; int button2;
// Убакыт коюу баскычтары үчүн Pins аныктамасы int hs = 0; // Pin 0 үчүн Setting int ms = 1; // pin 1 for Minutes Setting
// Backlight Time Out const int Time_light = 150; int bl_TO = Time_light; // Backlight таймы int bl = 10; // Backlight 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); // Button 1 pinMode үчүн тышкы Pullup каршылыгынан качыңыз (ms, INPUT_PULLUP); // жана Button 2 analogWrite (cs, Contrast); // Contrast VO analogWrite (bl, backlight); азыр Жарыкта = миллис (); // RTC баштапкы маанисин окуу}
void loop () {lcd.begin (16, 2); // ар бир секунд // ЖК дисплейди жаңыртуу // Саатты, Мин, сек + AM/PM менен басып чыгаруу убактысы lcd.setCursor (0, 0); lcd.print ("Убакыт"); if (h <10) lcd.print ("0"); // дайыма 2 цифр lcd.print (h); lcd.print (":"); if (m <10) lcd.print ("0"); lcd.print (m); lcd.print (":"); if (s <10) lcd.print ("0"); lcd.print (s);
if (байрак == 0) lcd.print ("AM"); if (байрак == 1) lcd.print ("PM"); lcd.setCursor (0, 1); // 2 -сап үчүн lcd.print ("Так саат");
// жакшыртылган кечигүүнү алмаштыруу (1000) // Бир топ жакшыраак тактык, мындан ары циклдин аткаруу убактысына көз каранды
for (int i = 0; i <5; i ++) // 5 жолу 200ms цикл жасаңыз, тезирээк Button жооп үчүн {
while ((now-last_time) <200) // delay200ms {now = millis (); } // ички 200ms цикл last_time = азыр; // кийинки циклге даярдануу
// окуу Setting Buttons button1 = digitalRead (hs); // Read Buttons button2 = digitalRead (ms);
// Арткы жарык убактысынын бүтүшү bl_TO--; if (bl_TO == 0) {analogWrite (bl, 0); // Backlight OFF bl_TO ++; } // Арткы жарыкты иштетүү үчүн каалаганын басыңыз, эгерде ((((button1 == 0) | (button2 == 0)) & (bl_TO == 1)) {bl_TO = Time_light; analogWrite (bl, арткы жарык); // ((button1 == 0) | (button2 == 0)) {button1 = digitalRead (hs); // Buttons button2 = digitalRead (ms); }} else // Process Button 1 же Button 2 backlight күйүп турганда {if (button1 == 0) {h = h+1; bl_TO = Time_light; analogWrite (bl, арткы жарык); }
if (button2 == 0) {s = 0; m = m+1; bl_TO = Time_light; analogWrite (bl, арткы жарык); }
/* ---- секунддарды, мүнөттөрдү, сааттарды/сааттан ашууну башкаруу ----*/if (s == 60) {s = 0; m = m+1; } if (m == 60) {m = 0; h = h+1; } if (h == 13) {h = 1; желек = желек+1; if (байрак == 2) желек = 0; }
if ((button1 == 0) | (button2 == 0)) // Убакытты жөндөө баскычы басылса, дисплейди жаңыртуу {// LCD дисплейди жаңыртуу // Саатты, Мин, Сек + AM/PM менен TIME басып чыгаруу lcd.setCursor (0, 0); lcd.print ("Убакыт"); if (h <10) lcd.print ("0"); // дайыма 2 цифр lcd.print (h); lcd.print (":"); if (m <10) lcd.print ("0"); lcd.print (m); lcd.print (":"); if (s <10) lcd.print ("0"); lcd.print (s);
if (байрак == 0) lcd.print ("AM"); if (байрак == 1) lcd.print ("PM"); lcd.setCursor (0, 1); // 2 -сап үчүн lcd.print ("Так саат"); }
} // end if if} // end for
// тышкы 1000 мс цикл
s = s+1; // секр. эсептөө // ---- секунда, мүнөт, саат башкаруу/кечки толуу ---- if (s == 60) {s = 0; m = m+1; } if (m == 60) {m = 0; h = h+1; } if (h == 13) {h = 1; желек = желек+1; if (байрак == 2) желек = 0; }
// Loop end}
3 -кадам: Схемалык (Бул чындап эле кадам эмес)
![Схема (Бул чындыгында кадам эмес) Схема (Бул чындыгында кадам эмес)](https://i.howwhatproduce.com/images/007/image-18653-3-j.webp)
Эгерде муну окуган кимдир бирөө бул жерде технологиялык адис болсо, анда ал схемага караса болот.
Ырахат алыңыз жана көңүл ачыңыз жана баарынан мурда жаңы бойдон калыңыз.
Сунушталууда:
Waveshare E-ink Display так вольтметр (0-90v DC) Arduino Nano менен: 3 кадам
![Waveshare E-ink Display так вольтметр (0-90v DC) Arduino Nano менен: 3 кадам Waveshare E-ink Display так вольтметр (0-90v DC) Arduino Nano менен: 3 кадам](https://i.howwhatproduce.com/images/002/image-3652-j.webp)
Waveshare E-ink Display Precise Voltmeter (0-90v DC) Arduino Nano менен: Бул Нускоодо, мен 2.9 "Waveshare E-Paper дисплейин Arduino Nano, чыңалуу бөлүштүргүч жана ADS1115 менен 90го чейин так чыңалуусун көрсөтүү үчүн колдоном. Электрондук кагаз дисплейиндеги DC вольт. Бул көрсөтмө мурунку эки долбоорду бириктирет:- Ardui
3d басылган Endgame Arc Reactor (Тасма так жана кийүүгө жарактуу): 7 кадам (Сүрөттөр менен)
![3d басылган Endgame Arc Reactor (Тасма так жана кийүүгө жарактуу): 7 кадам (Сүрөттөр менен) 3d басылган Endgame Arc Reactor (Тасма так жана кийүүгө жарактуу): 7 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-777-8-j.webp)
3d Printed Endgame Arc Reactor (Так жана Кийилүүчү Кино): Толук Youtube үйрөткүчү: Мен Марок 50 догалуу реакторуна/нанобөлчөктөргө турак жай үчүн өзгөчө киного так 3d файлдарды таба алган жокмун, ошондуктан менин досум экөөбүз таттуусун бышырдык. Бул нерсенин так жана укмуштуудай көрүнүшү үчүн бир топ оңдоо керек болду
GPSDO YT, Тартиптүү Осциллятор 10Mhz Reference Frequency. Төмөн наркы. Так.: 3 кадам
![GPSDO YT, Тартиптүү Осциллятор 10Mhz Reference Frequency. Төмөн наркы. Так.: 3 кадам GPSDO YT, Тартиптүү Осциллятор 10Mhz Reference Frequency. Төмөн наркы. Так.: 3 кадам](https://i.howwhatproduce.com/images/001/image-30-59-j.webp)
GPSDO YT, Тартиптүү Осциллятор 10Mhz Reference Frequency. Төмөн наркы. Так .: ********************************************* ************ бул жерде жеткиликтүү жаңы 2x16 LCD дисплей версиясы: https: //www.instructables.com/id
Так YouTube жазылуучуларынын эсептегичи: 4 кадам
![Так YouTube жазылуучуларынын эсептегичи: 4 кадам Так YouTube жазылуучуларынын эсептегичи: 4 кадам](https://i.howwhatproduce.com/images/005/image-13888-j.webp)
Так YouTube жазылуучуларынын эсептегичи: Мен бул долбоорго бир айга жакын даярдана баштагам, бирок кийин алар чыныгы абоненттердин санын эмес, эң жакын тегеректелген номерди берерин айтышканда, YouTube мени жолдон чыгарды. Азыркы учурда, бул чынында маселе эмес
Акылдуу ойготкуч саат: Raspberry Pi менен жасалган акылдуу ойготкуч саат: 10 кадам (сүрөттөр менен)
![Акылдуу ойготкуч саат: Raspberry Pi менен жасалган акылдуу ойготкуч саат: 10 кадам (сүрөттөр менен) Акылдуу ойготкуч саат: Raspberry Pi менен жасалган акылдуу ойготкуч саат: 10 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/007/image-19330-j.webp)
Smart Alarm Clock: Raspberry Pi менен жасалган акылдуу ойготкуч: Сиз качандыр бир убакта акылдуу саатты кааладыңыз беле? Андай болсо, бул сиз үчүн чечим! Мен Smart Alarm Clock жасадым, бул веб -сайтка ылайык ойготкуч убактысын өзгөртө турган саат. Ойготкуч өчкөндө, үн чыгат (зумбул) жана 2 жарык күйөт