Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Ovo je uputstvo za alarm. Napravili smo budilicu jer uvijek kasnimo ili često zaboravimo postaviti alarm.
Ovaj alarm je potpuno automatski, tako da ne morate namještati alarm. Možete izabrati 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 povezati s računarom pomoću USB kabela. Za programiranje Arduina potreban vam je program Arduino Sketch na računaru.
2. Sat u realnom vremenu
Sat u realnom vremenu, nazvan RTC, je računarski sat. RTC ažurira vrijeme, pa morate postaviti vrijeme jednom. Koristili smo RTC ZS-042
3. Ekran sa tečnim 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 matičnu ploču. Arduino kontrolira svaki pin.
5. Ženska i muška žica
Za spajanje električnih komponenti možete upotrijebiti ove žice. Mušku i žensku žicu možete spojiti rupama i iglama.
6. Zujalica
Zvučni signal proizvodi zvuk za vaš budilnik.
7. USB-kabl
Arduino možete povezati s računarom 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 lego kockama, ali možete izabrati nešto drugo ako želite.
Korak 2: Povežite RTC
Za povezivanje RTC -a sa 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 položaj j10 ploče
RTC konekcija:
- 32K: mjesto na A5 u Arduinu
-SQW: mjesto u Vin u Arduinu
- SCL: Postavite na poziciju h30 matične ploče
- SDA: Postavite na poziciju g30 matične ploče
-VCC: ne postavljaj ovaj
-GND: mjesto u GND -u u Arduinu
Korak 3: Postavite vrijeme
Prvo morate objasniti RTC na skici:
#include
DS3231 rtc (SDA, SCL);
Sada možete postaviti vrijeme:
rtc.begin ();
rtc.setDOW (PETAK); // Dan dana u sedmici postavite 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: Povežite 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 poziciju j29 matične ploče
- SCL: postavite na poziciju f30 matične ploče
Korak 5: Postavite LCD
Morate objasniti LCD na skici. Morate to učiniti ovako:
#include
U ovom dijelu koda je objašnjeno da će LCD prikazati datum i vrijeme na ekranu.
void setup ()
{lcd.begin (16, 2); for (int i = 0; i <5; i ++) {lcd.noBacklight (); kašnjenje (500); lcd.backlight (); lcd.print ("Terror alarm"); kašnjenje (500); lcd.clear (); }
Korak 6: Povežite zujalicu
Zvučni signal se nalazi na pinu h10 i u pinu 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 automatskog budilnika. 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 ekran 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); }}
Kada nema alarma, možete vidjeti vrijeme i datum na ekranu. 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 omotač. Zaštitni omot napravili smo od Lega, ali možete izabrati šta god želite.
Korak 9: Koristite budilicu
Budilnik je sada spreman za upotrebu. Zbog ovog automatskog budilnika nikada nećete zakasniti!