Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu budilnik uchun ko'rsatma. Biz budilnik qildik, chunki biz doim kechikamiz yoki ko'pincha budilnikni qo'yishni unutamiz.
Bu budilnik butunlay avtomatik, shuning uchun siz budilnikni o'rnatishingiz shart emas. Siz har kuni uyg'onish vaqtini tanlashingiz mumkin. Siz uyg'onish vaqtini bir marta belgilashingiz kerak, keyin signalingiz tanlangan vaqtga o'tadi.
1 -qadam: materiallar
1. Arduino
Biz Arduino Uno -dan foydalandik. Siz Arduino-ni kompyuterga USB-kabel orqali ulashingiz mumkin. Arduino -ni dasturlash uchun sizga kompyuterda Arduino Sketch dasturi kerak.
2. Real vaqt soati
Real vaqt soati, RTC deb nomlangan, bu kompyuter soati. RTC vaqtni yangilaydi, shuning uchun siz vaqtni bir marta belgilashingiz kerak. Biz RTC ZS-042 dan foydalanganmiz
3. Suyuq kristalli displey
LCD deb nomlangan suyuq kristalli displey - bu arduino -ga ulanadigan ekran.
4. Non paneli
Elektr sxemalarini yasash uchun non taxtasi bo'lishi juda foydali. Arduino har bir pinni boshqaradi.
5. Ayol va Erkak simlari
Elektr komponentlarini ulash uchun siz ushbu simlardan foydalanishingiz mumkin. Erkak va urg'ochi simlarni teshik va pim bilan ulashingiz mumkin.
6. Buzzer
Budilnik sizning budilnik uchun ovoz chiqaradi.
7. USB-kabel
Siz Arduino-ni kompyuterga USB-kabel orqali ulashingiz mumkin, shuning uchun Arduino-ni dasturlashingiz mumkin.
8. 9 voltli batareya
9. Batareya qisqichi
Arduino -ni 9 voltli batty bilan ulash uchun sizga bu klip kerak.
10. Lego
Biz himoya qoplamamizni lego bilan yasadik, lekin agar xohlasangiz, boshqa narsani tanlashingiz mumkin.
2 -qadam: RTC -ni ulang
RTC -ni arduino -ga ulash uchun bizga RTC, Arduino, Breadboard, ayol va erkak simlari kerak.
Arduino ulanishi
-GND: taxtaning j12 pozitsiyasiga joylashtiring
-8: Non taxtasining j10 pozitsiyasiga joylashtiring
Ulanish RTC:
- 32K: A5 da Arduino
-SQW: Arduino shahridagi Vinda joylashgan joy
- SCL: non paneli h30 pozitsiyasiga joylashtiring
- SDA: non paneli g30 pozitsiyasiga joylashtiring
-VCC: bu joyni qo'ymang
-GND: Arduino -dagi GND -ga joylashtiring
3 -qadam: Vaqtni belgilang
Birinchidan, siz eskizda RTCni tushuntirishingiz kerak:
#qo'shing
DS3231 rtc (SDA, SCL);
Endi siz vaqtni belgilashingiz mumkin:
rtc.begin ();
rtc.setDOW (JUMA); // Haftaning kunini yakshanba qilib belgilang
rtc.setTime (15, 49, 0); // Vaqtni 12:00:00 ga sozlang (24 soatlik format)
rtc.setDate (13, 4, 2018);
Vaqtingizni ketma -ket monitorda tekshirishingiz mumkin.
4 -qadam: LCD -ni ulang
Endi siz LCD displeyni Arduino -ga ulashingiz kerak. Biz LCD -dan Arduino yoki non paneliga 4 ta simni ulaymiz. Siz simlarni quyidagicha ulashingiz kerak:
- GND: GND da arduino ichiga joylashtiring
- VCC: non taxtasining panjarasiga joylashtiring
- SDA: taxtaning j29 pozitsiyasiga joylashtiring
- SCL: non paneli f30 holatiga qo'ying
5 -qadam: LCD -ni o'rnating
Eskizda siz LCD -ni tushuntirishingiz kerak. Siz buni shunday qilishingiz kerak:
#qo'shing
Kodning bu qismida LCD displeyda sana va vaqt ko'rsatilishi tushuntirilgan.
bo'sh o'rnatish ()
{lcd.begin (16, 2); uchun (int i = 0; i <5; i ++) {lcd.noBacklight (); kechikish (500); lcd.backlight (); lcd.print ("Terror signal"); kechikish (500); lcd.clear (); }
6 -qadam: Buzzerni ulang
Ovozli signal h10 piniga va non paneli h12 piniga joylashtirilgan. Ohang "ohang" so'zi bilan belgilanadi. Eskizimizda biz signal uchun bu ohangni tanladik: ohang (10, 440, 200).
7 -qadam: Signalni o'rnating
Biz avtomatik budilnik ishlab chiqarishni tanladik. Biz budilnikni dushanbadan shanbagacha o'rnatdik. Bizda ko'pincha budilnikni qo'yishni unutgan muammo bor, bu bizning muammoning echimi. Biz signalni maktab jadvaliga moslashtirdik. Agar signal yoqilsa, signal eshitiladi va ekran yonadi. Bu signal bekor qilish uchun signalni tekshirish kodi:
signalni tekshirish (); agar (t.min == 15 && t.hour == 7) {lcd.noBacklight (); kechikish (5000); lcd.backlight (); ohang (10, 440, 200); }}
void signalcheck () {if (t.min == 15 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Dushanba") {signal (); } if (t.min == 45 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Seshanba") {signal (); } if (t.min == 14 && t.hour == 13 && rtc.getDOWStr (FORMAT_LONG) == "Chorshanba") {signal (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Payshanba") {signal (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Juma") {signal (); } if (t.min == 15 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Shanba") {signal (); }}
bekor signal () {lcd.noBacklight (); kechikish (1000); lcd.backlight (); uchun (int i = 0; i <100; i ++) {ohang (10, 200*i+200); }}
Signal bo'lmasa, siz displeyda vaqt va sanani ko'rishingiz mumkin. Bu kod:
t = rtc.getTime (); Serial.println (rtc.getDOWStr (FORMAT_LONG)); lcd.setCursor (0, 0); lcd.print ("Vaqt:"); lcd.print (rtc.getTimeStr ()); lcd.setCursor (0, 1); lcd.print ("Sana:"); lcd.print (rtc.getDateStr ()); kechikish (1000); lcd.clear ();
8 -qadam: Himoya qopqog'ini yarating
Hozirgi vaqtda barcha elektr komponentlari ulangan. Bizga kerak bo'lgan yagona narsa - himoya qoplamasi. Biz Lego -dan himoya qoplamasini tayyorladik, lekin siz xohlagan narsani tanlashingiz mumkin.
9 -qadam: Budilnikdan foydalaning
Endi budilnik ishlatishga tayyor. Siz hech qachon kechikmaysiz, chunki bu avtomatik budilnik!