Innehållsförteckning:

LED Sunrise Alarm Clock Med anpassningsbart Song Alarm: 7 steg (med bilder)
LED Sunrise Alarm Clock Med anpassningsbart Song Alarm: 7 steg (med bilder)

Video: LED Sunrise Alarm Clock Med anpassningsbart Song Alarm: 7 steg (med bilder)

Video: LED Sunrise Alarm Clock Med anpassningsbart Song Alarm: 7 steg (med bilder)
Video: REVIEW: iPeak LED Sunrise Wake-Up Alarm Clock Light 2024, November
Anonim
LED Sunrise Alarm Clock Med anpassningsbart Song Alarm
LED Sunrise Alarm Clock Med anpassningsbart Song Alarm

Min motivation I vinter hade min flickvän mycket problem med att vakna på morgonen och verkade lida av SAD (Seasonal Affective Disorder). Jag märker till och med hur mycket svårare det är att vakna på vintern eftersom solen inte har kommit upp än. Symtom på svår SAD kan inkludera irritabilitet, för mycket sömn men ändå att vara trött, att inte kunna gå upp ur sängen, depression och till och med vissa fysiska problem som ledvärk och minskat motstånd mot infektion. Jag hade hört talas om soluppgångslarm som simulerade soluppgången och tänkte att det kunde vara en möjlig lösning på hennes problem. Planen jag kom ihåg såg en instruerbar (https://www.instructables.com/id/Blue-LED-dawn-simulator- for-Soleil-Sun-Alarm/) om hur man ändrar ett soluppgångslarm för att ge blått ljus med lysdioder eftersom blå är tänkt att vara det goda ljuset för att hjälpa till. Jag gillade idén, men hur mikrokontrollen används i denna instruerbara skrämde mig eftersom jag har begränsad erfarenhet av att programmera en efter att koden har utvecklats. Det löste inte heller min andra oro: att spendera $ 80 på en väckarklocka och ändra den, inte att min flickvän inte är värd det: D Jag tänkte först på att utveckla en klocka från grunden med en mikrokontroller. Vi byggde en binär räkningsklocka i en av mina högskoleklasser, så jag var bekant med logiken. Jag gav upp den idén senare eftersom jag inte skulle använda samma programmeringsspråk och jag skulle ta mycket tid att utveckla koden. Jag fick då idén att använda en billig digital väckarklocka som förhoppningsvis skulle kunna ge en spänning när larmet gick. Jag kunde ta denna spänning och använda den som en switch med en mikrokontroller. När larmet gick och spänningen gick högt skulle dimningsprocessen börja. Om snooze -knappen träffades eller om larmet stängdes av skulle spänningen gå ner och dimningsprocessen stannade och släcka lamporna. Jag undersökte denna idé och fick reda på att det var möjligt att använda en spänning från en klocka och använda den med en mikrokontroller! En kille hade slutfört ett liknande projekt som öppnade persiennerna automatiskt på morgonen (https://hackaday.com/2008/11/18/alarm-clock-automated-blinds/). Mikrokontrollern Idéerna började flöda och allt jag hade att göra var att välja en mikrokontroller att använda. Jag såg en artikel på sparkfun.com som gick igenom processen att bygga en krets för att köra en ATMega168. Jag läste noggrant och bestämde mig för att det verkade enkelt nog och att det var mikrokontrollern jag ville använda. Efter ytterligare forskning hittade jag denna Arduino -sak som alla har använt för sina DIY -projekt. Den använde ATMega168, var öppen källkod och hade många hjälpforum och utgångsexempel; perfekt för nybörjaren. Jag bestämde mig för att använda den för att programmera min ATMega168 och transplantera den till en utbrottskort som innehöll de grundläggande nödvändigheterna för ATMega168 att köra. Med den sista pusselbiten i handen kunde jag börja. Quick Side Note: Innan jag börjar vill jag bara tacka alla källor jag använde. Jag försökte se till att jag länkade alla referenser jag använde inom instruerbara. Koden är bara manipulationer av exemplen som ingår i Arduino -miljön och lite av mina egna så tack till de människor som kodade dem! Detta är också mitt första mikrokontrollerprojekt. Jag är säker på att jag inte gjorde allt helt korrekt, till exempel att lägga till filterlock på platser och andra olika delar i mina kretsar. Om du ser något som kan förbättras, säg till! Jag kommer att uppdatera eller anteckna det. Njut av!

Steg 1: Granskning av klocka och larmutgångskrets

Undersök klockan och larmutgångskretsen
Undersök klockan och larmutgångskretsen
Undersök klockan och larmutgångskretsen
Undersök klockan och larmutgångskretsen
Undersök klockan och larmutgångskretsen
Undersök klockan och larmutgångskretsen

Probing the Clock Detta är klockan jag valde. Jag fick det på Walmart och det var billigt, så om jag inte kunde använda det skulle jag inte bli alltför upprörd. Den har också en 9v batteribackup om strömmen går. Jag fick senare reda på att larmsekvensen från ATMega168 fortfarande går! Så det kommer fortfarande att väcka dig om det inte finns någon ström! När batteriet tar slut stängs frontskärmen av och den växlar till en annan intern klocka som är mindre exakt men fungerar fortfarande bra. När strömmen återansluts kan det hända att klockan måste justeras men larminställningarna förblir. Klockan går sönder ganska enkelt. Det finns fyra skruvar på botten och tre skruvar som håller knappen på kretskortet fäst vid toppen av klockfodralet. För att ta av toppen och få bättre åtkomst till LCD -skärmen måste du trä 9V -klämman genom hålet i den nedre halvan. Den främre LCD -skärmen dyker upp och vid inspektion var det olika delar. Jag hittade en transformator, en piezoelektrisk högtalare för larmet, några dioder för likriktarkretsen, några knappar för ingångarna och en klockdisplay som verkade ha alla klockkretsar under sig. Jag hittade marken och började leta iväg. VAR FÖRSIKTIG MEDAN DU GÖR DETTA PÅ DIN KLOCKA, DET ÄR EN UTFÖLJAD TRANSFORMATOR SOM SKA LEVERA EN STÖD STÖD. Jag noterade spänningarna på varje stift när larmet var avstängt och när larmet var på. Jag hoppades på en stift som gav en fin 5v logisk spänning när larmet var på och 0v när larmet var avstängt. Jag hade inte så tur men spänningen som gick till högtalaren gav en spänning som varierade från 9,5v-12,5v. Jag tänkte att jag kunde använda det här. Jag hittade också en stift märkt VCC som gav en spänning som varierade från 10v-12v. Detta spelar in senare när man bygger strömförsörjningen till mikrokontrollern. Larmutgångskrets lödde jag en kabel till jord och en till larmstiftet och började arbeta på en krets för att stabilisera spänningen. Jag tänkte att jag kunde använda en 5v regulator men jag hade bara en justerbar regulator som låg runt. Jag gjorde lite matte och mina värden gav en spänning något under 5v. Jag pysslade lite och bytte motståndare tills det gav den 5v jag behövde. Jag använde en 470uF kondensator på ingången för att jämna ut spänningen. Med kondensatorn varierade spänningen bara från 10,5v-10v. Nedan är schemat över kretsen jag använde för att konditionera min larmutgång och en bild av delarna tillsammans på en brödbräda.

Steg 2: Strömförsörjningskrets, LED -drivarkrets och ledningar

Strömförsörjningskrets, LED -drivkrets och ledningar
Strömförsörjningskrets, LED -drivkrets och ledningar
Strömförsörjningskrets, LED -drivkrets och ledningar
Strömförsörjningskrets, LED -drivkrets och ledningar
Strömförsörjningskrets, LED -drivkrets och ledningar
Strömförsörjningskrets, LED -drivkrets och ledningar

Strömförsörjningskrets Om jag skulle ansluta mikrokontrollern rakt upp till klockans Vcc, skulle jag spränga den (väl egentligen, men göra den värdelös). Jag behövde konditionera spänningen och sänka den till 5v. Jag använde en enkel regulatorkrets som bara använder två kondensatorer och en 5v regulator. Jag gick till skolans lab och hittade en 5v regulator i papperskorgen. Jag kopplade in kretsen och testade den. Det gav en fin och stabil 4.99v. LED -drivkrets Eftersom ATMega168 bara kan leverera cirka 16mA ström till var och en av sina digitala utgångar, behövs en strömregulator för att driva lysdioderna. Jag hittade den här kretsen på hjälpforum för Arduino och det verkar som en ganska vanlig och enkel krets. För att styra ljuset på lysdioderna bestämde jag mig för att använda en reflektor från en ficklampa. Ficklampan jag köpte hade tre hål för tre lysdioder. Jag bestämde mig för att slipa dem större och sätta fyra i varje hål, och därmed förklara hur kretsen dras. Kablar När jag väl kom på att jag lyckades använda klockans Vcc och larmutgången, bestämde jag mig för att löda upp några tunna trådar och tråd dem ut genom ett hål i sidan. Jag hade också idén att lägga till en loop i mitt mikrokontrollerprogram för att spela en låt istället för det ursprungliga larmet. Jag lödde två längre trådar till den piezoelektriska högtalaren och trådade ut dem också. Jag använde några trådklippare för att klippa ut ett litet hack i den övre halvan av klockan och skruvade ihop allt igen.

Steg 3: Ansluta ATMega168 och bygga prototypen

Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen
Ansluta ATMega168 och bygga prototypen

Anslutning till ATMega168 Det finns bara några få stift som måste anslutas för att ATMega168 ska fungera. Jag hittade denna pinout av ATMega168 på https://www.moderndevice.com/Docs/RBBB_Instructions_05.pdf-anslutningar är följande: Till Vcc-Pin 1 till Vcc med ett 10k-motstånd. -Pin 7 och Pin 20 till VccTo Ground-Pin 8 och Pin 22 till Ground-Pin 21 till Ground med en.1uF elektrolytkondensator Ingång-Pin 4 (Digital pin 2) är ansluten till min alarmtråd Output-Pin 15 till NEGATIV ledning av piezoelektrisk högtalare-stift 16 till ingången till LED-drivkretsen Clock-16Mhz Crystal-Ett ben till stift 9 det andra benet till stift 10--11 Anslutningar totalt-Obs: Jag tror att jag kunde ha kopplat ihop några lock på benen på kristallen men eftersom mitt program inte behöver en mycket exakt klocka lämnade jag den som den är. Jag använde larmets ingångs digitala stift slumpmässigt, alla andra digitala stift borde fungera. Den piezoelektriska högtalaren och lysdioderna måste vara anslutna till en digital PWM -pin, annars fungerar de inte. Dessutom kunde jag inte hitta en bra modell i Eagle för 28 -stiftsmodellen så jag bara målade allt tillsammans: D Tyvärr om det ser förvirrande ut. Ställ frågor om du behöver! Jag gjorde också ett blockschema för att hjälpa till att förstå var allt går eller kommer ifrån. Bygga prototypen --- Dellista --- Larmutgångskrets -LM317T Justerbar positiv spänningsregulator (Du kan använda en 5v-regulator, jag hade precis detta en) -1k Ohm Resistor -3.8k Ohm Resistor -470uF Elektrolytkondensator Strömförsörjning -UA7805C 5v Regulator -100uF Elektrolytkondensator -10uF Elektrolytkondensator LED -drivkrets -2N3904 -150 Ohm (Du kan experimentera med lägre eller högre motståndsvärden beroende på dina lysdioder) -1k Ohm ResistorMicrocontroller -28 Pin Socket (Valfritt men jag har omprogrammerat min ATMega168 flera gånger med min Arduino) -ATMega168 -.1uF elektrolytkondensator -16 MHz Crystal -10k Ohm ResistorMisc. Tillbehör -Prototyping Perf Board -Prototyping Board Ben och skruvar -Wire När jag prototypade min krets byggde jag varje sektion på en brödbräda, testade den och överförde den till perf board. Jag började med larmutgångskretsen och såg till att den fungerade korrekt. Jag gick sedan vidare till strömförsörjningsdelen, sedan LED -drivrutinen och slutade med mikrokontrollerkretsen. Men eftersom du inte behöver testa kretsen och se till att begreppen fungerar, eftersom jag redan har gjort det kan du bara bygga hela kretsen. Se till att du får rätt spänning på rätt ställen. 0v vid utgången från larmutgångskretsen när larmet är avstängt och 5v när det är på. 5v vid utgången från strömförsörjningskretsen. Stick inte ATMega168 i uttaget ännu, den måste programmeras. Jag kunde ha använt en mindre perfbräda eller klippt ner min men jag bestämde mig för att låta den vara ifred. Det är inte extremt stort. Efter att kretsen har prototypats kan konstruktionen av LED -lampan börja.

Steg 4: Bygga LED -lampan

Bygga LED
Bygga LED
Bygga LED
Bygga LED
Bygga LED
Bygga LED
Bygga LED
Bygga LED

Triple Quad LED -lampan !!!! "'Om du vill kan du hoppa över det här steget och använda en enda lysdiod för att testa din krets. Du kan återkomma till detta när du har kretsen bekräftad och fungerar. Dessutom använde jag vit Lysdioder eftersom jag inte hade några fler högbluesblues kvar. Jag har hört blått hjälpa bättre med SAD. Jag gick till dollarbutiken för att hämta en billig ficklampa eftersom jag behövde en reflektor för att styra LED -lamporna. Ficklampan I köpte innehöll tre lysdioder. Jag bestämde mig för att stoppa in fyra lysdioder i varje hål och jag behövde sätta ihop dem alla. Jag kom på denna process som säljer fyra lysdioder ihop och sedan kopplar ihop tre av dessa "fyrdioder" tillsammans. Alla lysdioder är parallella och håller spänningen densamma som en lysdiod och höjer strömmen. Detta är vad LED -drivkretsen ger. Protip: Liten nåltång hjälper Steg 1: Håll två lysdioder tillsammans med markledarna vidrörande. De plana kanterna på lysdioderna bör sitta bredvid varandra. Ladda upp spetsen på din lödjärna n med lite löd så det finns en flytande lödning på spetsen. Rör snabbt de två jordledningarna med ditt lödkolv så nära LED: n du kan. Om du lämnar spetsen kvar där länge kommer ledningarna att värmas upp och det kommer inte att kännas så bra. Steg 2: Använd ett dremelverktyg, fil eller sandpapper för att slipa kanterna på ena sidan av ett par platta så att de sitta bredvid ett annat par. Jag slipade lysdioderna för att sprida ljuset lite. Böj nu ledningarna enligt bilden. Lite svårt att ta bilder av processen men i princip böja de positiva lederna utåt. Böj de negativa elektroderna mot de platta sidorna och rakt upp så att när du sätter ihop två par kommer de fyra negativa avledningarna samman som en stor ledning. Ta två par, håll dem ihop. De negativa stiften kommer alla att vara i mitten. Rör vid dem med ditt lödkolv för att smälta ihop dem alla. Step3: Nu när de fyra negativa elektroderna är lödda ihop, klipp tre av dem och lämna bara en. Böj nu en av de positiva ledningarna runt utsidan av quad -LED, löd vid varje anslutning. Klipp ut alla positiva leads utom en och lämna en positiv och en negativ lead. Du är klar! Gör nu två till:] När du har tre fyrdioder är det dags att montera dem i ficklampans reflektor. Jag köpte denna ficklampa för $ 3 i dollarbutiken. Det är en dorcey och alla delar vrids isär, så det är lätt att komma åt alla delar. Jag använder silverreflektorn och den svarta konen bak. Den svarta konen kan avlägsnas av metalldelarna och lämnar bara plaststycket. Den används senare för att fästa glödlampan på den justerbara halsen. Beroende på ficklampan du hittar kan du behöva montera dina lysdioder på den justerbara halsen annorlunda. Jag försökte hitta en generisk ficklampa som skulle finnas tillgänglig på många ställen. Steg 4: Jag använde en dremel tog för att vidga de tre hålen i reflektorn. Jag tryckte sedan in var och en av de fyra fyrdioderna i sina hål med de negativa ledningarna mot insidan. Böj och löd ihop de negativa och positiva ledningarna tillsammans för att slutföra TRIPLE QUAD LED BULB! Jag lödde sedan på två långa, tunna trådar som senare kommer att matas ner i den justerbara nacken och lödas till huvudkortet. Jag la också lite lim på varje fyrdubbla LED -paket för att se till att de skulle sitta kvar.

Steg 5: Justerbar hals och bas

Justerbar hals och bas
Justerbar hals och bas
Justerbar hals och bas
Justerbar hals och bas
Justerbar hals och bas
Justerbar hals och bas

Den justerbara halsen För att rikta det "solljus" som väckarklockan genererar valde jag att lägga till en justerbar hals. Först trodde jag att jag kunde använda ledning för nacken men eftersom jag har begränsat verktyg och hårdvara på college kunde jag inte säkra det till basen särskilt bra. Dessutom var det ganska svårt att böja och justerade inte för bra. Det slutade med att jag bara använde en av ledningarna inuti ledningen. Det blev ganska bra. Jag kunde fästa den utan hårdvara, bara ett hål i basen. Jag började med att ta ut en ledning ur ledningen och linda den runt utsidan och skapa en fin spiral. Sedan tvinnade jag bara tråden från ledningen. Jag sträckte ut den och kopplade den till den svarta konen som jag nämnde tidigare. Den svarta konen levereras med några kretsar från ficklampan som är ansluten till den men den är lätt att ta bort. Nu när du bara har plastkonstycket gör du två hål på kanterna, var och en tillräckligt stor för att tråden ska passa igenom. Jag matade upp det och sedan ner och ut på andra sidan och slingrade det under. Jag använde sedan den tunna, flexibla tråden från ledningen för att säkra den ytterligare. De två långa trådarna som lödts tidigare kan matas genom den svarta konen och glödlampan kan vridas på plats. Jag tillsatte lite lim för att hålla det fäst. Basen För att fästa den justerbara halsen, borrade jag ett 7/64 tum hål i träbasen och stack in tråden. Den sitter ganska tätt så inget lim behövs men det är tillräckligt löst så att nacken vrids och vrids. De två LED -trådarna kan lindas runt halsen och lödas till prototyperna. För att fästa kortet använde jag fyra PCB -fästen. Jag hade en gängborr tillgänglig, men det var inte nödvändigt. Om du inte har en gängkrona, borra bara ett hål som är mindre än skruven och vrid in det med en tång. Jag fäst klockan på basen med hjälp av kardborreband. Jag skruvade inte ner den eftersom min klocka har batteribackup och när batteriet dör måste det bytas ut. Slutligen lade jag till några gummifötter i hörnen.

Steg 6: Programmet

Programmet
Programmet

Programmet För att programmera din ATMega168 med USB -anslutningen och Arduino -kortet behöver du ett ATMega168 -chip som redan har Arduino bootloader. Det här var det enklaste sättet att programmera mikrokontroller. När jag köpte mitt bräda hämtade jag en extra ATMega168 med bootloader från samma leverantör. Du kan behöva betala lite mer för det förprogrammerade chipet, men det var värt det för mig eftersom jag inte ville röra med seriella kabeladaptrar etc. Jag har bifogat koden som en.txt-fil och en.pde fil. Jag ville inte göra detta instruerbart långt genom att posta all kod. Jag använde den senaste Arduino-programmeringsmiljön: arduino-0015. Det jag älskar med Arduino -brädorna är att det finns massor av exempel som ingår i miljön, programmiljön är gratis och det finns många projekt- och hjälpsidor där ute. Det är också superenkelt att bygga en breakout -bräda för att köra ditt program på egen hand. Jag försökte kommentera koden så gott jag förstår så jag ska hålla beskrivningarna till ett minimum. Jag använde "Fading LED" -exemplet från BARRAGAN för att bekanta mig med pulsbreddsmodulationen (PWM) som ATMega168 kan. Jag har tre "if" -uttalanden. Den första bleknade i de lägre dimningsnivåerna (0-75 av 255) långsammare eftersom de högre nivåerna ser likadana ut. Den andra bleknar i de övre dimningsnivåerna snabbare. Hela blekningen tar 15 minuter. När lysdioderna har nått full ljusstyrka kommer sångslingan att spela tills larmet stängs av. Det ursprungliga larmet var ganska irriterande. Det var bara det typiska väckarklocka som alla hatar. Jag tänkte, varför inte använda högtalaren för att göra en trevlig låt att vakna till? Eftersom min flickvän älskar The Beatles och jag visste att Hey Jude har en ganska enkel melodi bestämmer jag mig för att använda den. En fyrkantvåg genereras och sedan används PWM för att spela tonerna av Hey Jude på den piezoelektriska högtalaren. För att programmera låten manipulerade jag "Melody" -exemplet från Arduino -miljöexemplen. Jag hittade några enkla noter och översatte det till anteckningar i koden. Jag var tvungen att öka antalet noter som spelas till 41 och räkna ut för att räkna ut en lägre ton än 'c' som tillhandahålls. Jag implanterade sedan den koden i min huvudkod. För att programmera chipet måste du först installera USB -drivrutinerna som levereras med Arduino -miljön. Välj sedan ditt kort från rullgardinsmenyn och välj lämplig COM -port. Hela denna process beskrivs i detalj här: https://arduino.cc/en/Guide/WindowsOch det handlar om det! Efter programmering av ATMega168 kan den tas ut ur Arduino och poppas in i den prototypade kretsen!

Steg 7: Slutsats

Slutsats
Slutsats
Slutsats
Slutsats
Slutsats
Slutsats

Möjliga förbättringar Efter att jag hade avslutat soluppgångslarmet, tänkte jag på några förbättringar eller extrafunktioner som jag kunde ha lagt till. En av idéerna jag kom på var en strömbrytare för att sätta lampan på full ljusstyrka så att den kan användas som läslampa. En annan omkopplare kan användas för att slå på eller av alarmljudet. Kretskortet kunde också ha varit mycket mindre. Jag hade precis den här liggande och bestämde mig för att lämna den i ett stycke. Slutprodukten Här är den! Jag har lagt till några bilder på hur det ser ut när lamporna slocknar. Jag tog också en video av larmet som spelade Hey Jude. Återigen, om du har några frågor om detta projekt är det bara att fråga, jag älskar att hjälpa!

Rekommenderad: