Sadržaj:

Budilnik sa izlaskom sunca sa Arduinom: 9 koraka (sa slikama)
Budilnik sa izlaskom sunca sa Arduinom: 9 koraka (sa slikama)

Video: Budilnik sa izlaskom sunca sa Arduinom: 9 koraka (sa slikama)

Video: Budilnik sa izlaskom sunca sa Arduinom: 9 koraka (sa slikama)
Video: Я есть. Ты есть. Он есть_Рассказ_Слушать 2024, Jun
Anonim
Image
Image
Budilnik sa izlaskom sunca sa Arduinom
Budilnik sa izlaskom sunca sa Arduinom

Zima može biti tužna. Probudiš se, mrak je i moraš ustati iz kreveta. Posljednje što želite čuti je treštati zvuk vašeg budilnika. Živim u Londonu i teško se ujutro budim. Takođe, nedostaje mi buđenje na prirodnom svjetlu.

U ovom vodiču ćemo izgraditi budilnik Sunrise. To je budilnik kao i svaki drugi po tome što možete postaviti sat i minute u kojima se želite probuditi, ali s dodatnom prednošću korištenja svjetla za osvjetljavanje vaše spavaće sobe u određenom vremenskom periodu poput izlaska sunca kako biste se prirodnije probudili.

Svjetiljke Sunrise postoje na tržištu, ali mogu biti skupe (brza pretraga na Amazonu vraća proizvode u rasponu od 100 funti), krhke i prilično kliničkog izgleda. Učinit ćemo nešto mnogo jeftinije i mnogo ljepše.

Svi dijelovi će biti navedeni u sljedećem koraku. Kôd se može preuzeti sa mog Github repo gold-sunrise-sata. Sve sheme i datoteke za izradu kućišta dostupne su za preuzimanje na ovom vodiču.

Idemo:)

Ako naiđete na probleme ili želite pozdraviti, pošaljite mi poruku na [email protected] ili me slijedite na Instagramu @celinechappert.

Korak 1: Skupljanje komponenti

Skupljanje komponenti
Skupljanje komponenti

Za početak ćemo koristiti sat kao ulaz i ultra-svijetlu LED diodu kao izlaz za simulaciju izlaska sunca.

Za izgradnju kruga trebat će nam:

- sat. Koristit ćemo RTC DS3231 (£ 5)

- MOSFET za kontrolu jačine svjetla (£ 9)

- super svijetleLED (1 funta)

- 9V baterija za napajanje LED diode (3 funte)

- ploča za jednostavno sastavljanje (3 funte)

- Arduino Uno (20 funti)

- dugme (opcionalno - samo u demo svrhe)

Ukupna cijena = 41 £

Ako već imate Arduino, matičnu ploču i 9V bateriju kod kuće, cijeli će vas projekt koštati manje od 15 funti.

Za izradu akrilnog kućišta trebat će vam:

- 2 lista 0,3 mm Perspex akrilnih listova, 1 list po boji za sunce i kućište.

- pristup laserskom rezaču.

Imam sreću što sam imao pristup radionici svoje škole pa su ti troškovi uglavnom pokriveni. Kupio sam dodatni list akrila jer je moj dizajn zahtijevao narandžastu nijansu za sunce, koja je koštala 14 funti po listu (Perspex je skup!).

Korak 2: Sastavljanje kruga

Image
Image
Sklapanje kola
Sklapanje kola
Sklapanje kola
Sklapanje kola

Možete se pozvati na crno -bijelu skicu mog kola (oprostite neuredno) i na dijagram koji prikazuje Arduino (gotovo sa Fritzingom).

U suštini ovdje je analiza onoga što je povezano s čim:

Sat:

(-) spaja se na GND

NC znači 'Not Connected' i ne povezuje se ni sa čim

C/SCL se spaja na pin A5 na Arduinu

D/SDA se spaja na pin A4 na Arduinu

(+) spaja se na 5V na Arduinu

MOSFET

Gate pin ide na pin ~ 9 na Arduino Uno jer je PWM

Odvodni pin ide na negativnu stranu LED diode

Izvorni pin ide u GND na Arduinu

LED

Negativna strana je spojena na odvodni pin na MOSFET -u

Pozitivna strana je spojena na 5V na matičnoj ploči

9V baterija

(+) do (+) na matičnoj ploči, isto sa (-).

Arduino Uno

Ne zaboravite spojiti 5V na (+) na matičnoj ploči, a GND na (-). Ne zaboravite spojiti (-) s jedne strane matične ploče na (-) s druge strane.

Sljedeće ćemo postaviti sat pomoću biblioteke DS3231.

Korak 3: Instaliranje i podešavanje sata

Instaliranje i podešavanje sata
Instaliranje i podešavanje sata
Instaliranje i podešavanje sata
Instaliranje i podešavanje sata
Instaliranje i podešavanje sata
Instaliranje i podešavanje sata

Biblioteka koju koristim za pokretanje ovog sata nalazi se na stranici Rinky-Dink Electronics (snimke ekrana gore). Kliknite na vezu i provjerite jeste li na stranici DS3231. Preuzmite zip datoteku, spremite je i postavite u mapu Arduino /biblioteke.

Sada za postavljanje ispravnog vremena na satu otvorite Arduino i idite na Primjeri/DS3231/Arduino/DS3231_Serial_Easy.

Dekomentirajte tri retka koda (na ekranu je prikazano narandžasto), provjerite vrijeme i postavite točno vrijeme u ta tri retka koda u vojnom formatu.

Pritisnite Upload.

Sada možete dekomentirati ta tri retka i ponovo pritisnuti Upload.

Otvorite serijski monitor i provjerite je li tačno vrijeme.

Naš sat je podešen! Imamo svoj krug, sada počnimo kodiranje. Opet, repo je dostupan na Githubu.

Korak 4: Kodiranje

Image
Image

Preuzmite kôd i provjerite je li biblioteka za DS3231 ispravno instalirana.

Prije svega, želimo definirati naše postavke.

fadeTime je koliko će dugo svjetlost nestajati od 0 do maksimalne svjetline u nekoliko minuta. setHour/setMin odgovaraju vremenu do kojeg se želimo probuditi (napomena: ovo čita vojni format, pa je potrebno 24 -satno vrijeme). Također definiramo pin 9 na Arduinu kao naš IZLAZ.

U setup (), provjerite da li SerialBegin broj (ovdje 96000 bauda) odgovara broju serijskog monitora.

U loop (), if naredba provjerava je li vrijeme za buđenje. Kôd radi u petlji, svaki put provjeravajući da li vrijednosti sata i minuta koje vraća sat odgovaraju našim varijablama setHour/setMin. U tom slučaju naredba if vraća aktivnu () funkciju.

Funkcija active () sastoji se od dva dijela. Prvo počinjemo postupno gasiti svjetlo: funkcije kašnjenja su tu kako bi spriječile da LED diode postanu prejake u 'ranim' fazama vremena fadeTimea. Zatim petlja for kontrolira brzinu kojom svjetlo treba postajati sve jače i jače ovisno o vremenu fadeTimea. Konačno, ugasili smo svjetlo prosljeđivanjem vrijednosti 0 našoj LED u funkciji analogWrite ().

Gornji video prikazuje kolo koje radi u jednom od prototipnih akrilnih kućišta.

Korak 5: Kartonski prototip (opcionalno)

Kartonski prototip (opcionalno)
Kartonski prototip (opcionalno)
Kartonski prototip (opcionalno)
Kartonski prototip (opcionalno)

Prije ovog projekta nikada nisam radio sa laserskim rezačem. Izrada prototipa od kartona omogućila mi je da se upoznam sa mašinom dok sam testirao koliko dobro je predmet izgledao (veličina, izgled itd.) U stvarnom prostoru. Planovi slučajeva za preuzimanje.

Preporučuje se: