Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Acesta este un instructable pentru un ceas cu alarmă. Am făcut un ceas cu alarmă pentru că întotdeauna întârziem sau uităm adesea să setăm alarma.
Acest ceas cu alarmă este complet automat, deci nu trebuie să vă setați alarma. Puteți alege un timp de trezire diferit pentru fiecare zi. Trebuie să setați ora de trezire o singură dată, iar apoi alarma dvs. începe la ora aleasă.
Pasul 1: Materiale
1. Arduino
Am folosit un Arduino Uno. Puteți conecta Arduino la computer cu un cablu USB. Pentru a programa Arduino, aveți nevoie de programul Arduino Sketch de pe computer.
2. Ceas în timp real
Ceasul în timp real, numit RTC, este un ceas de calculator. RTC actualizează ora, deci trebuie să setați ora o dată. Am folosit RTC ZS-042
3. Afișaj cu cristale lichide
Afișajul cu cristale lichide, denumit LCD, este un ecran pe care îl puteți conecta la arduino.
4. Pană de pâine
Pentru a realiza circuite electrice, este foarte util să aveți o placă de calcul. Arduino controlează fiecare pin.
5. Firele de sex feminin și masculin
Pentru a conecta componentele electrice, puteți utiliza aceste fire. Puteți conecta firele masculine și femele cu găurile și știfturile.
6. Buzzer
Buzzerul scoate sunetul pentru ceasul cu alarmă.
7. Cablu USB
Puteți conecta Arduino la computer cu cablul USB, astfel încât să puteți programa Arduino.
8. baterie de 9 volți
9. Clema bateriei
Pentru a conecta arduino la bateria de 9 volți, aveți nevoie de acest clip.
10. Lego
Ne-am făcut husa de protecție cu lego, dar puteți alege altceva dacă doriți.
Pasul 2: Conectați RTC
Pentru a conecta RTC la arduino, avem nevoie de RTC, Arduino, Breadboard, fire feminine și masculine.
Conexiune Arduino
-GND: amplasați-l în poziția j12 a panoului
-8: Așezați în poziția j10 a panoului
Conexiune RTC:
- 32K: plasează la A5 în Arduino
-SQW: plasează la Vin în Arduino
- SCL: Așezați în poziția h30 a panoului
- SDA: Așezați în poziția g30 a panoului
-VCC: nu-l așezați pe acesta
-GND: plasează la GND în Arduino
Pasul 3: setați ora
Mai întâi, trebuie să explicați RTC în schiță:
#include
DS3231 rtc (SDA, SCL);
Acum, puteți seta ora:
rtc.begin ();
rtc.setDOW (VINERI); // Setați ziua din săptămână la DUMINICĂ
rtc.setTime (15, 49, 0); // Setați ora la 12:00:00 (format 24hr)
rtc.setDate (13, 4, 2018);
Vă puteți verifica ora la monitorul serial.
Pasul 4: Conectați ecranul LCD
Acum trebuie să conectați ecranul LCD la Arduino. Conectăm 4 fire de pe ecranul LCD la Arduino sau la placa. Trebuie să conectați firele astfel:
- GND: plasează la GND în arduino
- VCC: plasați-l în linia electrică a panoului
- SDA: poziționați în poziția j29 a panoului
- SCL: poziționați în poziția f30 a panoului
Pasul 5: configurați ecranul LCD
Trebuie să explicați ecranul LCD în schiță. Trebuie să o faci așa:
#include
În această parte a codului se explică faptul că ecranul LCD va afișa data și ora pe ecran.
configurare nulă ()
{lcd.begin (16, 2); for (int i = 0; i <5; i ++) {lcd.noBacklight (); întârziere (500); lcd.backlight (); lcd.print ("Alarma de teroare"); întârziere (500); lcd.clear (); }
Pasul 6: Conectați buzzerul
Buzzer-ul este plasat la pinul h10 și la pinul h12 al panoului. Tonul este indicat de cuvântul „ton”. În schița noastră am ales acest ton pentru alarmă: ton (10, 440, 200).
Pasul 7: Instalați alarma
Am ales să facem un ceas cu alarmă automat. Am setat ceasul cu alarmă de luni până sâmbătă. Adesea avem problema că uităm să ne setăm ceasul cu alarmă, aceasta este soluția pentru problema noastră. Am ajustat alarma la programul nostru școlar. Dacă sună alarma, se aude un semnal sonor și ecranul clipește. Acesta este codul pentru verificarea alarmei în bucla de void:
alarmcheck (); if (t.min == 15 && t.hour == 7) {lcd.noBacklight (); întârziere (5000); lcd.backlight (); ton (10, 440, 200); }}
void alarmcheck () {if (t.min == 15 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "luni") {alarm (); } if (t.min == 45 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Marți") {alarm (); } if (t.min == 14 && t.hour == 13 && rtc.getDOWStr (FORMAT_LONG) == "Wednesday") {alarm (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Joi") {alarm (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Vineri") {alarm (); } if (t.min == 15 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Sâmbătă") {alarm (); }}
void alarm () {lcd.noBacklight (); întârziere (1000); lcd.backlight (); for (int i = 0; i <100; i ++) {tone (10, 200 * i + 200); }}
Când nu există alarmă, puteți vedea ora și data pe afișaj. Acesta este codul:
t = rtc.getTime (); Serial.println (rtc.getDOWStr (FORMAT_LONG)); lcd.setCursor (0, 0); lcd.print ("Ora:"); lcd.print (rtc.getTimeStr ()); lcd.setCursor (0, 1); lcd.print („Data:”); lcd.print (rtc.getDateStr ()); întârziere (1000); lcd.clear ();
Pasul 8: Realizați capacul de protecție
Toate componentele electrice sunt conectate până acum. Singurul lucru de care avem nevoie este capacul de protecție. Am realizat capacul de protecție din Lego, dar puteți alege orice doriți.
Pasul 9: Utilizați Alarmclock
Acum, ceasul cu alarmă este gata de utilizare. Nu veți veni niciodată târziu, din cauza acestui ceas deșteptător automat!