Cuprins:

Ceas cu alarmă de răsărit cu Arduino: 9 pași (cu imagini)
Ceas cu alarmă de răsărit cu Arduino: 9 pași (cu imagini)

Video: Ceas cu alarmă de răsărit cu Arduino: 9 pași (cu imagini)

Video: Ceas cu alarmă de răsărit cu Arduino: 9 pași (cu imagini)
Video: Pa Gjurme- Shokon mjekja: Vjehrra kreu vepra te turpshme para tim bir(26.1.22) 2024, Noiembrie
Anonim
Image
Image
Ceas cu alarmă de răsărit cu Arduino
Ceas cu alarmă de răsărit cu Arduino

Iarna poate fi tristă. Te trezești, este întuneric și trebuie să te ridici din pat. Ultimul lucru pe care doriți să-l auziți este sunetul sonor al ceasului cu alarmă. Locuiesc în Londra și mi-e greu să mă trezesc dimineața. De asemenea, mi-e dor să mă trezesc la lumina naturală.

În acest tutorial, vom construi un Sunrise Alarm Clock. Este un ceas cu alarmă ca oricare altul, în care poți seta ora și minutul în care vrei să te trezești, dar cu avantajul suplimentar de a folosi lumina pentru a-ți lumina dormitorul pe o perioadă de timp, cum ar fi un răsărit, pentru a te trezi mai natural.

Lămpile Sunrise există pe piață, dar pot fi scumpe (o căutare rapidă pe Amazon returnează produse din gama de 100 GBP), fragile și destul de clinice. Vom face ceva mult mai ieftin și mult mai frumos.

Toate piesele vor fi listate în pasul următor. Codul poate fi descărcat de pe Github repo gold-sunrise-clock. Toate schemele și fișierele de construcție pentru carcasă sunt disponibile pentru descărcare în acest tutorial.

Să mergem:)

Dacă întâmpinați probleme sau doriți să salutați, trimiteți-mi o linie [email protected] sau urmați-mă pe Instagram @celinechappert.

Pasul 1: Adunarea componentelor

Adunarea componentelor
Adunarea componentelor

Pentru a începe, vom folosi un ceas ca intrare și un LED ultra-luminos ca ieșire pentru a simula răsăritul nostru.

Pentru a construi circuitul vom avea nevoie de:

- un ceas. Vom folosi RTC DS3231 (5 GBP)

- un MOSFET pentru a controla luminozitatea luminii (9 GBP)

- un LED super-luminos (1 GBP)

- Baterie de 9V pentru alimentarea LED-ului (3 GBP)

- un panou pentru asamblare ușoară (3 GBP)

- un Arduino Uno (20 GBP)

- un buton (opțional - numai pentru demonstrație)

Preț total = 41 GBP

Dacă aveți deja un Arduino, un panou și o baterie de 9V acasă, întregul proiect vă va costa mai puțin de 15 GBP.

Pentru realizarea carcasei acrilice veți avea nevoie de:

- 2 foi de foi de acrilic Perspex de 0,3 mm, 1 coală pe culoare pentru soare și carcasă.

- acces la un dispozitiv de tăiere cu laser.

Sunt norocos că am avut acces la atelierul școlii mele, astfel încât aceste costuri au fost acoperite în cea mai mare parte. Am cumpărat o foaie suplimentară de acril, pentru că designul meu necesită o nuanță portocalie pentru soare, care costa 14 lire sterline / foaie (Perspexul este scump!).

Pasul 2: Asamblarea circuitului

Image
Image
Asamblarea circuitului
Asamblarea circuitului
Asamblarea circuitului
Asamblarea circuitului

Puteți face referire la schița alb-negru a circuitului meu (scuzați-o pe dezordonat) și la diagrama cu Arduino (realizată cu Fritzing).

În esență, iată o defalcare a ceea ce este legat de ceea ce:

Ceas:

(-) se conectează la GND

NC înseamnă „Nu este conectat” și nu se conectează la nimic

C / SCL se conectează la pinul A5 de pe Arduino

