Turinys:

Saulėtekio žadintuvas su „Arduino“: 9 žingsniai (su nuotraukomis)
Saulėtekio žadintuvas su „Arduino“: 9 žingsniai (su nuotraukomis)

Video: Saulėtekio žadintuvas su „Arduino“: 9 žingsniai (su nuotraukomis)

Video: Saulėtekio žadintuvas su „Arduino“: 9 žingsniai (su nuotraukomis)
Video: (Ne)emigrantai. Lietuvių desertinė Vienoje, netikėtai susiklostęs Margaritos gyvenimas ir Tomo sėkmė 2024, Lapkritis
Anonim
Image
Image
Saulėtekio žadintuvas su „Arduino“
Saulėtekio žadintuvas su „Arduino“

Žiema gali būti liūdna. Tu pabundi, tamsu ir turi išlipti iš lovos. Paskutinis dalykas, kurį norite išgirsti, yra triukšmingas žadintuvo garsas. Gyvenu Londone ir man sunku pabusti ryte. Be to, pasiilgau pabudimo nuo natūralios šviesos.

Šioje pamokoje mes sukursime saulėtekio žadintuvą. Tai žadintuvas, kaip ir bet kuris kitas, nes galite nustatyti valandą ir minutę, kurią norite pabusti, tačiau papildoma nauda - naudojant šviesą, kuri per tam tikrą laikotarpį, kaip saulėtekis, apšviečia jūsų miegamąjį, kad pažadintų jus natūraliau.

Saulėtekio lempos yra rinkoje, tačiau jos gali būti brangios (greita „Amazon“paieška grąžina 100 svarų sterlingų vertės produktus), trapios ir gana klinikinės išvaizdos. Mes padarysime kažką daug pigesnio ir daug gražesnio.

Visos dalys bus išvardytos kitame žingsnyje. Kodą galima atsisiųsti iš mano „Github“repo aukso saulėtekio laikrodžio. Visas schemas ir bylos failus galite atsisiųsti iš šios pamokos.

Eime:)

Jei susiduriate su problemomis ar norite pasisveikinti, parašykite man liniją [email protected] arba sekite mane Instagram @celinechappert.

1 žingsnis: Surinkite komponentus

Komponentų surinkimas
Komponentų surinkimas

Norėdami pradėti, mes naudosime laikrodį kaip įvestį ir ypač ryškų šviesos diodą kaip išvestį, kad imituotume saulėtekį.

Norėdami sukurti grandinę, mums reikės:

- laikrodis. Mes naudosime RTC DS3231 (£ 5)

- MOSFET, skirtas valdyti šviesos ryškumą (£ 9)

- itin ryškus LED (1 svaras)

- 9 V baterija, skirta maitinti šviesos diodą (£ 3)

- duonos lenta, kad būtų lengviau surinkti (£ 3)

- „Arduino Uno“(20 svarų)

- mygtukas (neprivaloma - tik demonstraciniais tikslais)

Bendra kaina = 41 Lt

Jei namuose jau turite „Arduino“, duonos lentą ir 9 V bateriją, visas projektas jums kainuos mažiau nei 15 svarų.

Norėdami pagaminti akrilo korpusą, jums reikės:

- 2 lakštai 0,3 mm „Perspex“akrilo lakštų, po 1 lapą kiekvienai spalvai saulei ir dėklui.

- galimybė naudotis lazeriniu pjaustytuvu.

Man pasisekė, kad turėjau prieigą prie savo mokyklos dirbtuvių, todėl šios išlaidos dažniausiai buvo padengtos. Aš nusipirkau papildomą akrilo lakštą, nes mano dizainas reikalavo oranžinio atspalvio saulei, o tai kainavo 14 svarų sterlingų už lapą („Perspex“yra brangu!).

2 žingsnis: grandinės surinkimas

Image
Image
Grandinės surinkimas
Grandinės surinkimas
Grandinės surinkimas
Grandinės surinkimas

Galite kreiptis į mano grandinės juodą ir baltą eskizą (atleiskite už netvarką) ir diagramą su „Arduino“(padaryta naudojant „Fritzing“).

Iš esmės čia yra suskirstymas į tai, kas yra susijusi su:

Laikrodis:

(-) jungiasi prie GND

NC reiškia „neprisijungęs“ir neprisijungia prie nieko

C/SCL jungiamas prie „Arduino“kaiščio A5

D/SDA jungiasi prie „Arduino“kaiščio A4

(+) jungiamas prie 5 V „Arduino“

MOSFET

Vartų kaištis eina į ~ 9 „Arduino Uno“kaištį, nes jis yra PWM

Išleidimo kaištis eina į neigiamą šviesos diodo pusę

Šaltinio smeigtukas eina į „Arduino“GND

LED

Neigiama pusė prijungta prie MOSFET išleidimo kaiščio

Teigiama pusė yra prijungta prie 5V duonos lentos

9V baterija

nuo (+) iki (+) ant lentos, tas pats su (-).

Arduino Uno

Nepamirškite prijungti 5V prie (+) duonos lentos ir GND prie (-). Nepamirškite prijungti (-) vienoje duonos lentos pusėje prie (-) kitoje pusėje.

Toliau nustatysime laikrodį naudodami DS3231 biblioteką.

3 žingsnis: Laikrodžio montavimas ir nustatymas

Laikrodžio montavimas ir nustatymas
Laikrodžio montavimas ir nustatymas
Laikrodžio montavimas ir nustatymas
Laikrodžio montavimas ir nustatymas
Laikrodžio montavimas ir nustatymas
Laikrodžio montavimas ir nustatymas

Biblioteką, kurią naudoju šiam laikrodžiui paleisti, rasite „Rinky-Dink Electronics“(ekrano kopijos aukščiau). Spustelėkite nuorodą ir įsitikinkite, kad esate DS3231 puslapyje. Atsisiųskite ZIP failą, išsaugokite jį ir įdėkite į aplanką „Arduino“/bibliotekos.

Dabar, kad nustatytumėte teisingą laikrodžio laiką, atidarykite „Arduino“ir eikite į Pavyzdžiai/DS3231/Arduino/DS3231_Serial_Easy.

Atsisakykite trijų kodo eilučių (ekrano kopijoje oranžinės spalvos), patikrinkite laiką ir vietą tais trimis kodo eilutėmis kariniu formatu.

Paspauskite Įkelti.

Dabar galite atšaukti šias tris eilutes ir dar kartą paspausti „Įkelti“.

Atidarykite serijinį monitorių ir patikrinkite, ar jūsų laikas teisingas.

Mūsų laikrodis nustatytas! Mes turime savo grandinę, dabar pradėkime koduoti. Vėlgi, repo galima rasti „Github“.

4 žingsnis: kodavimas

Image
Image

Atsisiųskite kodą ir įsitikinkite, kad DS3231 biblioteka yra tinkamai įdiegta.

Pirmiausia norime apibrėžti savo nustatymus.

„fadeTime“yra tai, kiek laiko šviesa išnyks nuo 0 iki maksimalaus ryškumo per kelias minutes. setHour/setMin atitinka laiką, iki kurio norime pabusti (pastaba: tai nuskaito karinį formatą, todėl reikia 24 val. laiko). Mes taip pat apibrėžiame „Arduino“9 kaištį kaip mūsų išvestį.

Nustatydami () įsitikinkite, kad „SerialBegin“numeris (čia 96000 baudų) atitinka serijinio monitoriaus numerį.

Cikle (), jei teiginys patikrina, ar laikas pabusti. Kodas veikia ciklu, kiekvieną kartą tikrindamas, ar laikrodžio grąžintos valandos ir minutės vertės atitinka mūsų kintamuosius setHour/setMin. Tokiu atveju teiginys if grąžina aktyvią () funkciją.

Aktyvią () funkciją sudaro dvi dalys. Pirmiausia mes palaipsniui blėsime šviesą: čia yra uždelsimo funkcijos, kad šviesos diodas per anksti neužsidegtų „ankstyvosiose“„fadeTime“stadijose. Tada „for for“kilpa kontroliuoja greitį, kuriuo šviesa turėtų ryškėti ir ryškėti, atsižvelgiant į „fadeTime“. Galiausiai mes išjungiame šviesą, perduodami 0 reikšmę mūsų LED, esant funkcijai analogWrite ().

Aukščiau esančiame vaizdo įraše parodyta grandinė, veikianti viename iš akrilo prototipų.

5 žingsnis: kartono prototipas (neprivaloma)

Kartono prototipas (neprivaloma)
Kartono prototipas (neprivaloma)
Kartono prototipas (neprivaloma)
Kartono prototipas (neprivaloma)

Iki šio projekto aš niekada nedirbau su lazeriniu pjaustytuvu. Sukūręs kartono prototipą, galėjau susipažinti su mašina, išbandydamas, kaip objektas atrodė (dydis, išvaizda ir tt) realioje erdvėje. Atvejų planai atsisiųsti.

Rekomenduojamas: