INHOUDSOPGAWE:

Sunrise -wekker met Arduino: 9 stappe (met foto's)
Sunrise -wekker met Arduino: 9 stappe (met foto's)

Video: Sunrise -wekker met Arduino: 9 stappe (met foto's)

Video: Sunrise -wekker met Arduino: 9 stappe (met foto's)
Video: ARDUINO servo 2024, Junie
Anonim
Image
Image
Sunrise wekker met Arduino
Sunrise wekker met Arduino

Winter kan hartseer wees. Jy word wakker, dit is donker en jy moet uit die bed kom. Die laaste ding wat u wil hoor, is die geluid van u wekker. Ek woon in Londen en ek vind dit moeilik om soggens wakker te word. Ek mis ook wakker word met natuurlike lig.

In hierdie tutoriaal gaan ons 'n sonopwekker bou. Dit is 'n wekker soos elke ander deurdat u die uur en minuut kan instel wat u wil wakker word, maar met die ekstra voordeel dat u lig gebruik om u slaapkamer oor 'n tydperk soos 'n sonsopkoms op te helder, om u meer natuurlik te laat wakker word.

Sunrise-lampe bestaan op die mark, maar dit kan duur wees ('n vinnige soektog op Amazon lewer produkte in die reeks van £ 100), broos en klinies uit. Ons gaan iets baie goedkoper en baie mooier maak.

Al die dele word in die volgende stap gelys. Die kode kan afgelaai word vanaf my Github repo gold-sunrise-clock. Alle skemas en lêers vir die saak kan afgelaai word in hierdie handleiding.

Kom ons gaan:)

As u probleme ondervind of groet wil sê, stuur 'n e -pos na [email protected] of volg my op Instagram @celinechappert.

Stap 1: Versamel die komponente

Versamel die komponente
Versamel die komponente

Om mee te begin, gebruik ons 'n horlosie as ons ingang en 'n ultra-helder LED as ons uitset om ons sonsopkoms te simuleer.

Om die stroombaan te bou, benodig ons:

- n horlosie. Ons gaan die RTC DS3231 (£ 5) gebruik

- 'n MOSFET om die helderheid van die lig te beheer (£ 9)

- 'n super-helder LED (£ 1)

- 9V battery om die LED aan te dryf (£ 3)

- 'n broodbord vir maklike montering (£ 3)

- 'n Arduino Uno (£ 20)

- 'n drukknop (opsioneel - slegs vir demonstrasiedoeleindes)

Totale prys = £ 41

As u reeds 'n Arduino, 'n broodbord en 'n 9V -battery by die huis het, kos die hele projek u minder as £ 15.

Om die akrielkas te maak, benodig u:

- 2 velle 0,3 mm Perspex -akrielvelle, 1 vel per kleur vir die son en die kas.

- toegang tot 'n lasersnyer.

Ek het gelukkig toegang tot die werkswinkel van my skool, sodat hierdie koste meestal gedek is. Ek het wel 'n ekstra vel akriel gekoop omdat my ontwerp 'n oranje kleur vir die son benodig, wat £ 14 per vel kos (Perspex is duur!).

Stap 2: Monteer die stroombaan

Image
Image
Die samestelling van die kring
Die samestelling van die kring
Die samestelling van die kring
Die samestelling van die kring

U kan verwys na die swart -wit skets van my kring (verskoon die morsige) en na die diagram met die Arduino (gedoen met Fritzing).

Hier is 'n uiteensetting van wat verband hou met wat:

Klok:

(-) maak verbinding met GND

NC staan vir 'Not Connected' en maak geen verbinding met enigiets nie

C/SCL verbind met pen A5 op die Arduino

D/SDA word verbind met pen A4 op die Arduino

(+) maak verbinding met 5V op die Arduino

MOSFET

Hekpen gaan na pen ~ 9 op die Arduino Uno omdat dit PWM is

Afvoerpen gaan na die negatiewe kant van die LED

Bronpen gaan na GND op die Arduino

LED

Die negatiewe kant is gekoppel aan die afvoerpen op die MOSFET

Die positiewe kant is gekoppel aan 5V op die broodbord

9V battery

(+) tot (+) op die broodbord, dieselfde met (-).

Arduino Uno

Onthou om 5V aan (+) op die broodbord te koppel en GND aan (-). Onthou om (-) aan die een kant van die broodbord met (-) aan die ander kant te koppel.

Vervolgens stel ons ons klok in met behulp van die DS3231 -biblioteek.

Stap 3: Installeer en stel die klok in

Installeer en stel die klok in
Installeer en stel die klok in
Installeer en stel die klok in
Installeer en stel die klok in
Installeer en stel die klok in
Installeer en stel die klok in

Die biblioteek wat ek gebruik om hierdie horlosie te gebruik, kan gevind word by Rinky-Dink Electronics (skermkiekies hierbo). Klik op die skakel en maak seker dat u op die DS3231 -bladsy is. Laai die zip -lêer af, stoor dit en plaas dit in u Arduino's /biblioteke -lêergids.

Om die regte tyd op die klok in te stel, maak Arduino oop en gaan na Voorbeelde/DS3231/Arduino/DS3231_Serial_Easy.

Los die drie reëls kode (in oranje op die skermkiekie) op, merk die tyd en plaas die korrekte tyd in die drie reëls kode in militêre formaat.

Druk oplaai.

Nou kan u die drie reëls losmaak en weer op Laai druk.

Maak u seriële monitor oop en kyk of u tyd korrek is.

Ons horlosie is reg! Ons het ons kring, laat ons nou begin kodering. Die repo is weer beskikbaar op Github.

Stap 4: Kodering

Image
Image

Laai die kode af en maak seker dat die biblioteek vir die DS3231 korrek geïnstalleer is.

Eerstens wil ons ons instellings definieer.

fadeTime is hoe lank die lig van 0 tot die maksimum helderheid in minute verdwyn. setHour/setMin stem ooreen met die tyd waarop ons wil wakker word (let op: dit lees militêre formaat, dus is 24 uur tyd nodig). Ons definieer ook pen 9 op die Arduino as ons UITGANG.

In setup (), maak seker dat die SerialBegin -nommer (hier 96000 baud) ooreenstem met die nommer van die Serial Monitor.

In lus () kyk 'n if -verklaring of dit tyd is om wakker te word. Die kode loop op 'n lus en kyk elke keer of die uur- en minuutwaardes wat deur die klok teruggestuur word, ooreenstem met ons setHour/setMin -veranderlikes. As dit die geval is, gee die if -verklaring 'n aktiewe () funksie terug.

Die aktiewe () funksie bestaan uit twee dele. Eerstens begin ons die lig geleidelik verdof: die vertragingsfunksies is hier om te voorkom dat die LED te vroeg in die 'vroeë' stadiums van die fadeTime te helder word. Dan bepaal 'n for -lus die snelheid waarmee die lig al hoe helderder moet word, afhangende van die fadeTime. Uiteindelik sluit ons die lig af deur 'n waarde van 0 aan ons LED in die analogWrite () -funksie deur te gee.

Die video hierbo toon die stroombaan wat werk in een van die prototipe akrielkaste.

Stap 5: Karton prototipe (opsioneel)

Karton prototipe (opsioneel)
Karton prototipe (opsioneel)
Karton prototipe (opsioneel)
Karton prototipe (opsioneel)

Voor hierdie projek het ek nog nooit met 'n lasersnyer gewerk nie. Deur 'n kartonprototipe te maak, het ek kennis gemaak met die masjien terwyl ek getoets het hoe goed die voorwerp lyk (grootte, voorkoms, ens.) In die werklike ruimte. Saakplanne om af te laai.

Aanbeveel: