Kazalo:

Budilka za sončni vzhod z Arduinom: 9 korakov (s slikami)
Budilka za sončni vzhod z Arduinom: 9 korakov (s slikami)

Video: Budilka za sončni vzhod z Arduinom: 9 korakov (s slikami)

Video: Budilka za sončni vzhod z Arduinom: 9 korakov (s slikami)
Video: Высокая плотность 2022 2024, November
Anonim
Image
Image
Budilka Sunrise z Arduinom
Budilka Sunrise z Arduinom

Zima je lahko žalostna. Zbudiš se, temno je in moraš vstati iz postelje. Zadnja stvar, ki jo želite slišati, je grozljiv zvok budilke. Živim v Londonu in se zjutraj težko zbudim. Pogrešam tudi prebujanje ob naravni svetlobi.

V tej vadnici bomo izdelali budilko Sunrise. To je budilka, tako kot katera koli druga, saj lahko nastavite uro in minuto, v kateri se želite zbuditi, vendar z dodatno prednostjo, da svetlobo v določenem času popestrite, kot sončni vzhod, da vas zbudi bolj naravno.

Svetilke Sunrise obstajajo na trgu, vendar so lahko drage (hitro iskanje po Amazonu vrne izdelke v razponu 100 £), krhke in precej klinično videti. Naredili bomo nekaj veliko cenejšega in veliko lepšega.

Vsi deli bodo navedeni v naslednjem koraku. Kodo lahko prenesete z moje ure Github repo gold-sunrise-clock. Vse sheme in datoteke za izdelavo ohišja so na voljo za prenos v tej vadnici.

Pojdimo:)

Če naletite na težave ali se želite pozdraviti, mi pišite na [email protected] ali me spremljajte na Instagramu @celinechappert.

1. korak: Zbiranje komponent

Zbiranje komponent
Zbiranje komponent

Za začetek bomo uporabili uro kot vhod in ultra svetlo LED kot izhod za simulacijo sončnega vzhoda.

Za izdelavo vezja potrebujemo:

- ura. Uporabljali bomo RTC DS3231 (5 funtov)

- MOSFET za nadzor svetlosti svetlobe (£ 9)

- super svetel LED (1 funt)

- 9V baterija za napajanje LED (£ 3)

- plošča za enostavno sestavljanje (3 £)

- Arduino Uno (20 funtov)

- gumb (neobvezno - samo za demo namene)

Skupna cena = 41 €

Če doma že imate Arduino, ploščo in 9V baterijo, vas bo celoten projekt stal manj kot 15 funtov.

Za izdelavo akrilnega ohišja potrebujete:

- 2 lista 0,3 mm akrilnih listov Perspex, 1 list na barvo za sonce in ohišje.

- dostop do laserskega rezalnika.

Imam srečo, da sem imel dostop do delavnice svoje šole, zato so bili ti stroški večinoma pokriti. Kupil sem dodaten list akrila, ker je moj dizajn zahteval oranžni odtenek za sonce, ki stane 14 funtov na list (Perspex je drag!).

2. korak: Sestavljanje vezja

Image
Image
Sestavljanje vezja
Sestavljanje vezja
Sestavljanje vezja
Sestavljanje vezja

Lahko se sklicujete na črno -belo skico mojega vezja (oprostite, neurejeno) in na diagram z Arduinom (narejeno s Fritzingom).

V bistvu je tukaj razčlenitev tega, kar je povezano s čim:

Ura:

(-) se poveže z GND

NC pomeni 'Not Connected' in se ne povezuje z ničemer

C/SCL se poveže s pin A5 na Arduinu

D/SDA se poveže s pin A4 na Arduinu

(+) se priključi na 5V na Arduinu

MOSFET

Vrata za vrata gredo na pin ~ 9 na Arduino Uno, ker je PWM

Odtočni zatič gre na negativno stran LED

Izvorni pin je namenjen GND na Arduinu

LED

Negativna stran je priključena na odtočni zatič na MOSFET -u

Pozitivna stran je priključena na 5V na plošči

9V baterija

(+) do (+) na plošči, enako kot (-).

Arduino Uno

Ne pozabite priključiti 5V na (+) na plošči in GND na (-). Ne pozabite priključiti (-) na eni strani plošče na (-) na drugi strani.

Nato bomo uro nastavili s knjižnico DS3231.

3. korak: Namestitev in nastavitev ure

Namestitev in nastavitev ure
Namestitev in nastavitev ure
Namestitev in nastavitev ure
Namestitev in nastavitev ure
Namestitev in nastavitev ure
Namestitev in nastavitev ure

Knjižnico, ki jo uporabljam za izvajanje te ure, najdete na spletnem mestu Rinky-Dink Electronics (posnetki zaslona zgoraj). Kliknite povezavo in se prepričajte, da ste na strani DS3231. Prenesite datoteko zip, jo shranite in postavite v mapo /knjižnice Arduina.

Zdaj, da nastavite pravilen čas na uri, odprite Arduino in pojdite na Examples/DS3231/Arduino/DS3231_Serial_Easy.

Odkomentirajte tri vrstice kode (na posnetku zaslona oranžno označene), preverite čas in postavite pravilen čas v te tri vrstice kode v vojaški obliki.

Pritisnite Naloži.

Zdaj lahko razkomentirate te tri vrstice in znova pritisnete Naloži.

Odprite serijski monitor in preverite, ali je vaš čas pravilen.

Naša ura je nastavljena! Imamo svoje vezje, zdaj pa začnimo s kodiranjem. Ponovno je repo na voljo na Githubu.

4. korak: Kodiranje

Image
Image

Prenesite kodo in se prepričajte, da je knjižnica za DS3231 pravilno nameščena.

Najprej želimo določiti naše nastavitve.

fadeTime je čas, ko bo svetloba zbledela od 0 do največje svetlosti v nekaj minutah. setHour/setMin ustrezajo času, do katerega se želimo zbuditi (opomba: to bere vojaško obliko, zato je potreben 24 -urni čas). Tudi pin 9 na Arduinu opredelimo kot naš IZHOD.

V nastavitvi () se prepričajte, da številka SerialBegin (tukaj 96000 baud) ustreza številki Serial Monitor.

V zanki () stavek if preveri, ali je čas za prebujanje. Koda teče v zanki in vsakič preveri, ali ure in minute, ki jih vrne ura, ustrezata spremenljivkama setHour/setMin. V tem primeru stavek if vrne funkcijo active ().

Funkcija active () je sestavljena iz dveh delov. Najprej začnemo postopoma ugašati svetlobo: funkcije zakasnitve so tu, da preprečijo, da bi LED v prezgodnjih fazah časovnega obdobja fadeTime postala preveč svetla. Nato zanka for nadzira hitrost, s katero naj bi svetloba postajala svetlejša in svetlejša, odvisno od časa fadeTime. Nazadnje ugasnemo luč tako, da naši LED v funkciji analogWrite () posredujemo vrednost 0.

Zgornji video prikazuje vezje, ki deluje v enem od prototipnih akrilnih ohišij.

5. korak: Prototip iz kartona (neobvezno)

Kartonski prototip (neobvezno)
Kartonski prototip (neobvezno)
Kartonski prototip (neobvezno)
Kartonski prototip (neobvezno)

Pred tem projektom nisem nikoli delal z laserskim rezalnikom. Izdelava prototipa iz kartona mi je omogočila, da sem se seznanil s strojem, medtem ko sem preizkušal, kako dobro je predmet izgledal (velikost, videz itd.) V realnem prostoru. Načrti primerov za prenos.

Priporočena: