Innholdsfortegnelse:

LED soloppgang vekkerklokke med tilpassbar sangalarm: 7 trinn (med bilder)
LED soloppgang vekkerklokke med tilpassbar sangalarm: 7 trinn (med bilder)

Video: LED soloppgang vekkerklokke med tilpassbar sangalarm: 7 trinn (med bilder)

Video: LED soloppgang vekkerklokke med tilpassbar sangalarm: 7 trinn (med bilder)
Video: Philips Wake-up Light HF3510 simulerer soloppgang & vekker deg gradvis - Prøv i 60 dager 2024, November
Anonim
LED soloppgang vekkerklokke med tilpassbar sangalarm
LED soloppgang vekkerklokke med tilpassbar sangalarm

Min motivasjon I vinter hadde kjæresten min store problemer med å våkne om morgenen og syntes å lide av SAD (Seasonal Affective Disorder). Jeg merker til og med hvor mye vanskeligere det er å våkne om vinteren siden solen ikke har kommet opp ennå. Symptomer på alvorlig SAD kan omfatte irritabilitet, sovende, men fortsatt være sliten, ikke være i stand til å komme seg ut av sengen, depresjon og til og med fysiske problemer som leddsmerter og redusert motstand mot infeksjon. Jeg hadde hørt om soloppgangsalarmer som simulerte soloppgangen og tenkte at det kunne være en mulig løsning på problemet hennes. Planen jeg husket så en instruerbar (https://www.instructables.com/id/Blue-LED-dawn-simulator- for-Soleil-Sun-Alarm/) om å endre en soloppgangsalarm for å gi blått lys ved bruk av LED-er siden blått skal være det gode lyset for å hjelpe. Jeg likte ideen, men måten mikrokontrolleren brukes på i denne instruerbare skremte meg siden jeg har hatt begrenset erfaring med programmering en etter at koden er utviklet. Det løste heller ikke den andre bekymringen min: å bruke 80 dollar på en vekkerklokke og endre den, ikke at kjæresten min ikke er verdt det: D Jeg tenkte først på å utvikle en klokke fra bunnen av ved hjelp av en mikrokontroller. Vi bygde en binær telleklokke i en av mine høyskoleklasser, så jeg var kjent med logikken. Jeg ga senere opp den ideen siden jeg ikke ville bruke det samme programmeringsspråket, og jeg ville ta mye tid å utvikle koden. Jeg hadde da ideen om å bruke en billig digital vekkerklokke som forhåpentligvis kunne gi en spenning når alarmen gikk. Jeg kunne ta denne spenningen og bruke den som en bryter med en mikrokontroller. Når alarmen gikk og spenningen gikk høyt, begynte dimmingsprosessen. Hvis snooze -knappen ble truffet, eller alarmen ble slått av, ville spenningen gå lavt og dimmingsprosessen ville stoppe, og slukke lysene. Jeg undersøkte denne ideen og fant ut at det var mulig å bruke en spenning fra en klokke og bruke den med en mikrokontroller! En fyr hadde fullført et lignende prosjekt som åpnet persiennene automatisk om morgenen (https://hackaday.com/2008/11/18/alarm-clock-automated-blinds/). Mikrokontrolleren Ideene begynte å flyte og alt jeg hadde å gjøre var å velge en mikrokontroller å bruke. Jeg så en artikkel på sparkfun.com som gikk gjennom prosessen med å bygge en krets for å kjøre en ATMega168. Jeg leste nøye og bestemte meg for at det virket enkelt nok og at det var mikrokontrolleren jeg ønsket å bruke. Etter nærmere undersøkelser fant jeg denne Arduino -tingen alle har brukt til sine DIY -prosjekter. Den brukte ATMega168, var åpen kildekode og hadde mange hjelpefora og utgangseksempler; perfekt for nybegynnere. Jeg bestemte meg for å bruke den til å programmere min ATMega168 og transplantere den til et utbruddstavle som inneholdt det viktigste for ATMega168 å kjøre. Med den siste brikken i puslespillet i hånden, kunne jeg begynne. Quick Side Note: Før jeg begynner, vil jeg bare si takk til alle kildene jeg brukte. Jeg prøvde å sørge for at jeg koblet til en referanse jeg brukte i instruksjonsboken. Koden er bare manipulasjoner av eksemplene som er inkludert i Arduino -miljøet og litt av mine egne, så takk til menneskene som kodet dem! Dette er også mitt første mikrokontrollerprosjekt. Jeg er sikker på at jeg ikke gjorde alt helt riktig, for eksempel å legge til filterhett på steder og andre forskjellige deler i kretsene mine. Hvis du ser noe som kan forbedres, gi meg beskjed! Jeg kommer til å oppdatere eller notere det. Nyt!

Trinn 1: Undersøkelse av klokke og alarmutgangskrets

Undersøkelse av klokke og alarmutgangskrets
Undersøkelse av klokke og alarmutgangskrets
Undersøkelse av klokke og alarmutgangskrets
Undersøkelse av klokke og alarmutgangskrets
Undersøkelse av klokke og alarmutgangskrets
Undersøkelse av klokke og alarmutgangskrets

Probing the Clock Dette er klokken jeg valgte. Jeg kjøpte den på Walmart, og den var billig, så hvis jeg ikke kunne bruke den, ville jeg ikke blitt for opprørt. Den har også en 9v batteribackup i tilfelle strømmen går av. Jeg fant senere ut at alarmsekvensen fra ATMega168 fortsatt går! Så det vil fortsatt vekke deg hvis det ikke er strøm! Når batteriet går tom, slås frontdisplayet av og det bytter til en annen intern klokke som er mindre nøyaktig, men som fortsatt fungerer bra. Når strømmen kobles til igjen må klokken kanskje justeres, men alarminnstillingene forblir. Klokken går ganske lett fra hverandre. Det er fire skruer på bunnen og tre skruer som holder knappens kretskort festet til toppen av klokkehuset. For å ta av toppen og få bedre tilgang til LCD -skjermen, må du tre 9v -klemmen gjennom hullet i den nedre halvdelen. LCD -skjermen foran dukker opp, og ved inspeksjon var det få deler. Jeg fant en transformator, en piezoelektrisk høyttaler for alarmen, noen dioder for likeretterkretsen, noen knapper for inngangene og en klokkevisning som så ut til å ha alle klokkekretsene under seg. Jeg fant bakken og begynte å lete bort. VÆR FORSIKTIG mens du gjør dette på klokken din, er det en eksponert transformator som vil gi et kraftig sjokk. Jeg noterte spenningene på hver pin når alarmen var slått av og når alarmen var på. Jeg håpet på en pinne som ga en fin 5v logisk spenning når alarmen var på og 0v når alarmen var slått av. Jeg var ikke så heldig, men spenningen som gikk til høyttaleren ga en spenning som varierte fra 9,5v-12,5v. Jeg tenkte jeg kunne bruke dette. Jeg fant også en pinne merket VCC som ga en spenning som varierte fra 10v-12v. Dette spiller inn senere når du bygger strømforsyningen til mikrokontrolleren. Alarmutgangskrets jeg loddet en ledning til jord og en til alarmpinnen og begynte å jobbe på en krets for å stabilisere spenningen. Jeg tenkte jeg kunne bruke en 5v regulator, men jeg hadde bare en justerbar regulator liggende. Jeg regnet litt, og verdiene mine ga en spenning litt under 5v. Jeg puslet litt og byttet motstandere til den ga den 5v jeg trengte. Jeg brukte en 470uF kondensator på inngangen for å jevne ut spenningen. Med kondensatoren varierte spenningen bare fra 10,5v-10v. Nedenfor er skjematisk av kretsen jeg brukte til å kondisjonere alarmutgangen min og et bilde av delene sammen på et brødbrett.

Trinn 2: Strømforsyningskrets, LED -driverkrets og ledninger

Strømforsyningskrets, LED -driverkrets og ledninger
Strømforsyningskrets, LED -driverkrets og ledninger
Strømforsyningskrets, LED -driverkrets og ledninger
Strømforsyningskrets, LED -driverkrets og ledninger
Strømforsyningskrets, LED -driverkrets og ledninger
Strømforsyningskrets, LED -driverkrets og ledninger

Strømforsyningskrets Hvis jeg skulle koble mikrokontrolleren rett opp til Vcc på klokken, ville jeg sprenge den (vel egentlig ikke, men gjøre den ubrukelig). Jeg trengte å kondisjonere spenningen og bringe den ned til 5v. Jeg brukte en enkel regulator krets som bruker bare to kondensatorer og en 5v regulator. Jeg dro til skolelaboratoriet og fant en 5v regulator i søppelbunken. Jeg koblet til kretsen og testet den. Det ga en fin og jevn 4.99v. LED driverkrets Siden ATMega168 bare kan levere omtrent 16mA strøm til hver av sine digitale utganger, er det nødvendig med en strømregulator for å drive lysdiodene. Jeg fant denne kretsen på hjelpeforumene til Arduino, og det virker som en ganske vanlig og enkel krets. For å rette lyset til LED -ene, bestemte jeg meg for å bruke en reflektor fra en lommelykt. Lommelykten jeg kjøpte hadde tre hull for tre lysdioder. Jeg bestemte meg for å male dem større og sette fire i hvert hull, og dermed forklare måten kretsen tegnes på. Når jeg fant ut at jeg kunne bruke klokkens Vcc og alarmutgangen, bestemte jeg meg for å lodde opp noen tynne ledninger og tråder dem ut gjennom et hull i siden. Jeg hadde også ideen om å legge til en loop i mikrokontrollerprogrammet mitt for å spille en sang i stedet for den originale alarmen. Jeg loddet to lengre ledninger til den piezoelektriske høyttaleren og trådet de ut også. Jeg brukte noen trådklippere til å kutte ut et lite hakk i den øverste halvdelen av klokken og skrudde alt sammen igjen.

Trinn 3: Koble til ATMega168 og bygge prototypen

Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen
Koble til ATMega168 og bygge prototypen

Koble til ATMega168 Det er bare noen få pinner som må kobles til for at ATMega168 skal fungere. Jeg fant denne pinout av ATMega168 på https://www.moderndevice.com/Docs/RBBB_Instructions_05.pdf tilkoblinger er som følger: Til Vcc-Pin 1 til Vcc med en 10k motstand. -Pin 7 og Pin 20 til VccTo Ground-Pin 8 og Pin 22 til Ground-Pin 21 til Ground med en.1uF elektrolytisk kondensator Inngang-Pin 4 (Digital pin 2) er koblet til min alarmtråd Output-Pin 15 til NEGATIV Lead of piezoelectric høyttaler-Pin 16 til inngangen til LED-driverkretsen Clock-16Mhz Crystal-Ett ben til Pin 9 det andre benet til Pin 10--11 Tilkoblinger i alt-Merk: Jeg tror jeg kunne ha koblet noen hetter til bena på krystallet, men siden programmet mitt ikke trenger en meget nøyaktig klokke, la jeg det være som det er. Jeg brukte alarmens inngang digitale pin tilfeldig, en hvilken som helst annen digital pin burde fungere. Den piezoelektriske høyttaleren og lysdiodene må være koblet til en digital PWM -pin, ellers fungerer de ikke. Dessuten kunne jeg ikke finne en god modell i Eagle for 28 -pinners modellen, så jeg bare malte MS sammen: D Beklager hvis det ser forvirrende ut. Still spørsmål hvis du trenger det! Jeg lagde også et blokkdiagram for å forstå hvor alt går eller kommer fra. Bygge prototypen --- Deleliste --- Alarmutgangskrets -LM317T Justerbar positiv spenningsregulator (Du kan bruke en 5v regulator, jeg hadde nettopp dette en) -1k Ohm motstand -3.8k Ohm motstand -470uF elektrolytisk kondensator Strømforsyning -UA7805C 5v regulator -100uF elektrolytisk kondensator -10uF elektrolytisk kondensator LED driver krets -2N3904 -150 Ohm (Du kan eksperimentere med lavere eller høyere motstandsverdier avhengig av lysdiodene dine) -1k Ohm ResistorMicrocontroller -28 Pin Socket (Valgfritt, men jeg programmerte min ATMega168 flere ganger med min Arduino) -ATMega168 -.1uF elektrolytisk kondensator -16 MHz Crystal -10k Ohm ResistorMisc. Rekvisita -Prototyping Perf Board -Prototyping Board Ben og skruer -Wire Da jeg prototypet kretsen min, bygde jeg hver seksjon på et brødbrett, testet den og overførte den til perf boardet. Jeg begynte med alarmutgangskretsen og sørget for at den fungerte riktig. Jeg gikk deretter videre til strømforsyningsdelen, deretter LED -driveren, og avsluttet med mikrokontrollerkretsen. Men siden du ikke trenger å teste kretsen og sørge for at konseptene fungerer, siden jeg allerede har gjort det, kan du bare bygge hele kretsen. Sørg for at du får de riktige spenningene på de riktige stedene. 0v ved utgangen til alarmutgangskretsen når alarmen er slått av og 5v når den er på. 5v ved utgangen til strømforsyningskretsen. Ikke stikk ATMega168 i kontakten ennå, den må programmeres. Jeg kunne ha brukt et mindre perf -brett eller kuttet mitt, men jeg bestemte meg for å la det være i fred. Det er ikke ekstremt stort. Etter at kretsen har blitt prototypet, kan konstruksjonen av LED -pæren starte.

Trinn 4: Bygg LED "Bulb"

Å bygge LED
Å bygge LED
Å bygge LED
Å bygge LED
Å bygge LED
Å bygge LED
Å bygge LED
Å bygge LED

Triple Quad LED Bulb !!!! "'Hvis du vil, kan du hoppe over dette trinnet og bruke en enkelt LED for å teste kretsen din. Du kan komme tilbake til dette når du har bekreftet kretsen og fungerer. Dessuten brukte jeg hvit Lysdioder fordi jeg ikke hadde flere blues med høy lysstyrke igjen. Jeg har hørt blått hjelper bedre med SAD. Jeg dro til dollarbutikken for å hente en billig lommelykt fordi jeg trengte en reflektor for å lede LED -lyset. Lommelykten I kjøpte inneholdt tre lysdioder. Jeg bestemte meg for å fylle fire lysdioder inn i hvert hull, og jeg trengte en måte å koble dem alle sammen. Jeg fant frem til denne prosessen som selger fire lysdioder sammen og deretter kobler tre av disse "fire -lysdiodene" sammen. Alle lysdioder er parallelle, og holder spenningen den samme som en LED og øker strømmen. Dette er hva LED -driverkretsen gir. Protip: Liten nåletang hjelper Trinn 1: Hold to LED sammen med jordledningene som berører. De flate kantene på LEDene skal sitte ved siden av hverandre. Last opp spissen av loddejernet ditt n med litt loddetinn, så det er en flytende loddetråpe på spissen. Berør de to jordledningene raskt med loddejernet så nær LED -en du kan. Hvis du lar spissen ligge der lenge, vil ledningene varme opp, og det vil ikke føles så bra. Trinn 2: Bruk et dremelverktøy, fil eller kurs sandpapir til å slipe kantene på den ene siden av et par flat slik at de sitte ved siden av et annet par flush. Jeg pusset lysdiodene for å spre lyset litt. Bøy nå ledningene som vist. Litt vanskelig å ta bilder av prosessen, men bøyer i utgangspunktet de positive lederne utover. Bøy de negative ledningene mot de flate sidene og rett opp slik at når du setter to par sammen, kommer de fire negative ledningene sammen som en stor ledning. Ta to par, hold dem sammen. De negative pinnene vil alle være i midten. Trykk på dem med loddejernet ditt for å smelte dem sammen. Trinn 3: Nå som de fire negative ledningene er loddet sammen, klipp tre av dem, og bare ett. Bøy nå en av de positive ledningene rundt utsiden av quad -LED -en, lodding ved hver tilkobling. Klipp alle bortsett fra én av de positive lederne, og etterlater en positiv og en negativ ledning. Du er ferdig! Lag nå to til:] Når du har tre firelamper, er det på tide å passe dem inn i lommelyktreflektoren. Jeg kjøpte denne lommelykten for $ 3 i dollarbutikken. Det er en dorcey og alle delene vrir seg fra hverandre, så det er enkelt å få tilgang til alle delene. Jeg bruker sølvreflektoren og den svarte kjeglen tilbake. Den sorte kjeglen kan fjernes fra metalldelene og etterlater bare plaststykket. Den brukes senere til å feste pæren til den justerbare halsen. Avhengig av lommelykten du finner, må du kanskje montere lysdiodene dine på den justerbare nakken annerledes. Jeg prøvde å finne en generell lommelykt som ville være tilgjengelig mange steder. Trinn 4: Jeg brukte en dremel tok for å utvide de tre hullene i reflektoren. Jeg dyttet deretter hver av de fire firelampene i hullene med de negative ledningene mot innsiden. Bøy og lodd de negative og positive lederne sammen for å fullføre TRIPLE QUAD LED BULB! Jeg loddet deretter på to lange, tynne ledninger som senere vil mates ned i den justerbare nakken og loddes til hovedkortet. Jeg la også litt lim på hver quad LED -pakke for å sikre at de ville forbli på plass.

Trinn 5: Justerbar hals og base

Justerbar hals og sokkel
Justerbar hals og sokkel
Justerbar hals og sokkel
Justerbar hals og sokkel
Justerbar hals og sokkel
Justerbar hals og sokkel

Den justerbare nakken For å dirigere "sollyset" som vekkerklokken genererer, valgte jeg å legge til en justerbar nakke. Først trodde jeg at jeg kunne bruke rør for nakken, men siden jeg har begrenset verktøy og maskinvare på høyskolen, kunne jeg ikke sikre det godt til basen. I tillegg var det ganske tøft å bøye og justerte seg ikke for godt. Det endte med at jeg bare brukte en av ledningene inne i kanalen. Det ble ganske bra. Jeg klarte å feste den uten maskinvare, bare et hull i basen. Jeg begynte med å ta en ledning ut av kanalen og vikle den rundt utsiden, og skape en fin spiral. Så vred jeg bare ledningen av kanalen. Jeg strakte den deretter ut og koblet den til den svarte kjeglen jeg nevnte tidligere. Den svarte kjeglen kommer med noen kretser fra lommelykten festet til den, men den kan lett fjernes. Nå som du bare har plastkjeglen, lager du to hull på kantene, hver stor nok til at ledningen kan passe gjennom. Jeg matet den opp og deretter ned og ut på den andre siden, krøllet den under. Jeg brukte deretter den tynne, fleksible ledningen fra kanalen for å sikre den ytterligere. De to lange ledningene som ble loddet tidligere kan mates gjennom den svarte kjeglen tilbake og pæren kan vrides på plass. Jeg la til litt lim for å holde det festet. Basen For å feste den justerbare halsen, boret jeg et 7/64 tommers hull i trebunnen og stakk inn ledningen. Den sitter ganske tett, så det er ikke nødvendig med lim, men den er løs nok til at nakken blir snudd og vridd. De to LED -ledningene kan vikles rundt halsen og loddes til prototypebrettet. For å feste brettet brukte jeg fire PCB -fester. Jeg hadde en gjengebor tilgjengelig, men det var ikke nødvendig. Hvis du ikke har en gjengebor, er det bare å bore et hull som er mindre enn skruen og vri den inn med noen tang. Jeg festet klokken til basen med litt borrelås. Jeg skrudde ikke ned siden klokken min har batteribackup, og når batteriet dør, må det byttes ut. Til slutt la jeg til noen gummiføtter i hjørnene.

Trinn 6: Programmet

Programmet
Programmet

Programmet For å programmere ATMega168 med USB -tilkoblingen og Arduino -kortet, trenger du en ATMega168 -brikke som allerede har Arduino bootloader. Dette var den enkleste måten jeg kunne finne, for å programmere mikrokontrolleren. Da jeg kjøpte brettet mitt, hentet jeg en ekstra ATMega168 med bootloader fra samme leverandør. Du må kanskje betale litt mer for den forhåndsprogrammerte brikken, men det var verdt det for meg siden jeg ikke ville rote med serielle kabeladaptere osv. Jeg har lagt ved koden som en.txt-fil og en.pde fil. Jeg ville ikke gjøre dette instruerbart lenge ved å legge ut all koden. Jeg brukte det siste Arduino-programmeringsmiljøet: arduino-0015. Det jeg liker med Arduino -tavlene er at det er mange eksempler inkludert i miljøet, programmiljøet er gratis, og det er mange mange prosjekt- og hjelpesider der ute. Det er også superenkelt å bygge et breakout -bord for å kjøre programmet på egen hånd. Jeg prøvde å kommentere koden så godt jeg forstår, så jeg skal holde beskrivelsene til et minimum. Jeg brukte eksempelet "Fading LED" av BARRAGAN for å bli kjent med pulsbreddemodulasjonen (PWM) ATMega168 er i stand til. Jeg har tre "hvis" -uttalelser. Den første bleknet i de lavere dimnessnivåene (0-75 av 255) langsommere siden de høyere nivåene ser like ut. Den andre blekner i de øvre dimmenivåene raskere. Hele nedtoningen tar 15 minutter. Når lysdiodene har nådd full lysstyrke, vil sangsløyfen spille til alarmen slås av. Den opprinnelige alarmen var ganske irriterende. Det var bare den typiske alarmklokken som alle hater. Jeg tenkte, hvorfor ikke bruke høyttaleren til å lage en hyggelig sang å våkne opp til? Siden kjæresten min elsker The Beatles og jeg visste at Hey Jude har en ganske enkel melodi, bestemmer jeg meg for å bruke den. En firkantbølge genereres, og deretter brukes PWM til å spille tonene til Hey Jude på den piezoelektriske høyttaleren. For å programmere sangen manipulerte jeg "Melody" -eksemplet fra Arduino -miljøeksemplene. Jeg fant noen enkle noter og oversatte det til noter i koden. Jeg måtte øke antall noter som spilles til 41 og regne ut for å finne ut en lavere tone enn 'c' som er gitt. Jeg implanterte deretter koden i hovedkoden min. For å programmere brikken må du først installere USB -driverne som følger med Arduino -miljøet. Velg deretter brettet ditt fra rullegardinmenyen og velg riktig COM -port. Hele denne prosessen er beskrevet i detalj her: https://arduino.cc/en/Guide/WindowsAnd that is about it! Etter programmering av ATMega168 kan den tas ut av Arduino og poppes inn i den prototypekretsen!

Trinn 7: Konklusjon

Konklusjon
Konklusjon
Konklusjon
Konklusjon
Konklusjon
Konklusjon

Mulige forbedringer Etter at jeg var ferdig med soloppgangsalarmen, tenkte jeg på noen forbedringer eller ekstra funksjoner jeg kunne ha lagt til. En av ideene jeg kom på var en bryter for å slå pæren på full lysstyrke, slik at den kan brukes som leselampe. En annen bryter kan brukes til å slå alarmlyden på eller av. Kretskortet kunne også vært mye mindre. Jeg hadde akkurat denne liggende og bestemte meg for å la den stå i ett stykke. Det endelige produktet Her er det! Jeg har lagt til noen bilder av hvordan det ser ut når lysene svinner inn. Jeg tok også en video av alarmen som spilte Hey Jude. Igjen, hvis du har spørsmål om dette prosjektet, bare spør, jeg elsker å hjelpe!

Anbefalt: