Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu zəngli saat üçün bir təlimatdır. Həmişə gecikdiyimiz və ya tez -tez həyəcanı qurmağı unutduğumuz üçün zəngli saat qurduq.
Bu zəngli saat tamamilə avtomatikdir, buna görə də zəngli saatınızı təyin etməyinizə ehtiyac yoxdur. Hər gün üçün fərqli bir oyanma vaxtı seçə bilərsiniz. Oyanma vaxtını bir dəfə təyin etməlisən və sonra həyəcan siqnalın seçilmiş saata davam edir.
Addım 1: Materiallar
1. Arduino
Bir Arduino Uno istifadə etdik. Arduino'yu kompüterə USB kabeli ilə qoşa bilərsiniz. Arduino proqramlaşdırmaq üçün kompüterinizdə Arduino Sketch proqramına ehtiyacınız var.
2. Real vaxt saatı
Real Time Clock, RTC adlanır, kompüter saatıdır. RTC saatı yeniləyir, buna görə vaxtı bir dəfə təyin etməlisiniz. RTC ZS-042-dən istifadə etdik
3. Maye Kristal Ekran
LCD adlı Liquid Crystal Display, arduinoya qoşula biləcəyiniz bir ekrandır.
4. Çörək lövhəsi
Elektrik sxemləri etmək üçün çörək taxtasının olması çox faydalıdır. Arduino hər bir sancağı idarə edir.
5. Dişi və Kişi telləri
Elektrik komponentlərini birləşdirmək üçün bu tellərdən istifadə edə bilərsiniz. Dişi və dişi telləri deliklər və sancaqlar ilə bağlaya bilərsiniz.
6. Buzzer
Siqnal zəngli saatınız üçün səs çıxarır.
7. USB kabeli
Arduino-nu USB kabel ilə kompüterə qoşa bilərsiniz, beləliklə Arduino proqramlaşdıra bilərsiniz.
8. 9 voltluq batareya
9. Batareya klipi
Arduino -nu 9 voltlu batty ilə birləşdirmək üçün bu klipə ehtiyacınız var.
10. Lego
Qoruyucu qapağımızı lego ilə hazırladıq, amma istəsəniz başqa bir şey seçə bilərsiniz.
Addım 2: RTC -ni qoşun
RTC -ni arduino -ya bağlamaq üçün RTC, Arduino, Breadboard, qadın və kişi tellərinə ehtiyacımız var.
Arduino ilə əlaqə
-GND: çörək taxtasının j12 mövqeyinə qoyun
-8: Çörək taxtasının j10 mövqeyinə qoyun
Bağlantı RTC:
- 32K: Arduinoda A5 -də yer
-SQW: Arduinoda Vin -də yer
- SCL: Çörək taxtasının h30 mövqeyinə qoyun
- SDA: Çörək taxtasının g30 mövqeyinə qoyun
-VCC: bunu qoyma
-GND: Arduinoda GND -də yer
Addım 3: Vaxtı təyin edin
Əvvəlcə eskizdə RTC -ni izah etməlisiniz:
#daxil edin
DS3231 rtc (SDA, SCL);
İndi vaxtı təyin edə bilərsiniz:
rtc.begin ();
rtc.setDOW (Cümə); // Həftənin Gününü Bazar gününə təyin edin
rtc.setTime (15, 49, 0); // Vaxtı 12:00:00 (24 saat formatı) olaraq təyin edin
rtc.setDate (13, 4, 2018);
Vaxtınızı serial monitorunda yoxlaya bilərsiniz.
Addım 4: LCD -ni bağlayın
İndi LCD -ni Arduino -ya bağlamalısınız. LCD -dən Arduino və ya çörək taxtasına 4 tel bağlayırıq. Kabelləri bu şəkildə bağlamalısınız:
- GND: GND -də arduinoya yerləşdirin
- VCC: çörək taxtasının dayağına yerləşdirin
- SDA: çörək taxtasının j29 mövqeyinə qoyun
- SCL: çörək taxtasının f30 mövqeyinə qoyun
Addım 5: LCD qurun
Eskizdə LCD -ni izah etməlisiniz. Bunu belə etməlisiniz:
#daxil edin
Kodun bu hissəsində LCD ekranda tarixi və saatı göstərəcəyi izah edilir.
boş quraşdırma ()
{lcd.begin (16, 2); for (int i = 0; i <5; i ++) {lcd.noBacklight (); gecikmə (500); lcd.lightlight (); lcd.print ("Terror həyəcanı"); gecikmə (500); lcd.clear (); }
Addım 6: Buzzer -i qoşun
Siqnal çörək taxtasının h10 pininə və h12 pininə yerləşdirilir. Səs "ton" sözü ilə ifadə olunur. Eskizimizdə həyəcan siqnalı üçün bu tonu seçdik: ton (10, 440, 200).
Addım 7: Alarmı quraşdırın
Avtomatik zəngli saat hazırlamağı seçdik. Zəngli saatı bazar ertəsindən şənbə gününə qoyduq. Zəngli saatımızı təyin etməyi unutduğumuz problem çox vaxt olur, problemimizin həlli budur. Məktəb cədvəlimizdə həyəcanı tənzimlədik. Siqnal çalınsa, bir səs siqnalı gəlir və ekran yanıb -sönür. Bu, de void loopda həyəcan siqnalı üçün koddur:
həyəcan siqnalı (); əgər (t.min == 15 && t.hour == 7) {lcd.noBacklight (); gecikmə (5000); lcd.lightlight (); ton (10, 440, 200); }}
void alarmcheck () {if (t.min == 15 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Bazar ertəsi") {həyəcan (); } if (t.min == 45 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Çərşənbə axşamı") {həyəcan (); } if (t.min == 14 && t.hour == 13 && rtc.getDOWStr (FORMAT_LONG) == "Çərşənbə") {həyəcan (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Cümə axşamı") {həyəcan (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Friday") {alarm (); } if (t.min == 15 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Şənbə") {həyəcan (); }}
boşluq siqnalı () {lcd.noBacklight (); gecikmə (1000); lcd.lightlight (); for (int i = 0; i <100; i ++) {ton (10, 200*i+200); }}
Siqnal olmadıqda ekranda saatı və tarixi görə bilərsiniz. Budur kod:
t = rtc.getTime (); Serial.println (rtc.getDOWStr (FORMAT_LONG)); lcd.setCursor (0, 0); lcd.print ("Zaman:"); lcd.print (rtc.getTimeStr ()); lcd.setCursor (0, 1); lcd.print ("Tarix:"); lcd.print (rtc.getDateStr ()); gecikmə (1000); lcd.clear ();
Addım 8: Qoruyucu örtüyü düzəldin
Bütün elektrik komponentləri indiyə qədər bağlıdır. Ehtiyacımız olan tək şey qoruyucu örtükdür. Qoruyucu örtüyü Legodan hazırladıq, ancaq istədiyinizi seçə bilərsiniz.
Addım 9: Zəngli saatınızı istifadə edin
İndi zəngli saat istifadəyə hazırdır. Bu avtomatik zəngli saata görə heç vaxt gecikməyəcəksiniz!