D / SDA se conectează la pinul A4 de pe Arduino

(+) se conectează la 5V pe Arduino

MOSFET

Pinul de poartă merge la pinul 9 de pe Arduino Uno, deoarece este PWM

Știftul de scurgere merge în partea negativă a LED-ului

Pinul sursă merge la GND pe Arduino

LED

Partea negativă este conectată la știftul de scurgere de pe MOSFET

Partea pozitivă este conectată la 5V pe panou

Baterie de 9V

(+) până la (+) pe panou, la fel cu (-).

Arduino Uno

Nu uitați să conectați 5V la (+) pe panou și GND la (-). Nu uitați să vă conectați (-) pe o parte a panoului de control la (-) pe cealaltă parte.

În continuare ne vom seta ceasul folosind biblioteca DS3231.

Pasul 3: Instalarea și setarea ceasului

Instalarea și setarea ceasului
Instalarea și setarea ceasului
Instalarea și setarea ceasului
Instalarea și setarea ceasului
Instalarea și setarea ceasului
Instalarea și setarea ceasului

Biblioteca pe care o folosesc pentru a rula acest ceas poate fi găsită la Rinky-Dink Electronics (capturi de ecran de mai sus). Faceți clic pe link și asigurați-vă că vă aflați pe pagina DS3231. Descărcați fișierul zip, salvați-l și plasați-l în folderul / bibliotecile Arduino.

Acum, pentru a seta ora corectă pe ceas, deschideți Arduino și accesați Exemplele / DS3231 / Arduino / DS3231_Serial_Easy.

Decomentați cele trei linii de cod (prezentate în portocaliu în captura de ecran), verificați ora și plasați ora corectă în aceste trei linii de cod în format militar.

Apăsați Încărcare.

Acum puteți descomenta aceste trei linii și apăsați din nou Încărcare.

Deschideți monitorul serial și verificați dacă ora este corectă.

Ceasul nostru este setat! Avem circuitul nostru, acum să începem codarea. Din nou, repo este disponibil pe Github.

Pasul 4: Codificare

Image
Image

Descărcați codul și asigurați-vă că biblioteca pentru DS3231 este instalată corect.

În primul rând, vrem să ne definim setările.

fadeTime este cât timp lumina va dispărea de la 0 la luminozitatea maximă în câteva minute. setHour / setMin corespund orei la care ne dorim să ne trezim (notă: aceasta citește formatul militar, deci este necesar 24 de ore). De asemenea, definim pinul 9 de pe Arduino ca OUTPUT-ul nostru.

În setup (), asigurați-vă că numărul SerialBegin (aici 96000 baud) corespunde numărului Serial Monitor.

În buclă (), o instrucțiune if verifică dacă este timpul să vă treziți. Codul rulează pe o buclă, verificând de fiecare dată dacă valorile de oră și minut returnate de ceas corespund variabilelor noastre setHour / setMin. Dacă acesta este cazul, instrucțiunea if returnează o funcție active ().

Funcția active () este formată din două părți. Mai întâi începem să estompăm lumina treptat: funcțiile de întârziere sunt aici pentru a împiedica LED-ul să devină prea luminos prea devreme în etapele „timpurii” ale fadeTime. Apoi o buclă for controlează viteza cu care lumina ar trebui să devină din ce în ce mai strălucitoare, în funcție de fadeTime. În cele din urmă, oprim lumina trecând o valoare de 0 la LED-ul nostru în funcția analogWrite ().

Videoclipul de mai sus arată circuitul care funcționează într-unul din carcasele acrilice prototip.

Pasul 5: Prototip de carton (opțional)

Prototip din carton (opțional)
Prototip din carton (opțional)
Prototip din carton (opțional)
Prototip din carton (opțional)

Înainte de acest proiect, nu lucrasem niciodată cu un dispozitiv de tăiat cu laser. Realizarea unui prototip de carton mi-a permis să mă familiarizez cu mașina în timp ce testam cât de bine arăta obiectul (dimensiune, aspect etc.) în spațiul real. Planuri de caz pentru descărcare.

Recomandat: