Indholdsfortegnelse:

LED solopgang vækkeur med tilpasselig sangalarm: 7 trin (med billeder)
LED solopgang vækkeur med tilpasselig sangalarm: 7 trin (med billeder)

Video: LED solopgang vækkeur med tilpasselig sangalarm: 7 trin (med billeder)

Video: LED solopgang vækkeur med tilpasselig sangalarm: 7 trin (med billeder)
Video: Radiostyret alarmklokke vækkeur Eurochron! 2024, November
Anonim
LED solopgang vækkeur med tilpasselig sangalarm
LED solopgang vækkeur med tilpasselig sangalarm

Min motivation Denne vinter havde min kæreste mange problemer med at vågne om morgenen og syntes at lide af SAD (Seasonal Affective Disorder). Jeg bemærker selv, hvor meget sværere det er at vågne om vinteren, da solen ikke er kommet op endnu. Symptomer på alvorlig SAD kan omfatte irritabilitet, overdreven søvn, men stadig være træt, ikke være i stand til at komme ud af sengen, depression og endda nogle fysiske problemer såsom ledsmerter og nedsat resistens over for infektion. Jeg havde hørt om solopgangsalarmer, der simulerede solopgangen og regnede med, at det kunne være en mulig løsning på hendes problem. Planen huskede jeg, at jeg så en instruerbar (https://www.instructables.com/id/Blue-LED-dawn-simulator- for-Soleil-Sun-Alarm/) om ændring af en solopgangsalarm for at give blåt lys ved hjælp af LED'er, da blå formodes at være det gode lys til at hjælpe. Jeg kunne godt lide ideen, men den måde, hvorpå mikrokontrolleren bruges i denne instruerbare, skræmte mig, da jeg har haft begrænset erfaring med programmering, efter at koden er udviklet. Det løste heller ikke mit andet problem: at bruge $ 80 på et vækkeur og ændre det, ikke at min kæreste ikke er det værd: D Jeg tænkte først på at udvikle et ur fra bunden ved hjælp af en mikrokontroller. Vi byggede et binært tællerur i en af mine college -klasser, så jeg var bekendt med logikken. Jeg opgav senere den idé, da jeg ikke ville bruge det samme programmeringssprog, og jeg ville tage meget tid at udvikle koden. Jeg havde da ideen om at bruge et billigt digitalt vækkeur, der forhåbentlig kunne give en spænding, når alarmen gik. Jeg kunne tage denne spænding og bruge den som en switch med en mikrokontroller. Når alarmen gik, og spændingen gik højt, begyndte dæmpningsprocessen. Hvis snooze -knappen blev ramt, eller alarmen blev slukket, ville spændingen gå lavt og dæmpningsprocessen stoppede og slukke lyset. Jeg undersøgte denne idé og fandt ud af, at det var muligt at bruge en spænding fra et ur og bruge den med en mikrokontroller! En fyr havde gennemført et lignende projekt, der åbnede persiennerne automatisk om morgenen (https://hackaday.com/2008/11/18/alarm-clock-automated-blinds/). Mikrokontrolleren Idéerne begyndte at flyde, og alt hvad jeg havde at gøre var at vælge en mikrokontroller til brug. Jeg så en artikel på sparkfun.com, der gennemgik processen med at bygge et kredsløb til at køre en ATMega168. Jeg læste omhyggeligt og besluttede, at det virkede simpelt nok, og at det var mikrokontrolleren, jeg ville bruge. Efter yderligere undersøgelser fandt jeg denne Arduino -ting, som alle har brugt til deres DIY -projekter. Den brugte ATMega168, var open source og havde mange hjælpefora og udgangseksempler; perfekt til nybegyndere. Jeg besluttede mig for at bruge den til at programmere min ATMega168 og transplantere den i et udbrudstavle, der indeholdt det essentielle, for at ATMega168 kunne køre. Med den sidste brik i puslespillet i hånden kunne jeg starte. Hurtig sidebemærkning: Inden jeg starter, vil jeg bare sige tak til alle de kilder, jeg brugte. Jeg forsøgte at sikre, at jeg linkede enhver reference, jeg brugte, inden for det instruerbare. Koden er bare manipulationer af eksemplerne, der er inkluderet i Arduino -miljøet og lidt af mine egne, så tak til de mennesker, der kodede dem! Dette er også mit første mikrokontrollerprojekt. Jeg er sikker på, at jeg ikke gjorde alt helt korrekt, såsom at tilføje filterhætter til steder og andre forskellige dele til mine kredsløb. Hvis du ser noget, der kan forbedres, så lad mig det vide! Jeg vil helt sikkert opdatere eller notere det. God fornøjelse!

Trin 1: Undersøgelse af ur og alarmudgangskredsløb

Undersøgelse af ur og alarmudgangskredsløb
Undersøgelse af ur og alarmudgangskredsløb
Undersøgelse af ur og alarmudgangskredsløb
Undersøgelse af ur og alarmudgangskredsløb
Undersøgelse af ur og alarmudgangskredsløb
Undersøgelse af ur og alarmudgangskredsløb

Undersøgelse af uret Dette er det ur, jeg valgte. Jeg fik det hos Walmart, og det var billigt, så hvis jeg ikke kunne bruge det, ville jeg ikke blive for ked af det. Det har også en 9v batteribackup, hvis strømmen går ud. Jeg fandt senere ud af, at alarmsekvensen fra ATMega168 stadig går! Så det vil stadig vække dig, hvis der ikke er strøm! Når batteriet løber tør, slukkes frontdisplayet, og det skifter til et andet internt ur, der er mindre præcist, men stadig fungerer fint. Når strømmen tilsluttes igen, skal uret muligvis justeres, men alarmindstillingerne forbliver. Uret går ganske let fra hinanden. Der er fire skruer i bunden og tre skruer, der holder knappen PCB -kort fastgjort til toppen af urkassen. For at tage toppen af og få bedre adgang til LCD'et skal du trænge 9v -klippet gennem hullet i den nederste halvdel. Den forreste LCD springer ud, og ved inspektion var der få dele. Jeg fandt en transformer, en piezoelektrisk højttaler til alarmen, nogle dioder til ensretterkredsløbet, nogle knapper til indgangene og et urdisplay, der syntes at have alt urets kredsløb under sig. Jeg fandt jorden og begyndte at søge væk. Vær forsigtig, mens du gør dette på dit ur, der er en eksponeret transformer, der vil levere et kraftigt stød. Jeg noterede mig spændingerne på hver pin, når alarmen var slukket, og når alarmen var tændt. Jeg håbede på en pin, der gav en dejlig 5v logisk spænding, når alarmen var tændt og 0v, når alarmen var slukket. Jeg var ikke så heldig, men spændingen, der gik til højttaleren, gav en spænding, der varierede fra 9,5v-12,5v. Jeg tænkte, at jeg kunne bruge dette. Jeg fandt også en nål mærket VCC, der gav en spænding, der varierede fra 10v-12v. Dette kommer senere i spil, når man bygger strømforsyningen til mikrokontrolleren. Alarmudgangskredsløb lodde jeg en ledning til jord og en til alarmpinden og begyndte at arbejde på et kredsløb for at stabilisere spændingen. Jeg regnede med, at jeg kunne bruge en 5v regulator, men jeg havde kun en justerbar regulator liggende. Jeg lavede noget matematik, og mine værdier gav en spænding lidt under 5v. Jeg pillede lidt og byttede modstandere, indtil det gav den 5v, jeg havde brug for. Jeg brugte en 470uF kondensator på indgangen til at udjævne spændingen. Med kondensatoren varierede spændingen kun fra 10,5v-10v. Nedenfor er skematikken over kredsløbet, jeg plejede at konditionere min alarmudgang og et billede af delene sammen på et brødbræt.

Trin 2: Strømforsyningskredsløb, LED -driverkredsløb og ledninger

Strømforsyningskredsløb, LED -driverkredsløb og ledninger
Strømforsyningskredsløb, LED -driverkredsløb og ledninger
Strømforsyningskredsløb, LED -driverkredsløb og ledninger
Strømforsyningskredsløb, LED -driverkredsløb og ledninger
Strømforsyningskredsløb, LED -driverkredsløb og ledninger
Strømforsyningskredsløb, LED -driverkredsløb og ledninger

Strømforsyningskredsløb Hvis jeg skulle tilslutte mikrokontrolleren lige op til urets Vcc, ville jeg sprænge den (vel egentlig ikke, men gøre den ubrugelig). Jeg havde brug for at konditionere spændingen og bringe den ned til 5v. Jeg brugte et simpelt regulator kredsløb, der kun bruger to kondensatorer og en 5v regulator. Jeg gik til skolens laboratorium og fandt en 5v regulator i skraldespanden. Jeg tilsluttede kredsløbet og testede det. Det gav et flot og stabilt 4.99v. LED -driverkredsløb Da ATMega168 kun kan levere omkring 16mA strøm til hver af sine digitale udgange, er en strømregulator nødvendig for at drive lysdioderne. Jeg fandt dette kredsløb på Arduino -hjælpefora, og det virker som et ret almindeligt og enkelt kredsløb. For at styre lysdiodernes lys besluttede jeg at bruge en reflektor fra en lommelygte. Lommelygten jeg købte havde tre huller til tre lysdioder. Jeg besluttede mig for at male dem større og sætte fire i hvert hul og dermed forklare, hvordan kredsløbet blev trukket. Når jeg fandt ud af, at jeg med succes kunne bruge urets Vcc og alarmudgangen, besluttede jeg at lodde nogle tynde ledninger og gevind op dem ud gennem et hul i siden. Jeg havde også ideen om at tilføje en loop i mit mikrokontrollerprogram for at afspille en sang i stedet for den originale alarm. Jeg lodde to længere ledninger til den piezoelektriske højttaler og trådte dem også ud af siden. Jeg brugte nogle trådklippere til at skære et lille hak i den øverste halvdel af uret og skruede alt sammen igen.

Trin 3: Tilslutning til ATMega168 og opbygning af prototypen

Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen
Tilslutning af ATMega168 og opbygning af prototypen

Tilslutning af ATMega168 Der er kun få stifter, der skal tilsluttes, for at ATMega168 kan køre. Jeg fandt denne pinout af ATMega168 på https://www.moderndevice.com/Docs/RBBB_Instructions_05.pdf forbindelser er som følger: Til Vcc-Pin 1 til Vcc med en 10k modstand. -Pin 7 og Pin 20 til VccTo Ground-Pin 8 og Pin 22 til Ground-Pin 21 til Ground med en.1uF elektrolytisk kondensator Input-Pin 4 (Digital pin 2) er forbundet til min alarmtråd Output-Pin 15 til NEGATIV Lead af piezoelektrisk højttaler-Pin 16 til indgangen på LED-driverkredsen Clock-16Mhz Crystal-Et ben til Pin 9 det andet ben til Pin 10--11 Tilslutninger i alt-Bemærk: Jeg tror, jeg kunne have tilsluttet nogle hætter til benene på krystallen, men da mit program ikke har brug for et meget præcist ur, forlod jeg det som det er. Jeg brugte alarmens input digitale pin tilfældigt, enhver anden digital pin skulle fungere. Den piezoelektriske højttaler og lysdioder skal være forbundet til en digital PWM -pin, ellers fungerer de ikke. Desuden kunne jeg ikke finde en god model i Eagle til 28 -pin modellen, så jeg malede MS lige det hele sammen: D Undskyld hvis det ser forvirrende ud. Stil spørgsmål, hvis du har brug for det! Jeg lavede også et blokdiagram for at hjælpe med at forstå, hvor alt går eller kommer fra. Opbygning af prototypen --- Deleliste --- Alarmudgangskredsløb -LM317T Justerbar positiv spændingsregulator (Du kunne bruge en 5v regulator, jeg havde lige denne en) -1k Ohm modstand -3.8k Ohm modstand -470uF elektrolytisk kondensator Strømforsyning -UA7805C 5v regulator -100uF elektrolytkondensator -10uF elektrolytisk kondensator LED driver kredsløb -2N3904 -150 Ohm (Du kan eksperimentere med lavere eller højere modstandsværdier afhængigt af dine lysdioder) -1k Ohm ResistorMicrocontroller -28 Pin Socket (valgfri, men jeg omprogrammerede min ATMega168 mange gange med min Arduino) -ATMega168 -.1uF elektrolytisk kondensator -16 MHz Crystal -10k Ohm ResistorMisc. Supplies -Prototyping Perf Board -Prototyping Board Ben og skruer -Wire Da jeg prototypede mit kredsløb, byggede jeg hver sektion på et brødbræt, testede det og overførte det til perf boardet. Jeg startede med alarmudgangskredsløbet og sørgede for, at det fungerede korrekt. Jeg gik derefter videre til strømforsyningsdelen, derefter LED -driveren og sluttede med mikrokontroller kredsløbet. Men da du ikke behøver at teste kredsløbet og sørge for, at begreberne fungerer, da jeg allerede har gjort det, kan du bare bygge hele kredsløbet. Sørg for at få de rigtige spændinger de rigtige steder. 0v ved udgangen af alarmudgangskredsløbet, når alarmen er slukket, og 5v, når den er tændt. 5v ved udgangen af strømforsyningskredsløbet. Stik ikke ATMega168 i stikkontakten endnu, den skal programmeres. Jeg kunne have brugt et mindre perf -bord eller skåret mit ned, men jeg besluttede at lade det være i fred. Det er ikke ekstremt stort. Efter at kredsløbet er blevet prototypet, kan konstruktionen af LED -pæren starte.

Trin 4: Opbygning af LED "pæren"

Bygger LED
Bygger LED
Bygger LED
Bygger LED
Bygger LED
Bygger LED
Bygger LED
Bygger LED

Triple Quad LED -pæren !!!! "'Hvis du vil, kan du springe dette trin over og bruge en enkelt LED til at teste dit kredsløb. Du kan vende tilbage til dette, når du har kredsløbet bekræftet og fungerer. Jeg brugte også hvidt LED'er, fordi jeg ikke havde flere blues med høj lysstyrke tilbage. Jeg har hørt blå hjælpe bedre med SAD. Jeg gik til dollarbutikken for at hente en billig lommelygte, fordi jeg havde brug for en reflektor til at styre LED'ernes lys. Lommelygten I købte indeholdt tre lysdioder. Jeg besluttede at proppe fire lysdioder i hvert hul, og jeg havde brug for en måde at koble dem alle sammen. Jeg fandt på denne proces, der sælger fire lysdioder sammen og derefter forbinder tre af disse "quad -lysdioder" sammen. Alle lysdioder er parallelle, holder spændingen den samme som en LED og øger strømmen. Dette er, hvad LED -driverkredsløbet giver. Protip: Små nåletænger hjælper Trin1: Hold to LED'er sammen med jordledningerne rørende. De flade kanter af LED'erne skal sidde ved siden af hinanden. Læg spidsen af din loddejern op n med noget loddemetal, så der falder en flydende loddemetal på spidsen. Rør hurtigt de to jordledninger med dit loddejern så tæt på LED'en som du kan. Hvis du lader spidsen blive der længe, bliver ledningerne varme op, og det føles ikke særlig godt. Trin 2: Brug et dremelværktøj, en fil eller et sandpapir til at slibe kanterne på den ene side af et par fladt, så de vil sidde ved siden af et andet par flush. Jeg slibede lysdioderne for at hjælpe med at sprede lyset lidt. Bøj nu ledningerne som vist. Lidt svært at tage billeder af processen, men dybest set bøje de positive leads udad. Bøj de negative elektroder mod de flade sider og lige op, så når du sætter to par sammen, kommer de fire negative afledninger sammen som et stort forspring. Tag to par, hold dem sammen. De negative stifter vil alle være i midten. Rør ved dem med dit loddejern for at smelte dem alle sammen. Trin 3: Nu hvor de fire negative elektroder er loddet sammen, skal du klippe tre af dem og efterlade kun en. Nu skal du bøje en af de positive elektroder rundt om ydersiden af quad -LED'en og lodde ved hver forbindelse. Klip alle undtagen én af de positive kundeemner og efterlader et positivt og et negativt lead. Du er færdig! Lav nu to mere:] Når du har tre quad -lysdioder, er det tid til at passe dem ind i lommelygten. Jeg købte denne lommelygte for $ 3 i dollarbutikken. Det er en dorcey og alle delene vrider sig fra hinanden, så det er let at få adgang til alle delene. Jeg bruger sølvreflektoren og den sorte kegle tilbage. Den sorte kegle kan fjernes fra dens metaldele, der kun efterlader plaststykket. Det bruges senere til at fastgøre pæren til den justerbare hals. Afhængigt af den lommelygte, du finder, skal du muligvis montere dine lysdioder forskelligt på den justerbare hals. Jeg forsøgte at finde en generisk lommelygte, der ville være tilgængelig mange steder. Trin 4: Jeg brugte en dremel tog til at udvide de tre huller i reflektoren. Jeg skubbede derefter hver af de fire quad -lysdioder ind i deres huller med de negative ledninger mod indersiden. Bøj og lod de negative og positive leads sammen for at fuldføre TRIPLE QUAD LED Pære! Jeg lod derefter på to lange, tynde tråde, der senere vil blive ført ned af den justerbare hals og loddet til hovedkortet. Jeg lagde også lidt lim på hver quad LED -pakke for at sikre, at de ville blive på plads.

Trin 5: Justerbar hals og basen

Justerbar hals og bund
Justerbar hals og bund
Justerbar hals og bund
Justerbar hals og bund
Justerbar hals og bund
Justerbar hals og bund

Den justerbare hals For at dirigere det "sollys", som vækkeuret genererer, valgte jeg at tilføje en justerbar hals. Først troede jeg, at jeg kunne bruge rør til nakken, men da jeg har begrænset værktøj og hardware på college, kunne jeg ikke sikre det til basen særlig godt. Plus, det var ret hårdt at bøje og justerede sig ikke for godt. Jeg endte med at bruge kun en af ledningerne inde i røret. Det blev ret godt. Jeg var i stand til at fastgøre det uden hardware, bare et hul i bunden. Jeg startede med at tage den ene ledning ud af kanalen og vikle den rundt om ydersiden og skabe en dejlig spiral. Derefter snoede jeg bare ledningen af kanalen. Jeg strakte den derefter ud og sluttede den til den sorte kegle, jeg nævnte tidligere. Den sorte kegle leveres med nogle kredsløb fra lommelygten fastgjort til den, men den kan let fjernes. Nu hvor du kun har plastkeglestykket, skal du lave to huller på kanterne, der hver er store nok til, at tråden kan passe igennem. Jeg fodrede det op og derefter ned og ud på den anden side og krøllede det under. Jeg brugte derefter den tynde, fleksible ledning fra kanalen til at sikre den yderligere. De to lange ledninger, der blev loddet tidligere, kan føres gennem den sorte kegle tilbage, og pæren kan vrides på plads. Jeg tilføjede en smule lim for at holde den vedhæftet. Basen For at fastgøre den justerbare hals, borede jeg et hul på 7/64 tommer i træbunden og stak ledningen i. Den sidder ret tæt, så ingen lim er nødvendig, men den er løs nok, så halsen vendes og vrides. De to LED -ledninger kan vikles om halsen og loddes til prototypebordet. For at fastgøre brættet brugte jeg fire printkortbeslag. Jeg havde en gevindbor tilgængelig, men det var ikke nødvendigt. Hvis du ikke har en gevindskæring, skal du bare bore et hul, der er mindre end skruen, og vride det ind med en tang. Jeg fastgjorde uret til basen ved hjælp af en velcro. Jeg skruede det ikke ned, da mit ur har en batteribackup, og når batteriet dør, skal det udskiftes. Til sidst tilføjede jeg nogle gummifødder til hjørnerne.

Trin 6: Programmet

Programmet
Programmet

Programmet For at programmere din ATMega168 med USB -forbindelsen og Arduino -kortet, skal du bruge en ATMega168 -chip, der allerede har Arduino -bootloader. Dette var den enkleste måde, jeg kunne finde, at programmere mikrokontrolleren. Da jeg købte mit bord, hentede jeg en ekstra ATMega168 med bootloaderen fra den samme leverandør. Du skal muligvis betale lidt mere for den forprogrammerede chip, men det var det værd for mig, da jeg ikke ønskede at rode med serielle kabeladaptere osv. Jeg har vedhæftet koden som en.txt-fil og en.pde fil. Jeg ville ikke gøre dette instruerbart længe ved at poste al koden. Jeg brugte det nyeste Arduino programmeringsmiljø: arduino-0015. Det, jeg elsker ved Arduino -tavlerne, er, at der er masser af eksempler inkluderet i miljøet, programmiljøet er gratis, og der er nogle mange projekt- og hjælpesider derude. Det er også super let at bygge et breakout board til at køre dit program på egen hånd. Jeg forsøgte at kommentere koden efter min bedste forståelse, så jeg vil holde beskrivelserne til et minimum. Jeg brugte "Fading LED" -eksemplet fra BARRAGAN til at blive fortrolig med pulsbreddemodulation (PWM), ATMega168 er i stand til. Jeg har tre "hvis" udsagn. Den første falmede i de lavere dæmpningsniveauer (0-75 ud af 255) langsommere, da de højere niveauer ser ens ud. Den anden falmer hurtigere i de øvre dæmpningsniveauer. Hele fade i proces tager 15 minutter. Når lysdioderne har nået fuld lysstyrke, afspilles sangsløjfen, indtil alarmen slukkes. Den originale alarm var rimelig irriterende. Det var bare den typiske vækkeurlyd, som alle hader. Jeg tænkte, hvorfor ikke bruge højttaleren til at lave en behagelig sang at vågne op til? Da min kæreste elsker The Beatles, og jeg vidste Hey Jude har en ret simpel melodi, beslutter jeg mig for at bruge den. En firkantbølge genereres, og derefter bruges PWM til at spille noterne fra Hey Jude på den piezoelektriske højttaler. For at programmere sangen manipulerede jeg "Melody" -eksemplet fra Arduino -miljøeksemplerne. Jeg fandt nogle enkle noder og oversatte det til noter i koden. Jeg var nødt til at øge antallet af noter, der spilles til 41, og regne med at regne ud en lavere tone end den 'c', der er givet. Jeg implanterede derefter koden i min hovedkode. For at programmere chippen skal du først installere de USB -drivere, der følger med Arduino -miljøet. Vælg derefter dit bord i rullemenuen, og vælg den relevante COM -port. Hele denne proces er beskrevet detaljeret her: https://arduino.cc/en/Guide/WindowsAnd that is about it! Efter programmering af ATMega168 kan den tages ud af Arduino og poppes ind i det prototypekredsløb!

Trin 7: Konklusion

Konklusion
Konklusion
Konklusion
Konklusion
Konklusion
Konklusion

Mulige forbedringer Efter at jeg var færdig med solopgangsalarmen, fandt jeg dog nogle forbedringer eller ekstra funktioner, jeg kunne have tilføjet. En af de ideer jeg kom med var en kontakt til at tænde pæren for fuld lysstyrke, så den kan bruges som læselampe. En anden kontakt kan bruges til at slå alarmlyden til eller fra. Printkortet kunne også have været meget mindre. Jeg havde lige denne liggende og besluttede at forlade den i et stykke. Det endelige produkt Her er det! Jeg har tilføjet et par billeder af, hvordan det ser ud, når lyset falmer ind. Jeg har også taget en video af alarmen, der afspiller Hey Jude. Igen, hvis du har spørgsmål til dette projekt, skal du bare spørge, jeg elsker at hjælpe!

Anbefalede: