Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Vinteren kan være trist. Du våkner, det er mørkt og du må gå ut av sengen. Det siste du vil høre er den bråkete lyden fra vekkerklokken din. Jeg bor i London, og jeg har vanskelig for å våkne om morgenen. Jeg savner også å våkne til naturlig lys.
I denne opplæringen skal vi bygge en soloppgangsklokke. Det er en vekkerklokke som alle andre ved at du kan stille inn timen og minuttet du vil våkne, men med den ekstra fordelen ved å bruke lys til å lyse opp soverommet ditt over en periode som en soloppgang for å vekke deg mer naturlig.
Soloppgangslamper finnes på markedet, men de kan være dyre (et raskt søk på Amazon returnerer produkter i størrelsesorden £ 100), skjøre og ganske kliniske utseende. Vi skal gjøre noe mye billigere og mye hyggeligere.
Alle delene vil bli oppført i neste trinn. Koden kan lastes ned fra min Github repo gold-sunrise-clock. Alle skjemaer og byggfiler for saken er tilgjengelig for nedlasting på denne opplæringen.
La oss gå:)
Hvis du støter på problemer eller vil si hei, send meg en telefon [email protected] eller følg meg på Instagram @celinechappert.
Trinn 1: Samle komponentene
Til å begynne med bruker vi en klokke som inngang og en ultralyst LED som utgang for å simulere soloppgangen.
For å bygge kretsen trenger vi:
- en klokke. Vi kommer til å bruke RTC DS3231 (£ 5)
- en MOSFET for å kontrollere lysstyrken (£ 9)
- en super-lysLED (£ 1)
- 9V batteri for å drive LED -en (£ 3)
- et brødbrett for enkel montering (£ 3)
- en Arduino Uno (£ 20)
- en trykknapp (valgfritt - kun for demonstrasjonsformål)
Totalpris = £ 41
Hvis du allerede har en Arduino, et brødbrett og et 9V batteri hjemme, vil hele prosjektet koste deg mindre enn £ 15.
For å lage akrylkassen trenger du:
- 2 ark med 0,3 mm Perspex -akrylark, 1 ark per farge for solen og saken.
- tilgang til en laserskjærer.
Jeg er heldig som har hatt tilgang til skolens verksted, så disse kostnadene ble dekket for det meste. Jeg kjøpte et ekstra ark akryl fordi designet mitt krevde en oransje nyanse for solen, som kostet £ 14/ark (Perspex er dyrt!).
Trinn 2: Montering av kretsen
Du kan referere til den svart -hvite skissen av kretsen min (unnskyld det rotete) og diagrammet med Arduino (ferdig med Fritzing).
I hovedsak er her en oversikt over hva som er knyttet til hva:
Klokke:
(-) kobles til GND
NC står for 'Not Connected' og kobler ikke til noe
C/SCL kobles til pinne A5 på Arduino
D/SDA kobles til pinne A4 på Arduino
(+) kobles til 5V på Arduino
MOSFET
Gate pin går til pin ~ 9 på Arduino Uno fordi det er PWM
Tappestift går til den negative siden av lysdioden
Kildepinnen går til GND på Arduino
LED
Negativ side er koblet til tappestiften på MOSFET
Positiv side er koblet til 5V på brødbrettet
9V batteri
(+) til (+) på brødbrettet, det samme med (-).
Arduino Uno
Husk å koble 5V til (+) på brødbrettet og GND til (-). Husk å koble (-) på den ene siden av brødbrettet til (-) på den andre siden.
Neste gang skal vi stille klokken ved hjelp av DS3231 -biblioteket.
Trinn 3: Installere og stille klokken
Biblioteket jeg bruker til å kjøre denne klokken, finnes på Rinky-Dink Electronics (skjermbilder ovenfor). Klikk på lenken og kontroller at du er på DS3231 -siden. Last ned zip -filen, lagre den og legg den i mappen Arduino /biblioteker.
Nå for å stille inn riktig tid på klokken, åpner du Arduino og går til Eksempler/DS3231/Arduino/DS3231_Serial_Easy.
Ikke kommenter de tre kodelinjene (skissert i oransje på skjermbildet), sjekk tidspunktet og plasser den riktige tiden i de tre kodelinjene i militært format.
Trykk på Last opp.
Nå kan du ikke kommentere de tre linjene og trykke på Last opp igjen.
Åpne den serielle skjermen og kontroller at tiden din er riktig.
Klokken vår er stilt! Vi har kretsen vår, la oss begynne å kode. Igjen er repoen tilgjengelig på Github.
Trinn 4: Koding
Last ned koden og kontroller at biblioteket for DS3231 er riktig installert.
Først vil vi definere innstillingene våre.
fadeTime er hvor lenge lyset vil falme fra 0 til maksimal lysstyrke på få minutter. setHour/setMin tilsvarer tiden vi ønsker å våkne til (merk: dette leser militært format, så 24 -timers tid er nødvendig). Vi definerer også pin 9 på Arduino som vår OUTPUT.
I oppsett () må du kontrollere at SerialBegin -nummeret (her 96000 baud) tilsvarer serienummeret.
I loop () kontrollerer en if -setning om det er på tide å våkne. Koden kjører på en sløyfe, og kontrollerer hver gang om time- og minuttverdiene som returneres av klokken, tilsvarer våre setHour/setMin -variabler. Hvis det er tilfellet, returnerer if -setningen en aktiv () -funksjon.
Den aktive () -funksjonen består av to deler. Først begynner vi å falme lyset gradvis: forsinkelsesfunksjonene er her for å forhindre at LED -en blir for lys for tidlig i de "tidlige" stadiene av fadeTime. Deretter kontrollerer a for loop hastigheten lyset skal bli lysere og lysere avhengig av fadeTime. Til slutt slår vi av lyset ved å sende verdien 0 til vår LED i analogWrite () -funksjonen.
Videoen ovenfor viser kretsen som fungerer i en av prototypene i akryl.
Trinn 5: Kartongprototype (valgfritt)
Før dette prosjektet hadde jeg aldri jobbet med en laserskjærer. Å lage en prototype av papp gjorde at jeg ble kjent med maskinen mens jeg testet hvor godt objektet så ut (størrelse, utseende osv.) I det virkelige rommet. Saksplaner for nedlasting.