Innehållsförteckning:

Soluppgång väckarklocka med Arduino: 9 steg (med bilder)
Soluppgång väckarklocka med Arduino: 9 steg (med bilder)

Video: Soluppgång väckarklocka med Arduino: 9 steg (med bilder)

Video: Soluppgång väckarklocka med Arduino: 9 steg (med bilder)
Video: FLProg9: Будильник RTC | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, November
Anonim
Image
Image
Soluppgång väckarklocka med Arduino
Soluppgång väckarklocka med Arduino

Vintertid kan vara trist. Du vaknar, det är mörkt och du måste gå upp ur sängen. Det sista du vill höra är det väckande ljudet från din väckarklocka. Jag bor i London och har svårt att vakna på morgonen. Jag saknar också att vakna till naturligt ljus.

I den här självstudien kommer vi att bygga en Sunrise Alarm Clock. Det är en väckarklocka som alla andra genom att du kan ställa in den timme och minut du vill vakna, men med den extra fördelen att du använder ljus för att lysa upp ditt sovrum under en tid som en soluppgång för att väcka dig mer naturligt.

Soluppgångslampor finns på marknaden men de kan vara dyra (en snabb sökning på Amazon returnerar produkter i området £ 100), sköra och ganska kliniskt utseende. Vi ska göra något mycket billigare och mycket trevligare.

Alla delar kommer att listas i nästa steg. Koden kan laddas ner från min Github repo gold-sunrise-clock. Alla scheman och byggfiler för ärendet är tillgängliga för nedladdning i denna handledning.

Nu går vi:)

Om du stöter på problem eller vill säga hej, skicka mig en rad [email protected] eller följ mig på Instagram @celinechappert.

Steg 1: Samla komponenterna

Samlar ihop komponenterna
Samlar ihop komponenterna

Till att börja med använder vi en klocka som ingång och en ultraljus LED som utgång för att simulera vår soluppgång.

För att bygga kretsen behöver vi:

- en klocka. Vi kommer att använda RTC DS3231 (£ 5)

- en MOSFET för att styra ljusets ljusstyrka (£ 9)

- en superljusLED (£ 1)

- 9V batteri för att driva LED -lampan (£ 3)

- en brödbräda för enkel montering (£ 3)

- en Arduino Uno (£ 20)

- en tryckknapp (valfritt - endast för demoändamål)

Totalpris = £ 41

Om du redan har en Arduino, en brödbräda och ett 9V -batteri hemma kommer hela projektet att kosta dig mindre än £ 15.

För att göra akrylfodralet behöver du:

- 2 ark 0,3 mm Perspex -akrylark, 1 ark per färg för solen och fodralet.

- tillgång till en laserskärare.

Jag har tur som har haft tillgång till min skols verkstad så dessa kostnader täcktes för det mesta. Jag köpte ett extra ark akryl eftersom min design krävde en orange nyans för solen, som kostade £ 14/ark (Perspex är dyrt!).

Steg 2: Montera kretsen

Image
Image
Montering av kretsen
Montering av kretsen
Montering av kretsen
Montering av kretsen

Du kan hänvisa till den svartvita skissen av min krets (ursäkta det röriga) och till diagrammet med Arduino (gjort med Fritzing).

I huvudsak här är en uppdelning av vad som är kopplat till vad:

Klocka:

(-) ansluter till GND

NC står för 'Not Connected' och ansluter inte till någonting

C/SCL ansluts till stift A5 på Arduino

D/SDA ansluts till stift A4 på Arduino

(+) ansluts till 5V på Arduino

MOSFET

Gate pin går till pin ~ 9 på Arduino Uno eftersom det är PWM

Dräneringsstiftet går till den negativa sidan av lysdioden

Källnålen går till GND på Arduino

LED

Den negativa sidan är ansluten till tappstiftet på MOSFET

Positiv sida är ansluten till 5V på brödbrädan

9V batteri

(+) till (+) på panelen, samma med (-).

Arduino Uno

Kom ihåg att ansluta 5V till (+) på panelen och GND till (-). Kom ihåg att ansluta (-) på ena sidan av brödbrädan till (-) på andra sidan.

Därefter ställer vi in vår klocka med hjälp av biblioteket DS3231.

Steg 3: Installera och ställa in klockan

Installera och ställa in klockan
Installera och ställa in klockan
Installera och ställa in klockan
Installera och ställa in klockan
Installera och ställa in klockan
Installera och ställa in klockan

Biblioteket som jag använder för att köra den här klockan finns på Rinky-Dink Electronics (skärmdumpar ovan). Klicka på länken och se till att du är på DS3231 -sidan. Ladda ner zip -filen, spara den och placera den i mappen Arduino /bibliotek.

Nu för att ställa in rätt tid på klockan, öppna Arduino och gå till Exempel/DS3231/Arduino/DS3231_Serial_Easy.

Ta bort de tre kodraderna (markerade med orange i skärmdumpen), kontrollera tiden och platsen som är korrekt i de tre koderna i militärt format.

Tryck på Ladda upp.

Nu kan du avmarkera de tre raderna och trycka på Ladda upp igen.

Öppna din seriella bildskärm och kontrollera att din tid är korrekt.

Vår klocka är inställd! Vi har vår krets, låt oss nu börja koda. Återigen är repon tillgänglig på Github.

Steg 4: Kodning

Image
Image

Ladda ner koden och se till att biblioteket för DS3231 är korrekt installerat.

Först vill vi definiera våra inställningar.

fadeTime är hur länge ljuset kommer att blekna från 0 till dess maximala ljusstyrka på några minuter. setHour/setMin motsvarar den tid vi vill vakna till (notera: detta läser militärt format, så 24 timmar krävs). Vi definierar också stift 9 på Arduino som vårt OUTPUT.

I setup (), se till att SerialBegin -numret (här 96000 baud) motsvarar Serial Monitorns nummer.

I loop () kontrollerar ett if -uttalande om det är dags att vakna. Koden körs på en loop och kontrollerar varje gång om tim- och minutvärden som klockan returnerar motsvarar våra setHour/setMin -variabler. Om så är fallet returnerar if -satsen en aktiv () -funktion.

Den aktiva () -funktionen består av två delar. Först börjar vi tona ljuset gradvis: fördröjningsfunktionerna är här för att förhindra att lysdioden blir för ljus för tidigt i de "tidiga" stadierna av fadeTime. Sedan styr en for loop den hastighet med vilken ljuset ska bli ljusare och ljusare beroende på fadeTime. Slutligen stänger vi av ljuset genom att skicka värdet 0 till vår LED i analogWrite () -funktionen.

Videon ovan visar kretsen som fungerar i ett av prototypakrylfodralen.

Steg 5: Kartongprototyp (valfritt)

Kartongprototyp (tillval)
Kartongprototyp (tillval)
Kartongprototyp (tillval)
Kartongprototyp (tillval)

Innan detta projekt hade jag aldrig arbetat med en laserskärare. Att göra en kartongprototyp gjorde det möjligt för mig att bekanta mig med maskinen medan jag testade hur bra föremålet såg ut (storlek, utseende etc) i verkligt utrymme. Fallplaner för nedladdning.

Rekommenderad: