Obsah:

Budík Sunrise s Arduino: 9 krokov (s obrázkami)
Budík Sunrise s Arduino: 9 krokov (s obrázkami)

Video: Budík Sunrise s Arduino: 9 krokov (s obrázkami)

Video: Budík Sunrise s Arduino: 9 krokov (s obrázkami)
Video: I made an alarm clock that's also a drinking glass | #shorts 2024, November
Anonim
Image
Image
Budík s východom slnka s Arduinom
Budík s východom slnka s Arduinom

Zima môže byť smutná. Zobudíte sa, je tma a musíte vstať z postele. Posledná vec, ktorú chcete počuť, je krikľavý zvuk budíka. Bývam v Londýne a ráno sa mi ťažko vstáva. Tiež mi chýba prebúdzanie sa do prirodzeného svetla.

V tomto návode postavíme budík Sunrise. Je to budík ako každý iný v tom, že si môžete nastaviť hodinu a minútu, kedy sa chcete zobudiť, ale s ďalšou výhodou použitia svetla na rozjasnenie vašej spálne na určitý čas, ako je východ slnka, aby vás prebudil prirodzenejším spôsobom.

Svietidlá Sunrise na trhu existujú, ale môžu byť drahé (rýchle vyhľadávanie na Amazone vracia výrobky v rozmedzí 100 libier), krehké a majú klinický vzhľad. Urobíme niečo oveľa lacnejšie a oveľa krajšie.

V nasledujúcom kroku budú uvedené všetky diely. Kód je možné stiahnuť z mojich Github repo zlatých hodín východu slnka. Všetky schémy a súbory zostavy pre prípad sú k dispozícii na stiahnutie v tomto návode.

Poďme:)

Ak máte problémy alebo sa chcete pozdraviť, napíšte mi na [email protected] alebo ma sledujte na Instagrame @celinechappert.

Krok 1: Zhromaždenie komponentov

Zhromažďovanie komponentov
Zhromažďovanie komponentov

Na začiatku použijeme hodiny ako vstup a ultra jasnú diódu ako výstup na simuláciu východu slnka.

Na stavbu obvodu budeme potrebovať:

- hodiny. Budeme používať RTC DS3231 (5 GBP)

- MOSFET na ovládanie jasu svetla (9 GBP)

- superjasná LED (1 £)

- 9V batéria na napájanie LED (3 libry)

- breadboard pre jednoduchú montáž (3 £)

- Arduino Uno (20 libier)

- tlačidlo (voliteľné - iba na ukážkové účely)

Celková cena = 41 GBP

Ak už máte doma Arduino, breadboard a 9V batériu, celý projekt vás vyjde na necelých 15 libier.

Na výrobu akrylového puzdra budete potrebovať:

- 2 listy 0,3 mm akrylových listov Perspex, 1 list na farbu na slnko a puzdro.

- prístup k laserovej rezačke.

Mám šťastie, že som mal prístup do školskej dielne, takže tieto náklady boli z väčšej časti kryté. Kúpil som si ďalší list akrylu, pretože môj návrh vyžadoval oranžový odtieň slnka, ktorý stál 14 libier za list (Perspex je drahý!).

Krok 2: Zostavenie obvodu

Image
Image
Zostavenie obvodu
Zostavenie obvodu
Zostavenie obvodu
Zostavenie obvodu

Môžete sa obrátiť na čiernobiely náčrt môjho obvodu (ospravedlňte neporiadok) a na diagram znázorňujúci Arduino (hotové s Fritzingom).

V zásade tu je rozpis toho, čo s čím súvisí:

Hodiny:

(-) sa pripája k GND

NC znamená „Nepripojené“a k ničomu sa nepripojí

C/SCL sa pripája k pinu A5 na Arduine

D/SDA sa pripája k pinu A4 na Arduine

(+) sa pripája na 5V na Arduine

MOSFET

Gate pin ide na pin ~ 9 na Arduino Uno, pretože je to PWM

Vypúšťací kolík ide na negatívnu stranu LED

Zdrojový pin smeruje na GND na Arduine

LED

Negatívna strana je pripojená k odtokovému kolíku na MOSFETe

Pozitívna strana je pripojená na 5V na doske

9V batéria

(+) až (+) na doske, rovnako ako (-).

Arduino Uno

Nezabudnite pripojiť 5V k (+) na doske a GND k (-). Nezabudnite pripojiť (-) na jednej strane nepájivého poľa k (-) na druhej strane.

Ďalej nastavíme hodiny pomocou knižnice DS3231.

Krok 3: Inštalácia a nastavenie hodín

Inštalácia a nastavenie hodín
Inštalácia a nastavenie hodín
Inštalácia a nastavenie hodín
Inštalácia a nastavenie hodín
Inštalácia a nastavenie hodín
Inštalácia a nastavenie hodín

Knižnicu, ktorú používam na spustenie týchto hodín, nájdete na adrese Rinky-Dink Electronics (snímky obrazovky vyššie). Kliknite na odkaz a uistite sa, že ste na stránke DS3231. Stiahnite si súbor zip, uložte ho a umiestnite do priečinka Arduino /knižnice.

Teraz, aby ste na hodinách nastavili správny čas, otvorte Arduino a prejdite na Príklady/DS3231/Arduino/DS3231_Serial_Easy.

Odkomentujte tri riadky kódu (na snímke obrazovky sú vyznačené oranžovou farbou), skontrolujte čas a miesto v správnych časoch v týchto troch riadkoch kódu vo vojenskom formáte.

Stlačte tlačidlo Nahrať.

Teraz môžete tieto tri riadky odkomentovať a znova kliknúť na položku Nahrať.

Otvorte svoj sériový monitor a skontrolujte, či je váš čas správny.

Naše hodiny sú nastavené! Máme svoj obvod, teraz začneme kódovať. Repo je opäť k dispozícii na Github.

Krok 4: Kódovanie

Image
Image

Stiahnite si kód a skontrolujte, či je knižnica pre DS3231 správne nainštalovaná.

Najprv chceme definovať naše nastavenia.

fadeTime je doba, počas ktorej svetlo mizne z 0 na maximálny jas v minútach. setHour/setMin zodpovedá času, do ktorého sa chceme zobudiť (poznámka: číta sa vojenský formát, takže je potrebný čas 24 hodín). Pin 9 na Arduine definujeme aj ako náš VÝSTUP.

V nastavení () skontrolujte, či číslo SerialBegin (tu 96 000 baudov) zodpovedá číslu sériového monitora.

V slučke () príkaz if kontroluje, či je čas na prebudenie. Kód beží na slučke, pričom zakaždým kontroluje, či hodnoty hodín a minút vrátené hodinami zodpovedajú našim premenným setHour/setMin. Ak je to tak, príkaz if vráti funkciu active ().

Funkcia active () sa skladá z dvoch častí. Najprv začneme postupne strácať svetlo: funkcie oneskorenia sú tu, aby sa zabránilo príliš rýchlemu rozsvieteniu LED v „raných“fázach fadeTime. Potom slučka for riadi rýchlosť, ktorou by malo byť svetlo jasnejšie a jasnejšie v závislosti od času fadeTime. Nakoniec vypneme svetlo prenesením hodnoty 0 do našej LED diódy vo funkcii analogWrite ().

Video vyššie zobrazuje obvod pracujúci v jednom z prototypových akrylových puzdier.

Krok 5: Kartónový prototyp (voliteľné)

Kartónový prototyp (voliteľné)
Kartónový prototyp (voliteľné)
Kartónový prototyp (voliteľné)
Kartónový prototyp (voliteľné)

Pred týmto projektom som nikdy nepracoval s laserovou rezačkou. Vytvorenie prototypu kartónu mi umožnilo zoznámiť sa so strojom pri testovaní, ako dobre predmet vyzerá (veľkosť, vzhľad atď.) V reálnom priestore. Prípadové plány na stiahnutie.

Odporúča: