Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Ovo je instrukcija za budilicu. Napravili smo budilicu jer uvijek kasnimo ili često zaboravimo postaviti alarm.
Ovaj budilnik je potpuno automatski, pa ne morate postaviti alarm. Možete odabrati drugačije vrijeme buđenja za svaki dan. Morate jednom postaviti vrijeme buđenja, a zatim će se alarm uključiti u odabrano vrijeme.
Korak 1: Materijali
1. Arduino
Koristili smo Arduino Uno. Arduino možete spojiti na računalo putem USB kabela. Za programiranje Arduina potreban vam je program Arduino Sketch na računalu.
2. Sat u stvarnom vremenu
Sat u stvarnom vremenu, nazvan RTC, računalni je sat. RTC ažurira vrijeme, pa ga morate postaviti jednom. Koristili smo RTC ZS-042
3. Zaslon s tekućim kristalima
Zaslon s tekućim kristalima, nazvan LCD, zaslon je koji možete spojiti na arduino.
4. Oglasna ploča
Za izradu električnih krugova vrlo je korisno imati ploču. Arduino kontrolira svaki pin.
5. Ženska i muška žica
Za spajanje električnih komponenti možete koristiti ove žice. Mušku i žensku žicu možete spojiti rupama i iglama.
6. Zvučni signal
Zvučni signal oglašava vaš alarm.
7. USB-kabel
Arduino možete povezati s računalom pomoću USB kabela, tako da možete programirati Arduino.
8. 9 voltna baterija
9. Obujmica za bateriju
Za spajanje arduina s baterijom od 9 volti potreban vam je ovaj isječak.
10. Lego
Naš zaštitni omot napravili smo s legom, ali možete izabrati nešto drugo ako želite.
Korak 2: Povežite RTC
Za povezivanje RTC -a s arduinom potrebni su nam RTC, Arduino, Breadboard, ženske i muške žice.
Veza Arduino
-GND: postavite na položaj j12 ploče
-8: Postavite na poziciju j10 ploče
RTC za povezivanje:
- 32K: mjesto na A5 u Arduinu
-SQW: mjesto u Vin u Arduinu
- SCL: Postavite na položaj h30 ploče
- SDA: Postavite na poziciju g30 matične ploče
-VCC: ne postavljajte ovaj
-GND: mjesto u GND -u u Arduinu
Korak 3: Postavite vrijeme
Prvo morate objasniti RTC na skici:
#uključi
DS3231 rtc (SDA, SCL);
Sada možete postaviti vrijeme:
rtc.begin ();
rtc.setDOW (PETAK); // Postavite Dan u tjednu na NEDJELJU
rtc.setTime (15, 49, 0); // Postavite vrijeme na 12:00:00 (24 -satni format)
rtc.setDate (13, 4, 2018);
Možete provjeriti svoje vrijeme na serijskom monitoru.
Korak 4: Spojite LCD
Sada morate spojiti LCD na Arduino. Spajamo 4 žice s LCD -a na Arduino ili matičnu ploču. Žice morate spojiti ovako:
- GND: postavite na GND u arduino
- VCC: postavite u pogonski sklop ploče
- SDA: postavite na položaj j29 ploče
- SCL: postavite na položaj f30 matične ploče
Korak 5: Postavite LCD
Morate objasniti LCD na skici. Morate to učiniti ovako:
#uključi
U ovom dijelu koda je objašnjeno da će LCD prikazati datum i vrijeme na ekranu.
void setup ()
{lcd.begin (16, 2); za (int i = 0; i <5; i ++) {lcd.noBacklight (); kašnjenje (500); lcd.backlight (); lcd.print ("Terror alarm"); kašnjenje (500); lcd.clear (); }
Korak 6: Spojite zujalicu
Zvučni signal postavljen je na pin h10 i u pin h12 ploče. Ton je označen riječju "ton". U skici smo za alarm odabrali ovaj ton: ton (10, 440, 200).
Korak 7: Instalirajte alarm
Odlučili smo se za izradu automatske budilice. Budilicu smo postavili od ponedjeljka do subote. Često imamo problem da zaboravimo namjestiti budilicu, ovo je rješenje za naš problem. Alarm smo prilagodili školskom rasporedu. Ako se alarm oglasi, oglašava se zvučni signal i zaslon treperi. Ovo je kôd za provjeru alarma u de void petlji:
alarmcheck (); if (t.min == 15 && t.hour == 7) {lcd.noBacklight (); kašnjenje (5000); lcd.backlight (); ton (10, 440, 200); }}
void alarmcheck () {if (t.min == 15 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "ponedjeljak") {alarm (); } if (t.min == 45 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "utorak") {alarm (); } if (t.min == 14 && t.hour == 13 && rtc.getDOWStr (FORMAT_LONG) == "srijeda") {alarm (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "četvrtak") {alarm (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "petak") {alarm (); } if (t.min == 15 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "subota") {alarm (); }}
void alarm () {lcd.noBacklight (); kašnjenje (1000); lcd.backlight (); for (int i = 0; i <100; i ++) {ton (10, 200*i+200); }}
Kad nema alarma, možete vidjeti vrijeme i datum na zaslonu. Ovo je kod:
t = rtc.getTime (); Serial.println (rtc.getDOWStr (FORMAT_LONG)); lcd.setCursor (0, 0); lcd.print ("Vrijeme:"); lcd.print (rtc.getTimeStr ()); lcd.setCursor (0, 1); lcd.print ("Datum:"); lcd.print (rtc.getDateStr ()); kašnjenje (1000); lcd.clear ();
Korak 8: Napravite zaštitni poklopac
Sve električne komponente su do sada povezane. Jedino što nam treba je zaštitni pokrov. Zaštitni omot napravili smo od Lega, ali možete izabrati što god želite.
Korak 9: Koristite budilicu
Sada je budilica spremna za upotrebu. Zbog ovog automatskog budilnika nikada nećete zakasniti!