Sisukord:

LED päikesetõusu äratuskell kohandatava lauluhäirega: 7 sammu (piltidega)
LED päikesetõusu äratuskell kohandatava lauluhäirega: 7 sammu (piltidega)

Video: LED päikesetõusu äratuskell kohandatava lauluhäirega: 7 sammu (piltidega)

Video: LED päikesetõusu äratuskell kohandatava lauluhäirega: 7 sammu (piltidega)
Video: Part 3 - A Connecticut Yankee in King Arthur's Court Audiobook by Mark Twain (Chs 12-16) 2024, November
Anonim
LED päikesetõusu äratuskell kohandatava lauluhäirega
LED päikesetõusu äratuskell kohandatava lauluhäirega

Minu motivatsioon Sel talvel oli mu tüdruksõbral hommikul ärgates palju probleeme ja tundus, et tal on SAD (hooajaline afektiivne häire). Ma isegi märkan, kui palju raskem on talvel ärgata, sest päike pole veel tõusnud. Tõsise SAD -i sümptomiteks võivad olla ärrituvus, ülemagamine, kuid siiski väsimus, voodist tõusmata jätmine, depressioon ja isegi mõned füüsilised probleemid, nagu liigesevalu ja vähenenud vastupanuvõime infektsioonidele. Ma olin kuulnud päikesetõusu häiretest, mis simuleerisid päikesetõusu, ja arvasin, et see võib olla tema probleemi võimalik lahendus. Plaan, mida ma mäletasin, nägin juhendatavat (https://www.instructables.com/id/Blue-LED-dawn-simulator- for-Soleil-Sun-Alarm/) päikesetõusu alarmi muutmise kohta, et anda LED-ide abil sinist valgust, kuna sinine peaks olema hea valgus. Idee mulle meeldis, kuid see, kuidas mikrokontrollerit selles juhendis kasutatakse, hirmutas mind, kuna mul oli pärast koodi väljatöötamist programmeerimisega piiratud kogemus. See ei lahendanud ka minu teist muret: kulutada äratuskellale 80 dollarit ja seda muuta, mitte et mu tüdruksõber pole seda väärt: D Mõtlesin kõigepealt, et arendan kella nullist välja mikrokontrolleri abil. Ehitasime ühes minu kolledži klassis binaarse loenduskella, nii et olin loogikaga tuttav. Hiljem loobusin sellest ideest, kuna ma ei kasutaks sama programmeerimiskeelt ja kuluks koodi väljatöötamiseks palju aega. Siis tekkis mul mõte kasutada odavat digitaalset äratuskella, mis loodetavasti annab häire käivitamisel pinge. Võiksin selle pinge võtta ja kasutada seda mikrokontrolleriga lülitina. Kui alarm läks ja pinge tõusis, algas hämardamisprotsess. Kui lükati edasilükkamisnuppu või lülitati äratus välja, langes pinge madalale ja hämardusprotsess peatati, lülitades tuled välja. Uurisin seda ideed ja sain teada, et kellast saab pinget kasutada ja seda mikrokontrolleriga kasutada! Üks mees oli lõpetanud sarnase projekti, mis avas hommikul automaatselt rulood (https://hackaday.com/2008/11/18/alarm-clock-automated-blinds/). Mikrokontroller Ideed hakkasid voolama ja kõik, mis mul oli Selleks oli valida kasutatav mikrokontroller. Nägin saidil sparkfun.com artiklit, mis läbis ATMega168 käitamiseks vooluringi loomise protsessi. Lugesin hoolikalt ja otsustasin, et see tundub piisavalt lihtne ja et see on mikrokontroller, mida ma kasutada tahan. Edasiste uuringute käigus leidsin selle Arduino asja, mida kõik on oma isetegevusprojektide jaoks kasutanud. See kasutas ATMega168, oli avatud lähtekoodiga ning sellel oli palju abifoorumeid ja algusnäiteid; ideaalne algajale. Otsustasin seda kasutada oma ATMega168 programmeerimiseks ja siirdada see puhkelauale, mis sisaldas ATMega168 töötamiseks vajalikke asju. Kui viimane pusletükk käes, võisin alustada. Kiire külgmärkus: Enne alustamist tahan lihtsalt tänada kõiki kasutatud allikaid. Püüdsin veenduda, et linkisin kõik kasutatavad viited juhendi piiresse. Kood on lihtsalt Arduino keskkonnas sisalduvate näidete manipuleerimine ja natuke minu oma, nii et tänu inimestele, kes neid kodeerisid! Lisaks on see minu esimene mikrokontrolleri projekt. Olen kindel, et ma ei teinud kõike täiesti õigesti, näiteks lisasin filtrikorke kohtadesse ja muudesse vooluahelate osadesse. Kui näete midagi, mida saaks parandada, andke mulle sellest teada! Ma uuendan seda kindlasti või teen selle kohta märkmeid. Nautige!

Samm: kella ja äratuse väljundahela mõõtmine

Kella ja äratuse väljundahela mõõtmine
Kella ja äratuse väljundahela mõõtmine
Kella ja äratuse väljundahela mõõtmine
Kella ja äratuse väljundahela mõõtmine
Kella ja äratuse väljundahela mõõtmine
Kella ja äratuse väljundahela mõõtmine

Kella mõõtmine See on kell, mille ma valisin. Sain selle Walmartist ja see oli odav, nii et kui ma ei saaks seda kasutada, ei oleks ma liiga ärritunud. Sellel on ka 9V aku varukoopia juhuks, kui vool ära läheb. Hiljem sain teada, et ATMega168 häiresignaalid ikka käivad! Nii et see ikka äratab teid üles, kui jõudu pole! Kui aku hakkab tühjaks saama, lülitub esiekraan välja ja lülitub teisele sisemisele kellale, mis on vähem täpne, kuid töötab siiski hästi. Toite uuesti ühendamisel võib olla vaja kella reguleerida, kuid äratussätted jäävad samaks. Kell läheb üsna lihtsalt lahti. Alumisel küljel on neli kruvi ja kolm kruvi, mis hoiavad nupp -trükkplaadi kellakorpuse ülaosas. Ülemise osa eemaldamiseks ja vedelkristallekraanile parema juurdepääsu saamiseks peate 9v klambri läbi keerama alumise poole augu. Eesmine LCD hüppab välja ja ülevaatusel oli osi vähe. Leidsin trafo, piesoelektrilise kõlari häire jaoks, mõned dioodid alaldi ahela jaoks, mõned nupud sisendite jaoks ja kellaekraani, mille all näis olevat kogu kellaahel. Leidsin maapinna ja hakkasin eemale uurima. OLGE ETTEVAATLIK, KUI SEE TEIE KELLAL TEE, ON SÄILITATUD TRANSFORMER, MIS TOOTAB KOLME LÖÖGI. Võtsin teadmiseks pinged igal tihvtil, kui alarm oli välja lülitatud ja kui alarm oli sisse lülitatud. Lootsin nööpnõelale, mis andis meeldiva 5v loogika pinge, kui alarm oli sisse lülitatud ja 0v, kui alarm oli välja lülitatud. Mul ei vedanud nii palju, kuid kõlari pinge andis pinge, mis varieerus vahemikus 9,5–12,5 volti. Arvasin, et saan seda kasutada. Leidsin ka tihvti sildiga VCC, mis andis pinge vahemikus 10v-12v. See hakkab mängima hiljem mikrokontrolleri toiteallika ehitamisel. Alarmi väljundahel I jootis juhtme maandusesse ja ühe häiretapi külge ning asusin pinge ühtlustamiseks vooluringi kallale. Arvasin, et saan kasutada 5v regulaatorit, kuid mul oli ainult reguleeritav regulaator. Tegin natuke matemaatikat ja minu väärtused andsid pinge veidi alla 5v. Näppisin natuke ja vahetasin takistid, kuni see andis vajaliku 5v. Pinge silumiseks kasutasin sisendil 470uF kondensaatorit. Kondensaatoriga varieerus pinge ainult 10,5–10 V. Allpool on skeem skeemist, mida kasutasin häire väljundi konditsioneerimiseks, ja pilt osadest koos leivaplaadil.

2. etapp: toiteahel, LED -draiveriahel ja juhtmestik

Toiteahel, LED -ahela ja juhtmestik
Toiteahel, LED -ahela ja juhtmestik
Toiteahel, LED -ahela ja juhtmestik
Toiteahel, LED -ahela ja juhtmestik
Toiteahel, LED -ahela ja juhtmestik
Toiteahel, LED -ahela ja juhtmestik

Toiteahel Kui ma ühendaksin mikrokontrolleri otse kella Vcc külge, laseksin selle õhku (no mitte päris, aga muudan selle kasutuks). Mul oli vaja pinge konditsioneerida ja viia see 5 v -ni. Kasutasin lihtsat regulaatoriahelat, mis kasutab vaid kahte kondensaatorit ja 5v regulaatorit. Käisin koolide laboris ja leidsin 5v regulaatori prügikasti. Ühendasin vooluringi ja katsetasin seda. See pakkus kena ja stabiilse 4.99v. LED draiveri vooluringi Kuna ATMega168 suudab igale digitaalsele väljundile edastada ainult umbes 16 mA voolu, on LED -ide toiteks vaja vooluregulaatorit. Leidsin selle vooluringi Arduino abifoorumitest ja see tundub üsna tavaline ja lihtne ahel. Valgusdioodide valguse suunamiseks otsustasin kasutada taskulambi helkurit. Minu ostetud taskulambil oli kolm auku kolme LED -i jaoks. Otsustasin need suuremaks lihvida ja panna igasse auku neli, selgitades seeläbi vooluahela joonistamist. Juhtmed Kui ma arvasin, et saan edukalt kasutada kella Vcc -d ja häire väljundit, otsustasin mõned õhukesed juhtmed ja niidid kokku joota need läbi küljel oleva augu. Mul tekkis ka idee lisada oma mikrokontrolleriprogrammi silmus, et mängida algse häire asemel lugu. Jootsin piesoelektrilise kõlari külge kaks pikemat juhet ja keerasin need ka küljelt välja. Lõikasin mõne traatlõikuri abil kella ülemises pooles väikese sälgu välja ja keerasin kõik kokku.

3. samm: ühendage ATMega168 ja ehitage prototüüp

ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine
ATMega168 ühendamine ja prototüübi ehitamine

ATMega168 ühendamine ATMega168 töötamiseks tuleb ühendada vaid mõned tihvtid. Leidsin selle ATMega168 pistiku aadressilt https://www.moderndevice.com/Docs/RBBB_Instructions_05.pdf. Ühendused on järgmised: Vcc-Pin 1 to Vcc with 10k resistor. -Pin 7 ja Pin 20 kuni Vcc kõlar-tihvt 16 LED-draiveri ahela sisendisse Kell-16Mhz Crystal-üks jalg nööpnõelaga 9, teine jalg tihvtiga 10--11 Ühendused kokku-Märkus: ma usun, et oleksin võinud mõned korgid jalgade külge ühendada kristall, kuid kuna minu programm ei vaja ülitäpset kella, jätsin selle selliseks, nagu see on. Kasutasin häire sisendi digitaalset tihvti juhuslikult, mis tahes muu digitaalne tihvt peaks töötama. Piesoelektrilised kõlarid ja valgusdioodid peavad olema ühendatud digitaalse PWM -pistikuga, vastasel juhul need ei tööta. Samuti ei leidnud ma Eagle'ist 28 -nööbilise mudeli jaoks head mudelit, nii et ma lihtsalt värvisin MS kõik kokku: D Vabandust, kui see tundub segane. Vajadusel küsige küsimusi! Tegin ka plokkskeemi, et aidata mõista, kust kõik läheb või pärineb. Prototüübi ehitamine --- osade loend --- alarmi väljundahel -LM317T reguleeritav positiivse pinge regulaator (võite kasutada 5v regulaatorit, mul oli just see üks) -1 k ohm takisti -3,8 k ohm takisti -470uF elektrolüütkondensaator Toiteallikas -UA7805C 5v regulaator -100uF elektrolüütiline kondensaator -10uF elektrolüütkondensaator -1k oomine takistiMikrokontroller -28 pin pistikupesa (valikuline, kuid programmeerisin oma ATMega168 oma Arduinoga mitu korda ümber) -ATMega168 -.1uF elektrolüütiline kondensaator -16 MHz kristall -10k oom ResistorMisc. Tarvikud -Prototüüpimine Perf Board -Prototüüpimine Lauajalad ja kruvid -Juhe Kui ma oma vooluringi prototüüpisin, ehitasin ma iga sektsiooni leivaplaadile, katsetasin seda ja kandsin selle üle plaadile. Alustasin häire väljundahelast ja veendusin, et see töötab õigesti. Seejärel liikusin toiteploki ja seejärel LED -draiveri juurde ning lõpetasin mikrokontrolleri vooluringiga. Kuid kuna te ei pea vooluringi testima ja veenduma, et kontseptsioonid toimivad, kuna olen seda juba teinud, saate kogu vooluringi lihtsalt üles ehitada. Veenduge, et õiged pinged oleksid õiges kohas. 0v häire väljundahela väljundis, kui alarm on välja lülitatud, ja 5v, kui see on sisse lülitatud. 5v toiteahela väljundis. Ärge veel pistke ATMega168 pistikupessa, see tuleb programmeerida. Ma oleksin võinud kasutada väiksemat perf -tahvlit või minu oma maha lõigata, kuid otsustasin selle rahule jätta. See pole eriti suur. Pärast vooluringi prototüübi loomist võib LED -pirni ehitamine alata.

Samm: LED -pirni ehitamine

LED -i ehitamine
LED -i ehitamine
LED -i ehitamine
LED -i ehitamine
LED -i ehitamine
LED -i ehitamine
LED -i ehitamine
LED -i ehitamine

Triple Quad LED Bulb !!!! "'Kui soovite, võite selle sammu vahele jätta ja kasutada oma ahela testimiseks ühte LED -i. Selle juurde saate tagasi tulla, kui ahel on kinnitatud ja töötab. Samuti kasutasin valget LEDid, kuna mul ei olnud enam suure heledusega sinist värvi. Olen kuulnud, et sinine aitab SAD -i paremini. Läksin dollaripoodi odavat taskulampi ostma, sest mul oli vaja helkurit LED -ide suunamiseks. Taskulamp I ostetud sisaldas kolme LED -i. Otsustasin igasse auku toppida neli valgusdioodi ja mul oli vaja moodus need kõik kokku ühendada. Mõtlesin välja selle protsessi, mis joob neli LED -i kokku ja ühendab siis kolm neist „neljast LED -ist” kokku. on paralleelsed, hoides pinget sama kui üks LED ja tõstab voolu. Seda pakub LED -draiveri ahel. Protip: Väikesed nõelatangid aitavad 1. samm: hoidke kahte LED -i koos maandusjuhtmetega kokku. peaks istuma kõrvuti. Laadige jootekolvi ots üles n mõne joodisega, nii et otsa jääb vedel jootetilk. Puudutage jootekolbiga kiiresti kahte maandusjuhet LED -ile võimalikult lähedale. Kui jätate otsiku sinna kauaks, kuumenevad juhtmed ja see ei tundu eriti hea. 2. samm. Kasutage dremeli tööriista, viili või kursuse liivapaberit, lihvige paari ühe külje servad tasaseks, nii istuge teise paari kõrval. Ma lihvisin valgusdioode, et aidata valgust veidi hajutada. Nüüd painutage juhtmeid, nagu näidatud. Seda protsessi on raske pildistada, kuid põhimõtteliselt painutage positiivseid juhtmeid väljapoole. Painutage negatiivsed juhtmed lamestatud külgede ja sirge ülespoole, nii et kui panete kaks paari kokku, tulevad neli negatiivset juhet kokku ühe suure juhtmena. Võttes kaks paari, hoidke neid koos. Negatiivsed tihvtid on kõik keskel. Puudutage neid jootekolviga, et need kõik kokku sulatada. 3. samm. Nüüd, kui neli negatiivset juhet on kokku joodetud, kinnitage neist kolm, jättes ainult ühe. Nüüd painutage üks positiivsetest juhtmetest nelja LED -i välispinna ümber, jootke iga ühenduse juures. Lõigake kõik positiivsed juhtmed peale ühe, jättes ühe positiivse ja ühe negatiivse juhtme. Olete valmis! Nüüd tehke veel kaks:] Kui teil on kolm nelja LED -i, on aeg need taskulambi helkurisse sobitada. Ostsin selle taskulambi 3 dollari eest dollaripoest. See on karm ja kõik osad keerduvad üksteisest lahti, nii et kõikidele osadele on lihtne juurde pääseda. Kasutan hõbedast helkurit ja musta koonust tagasi. Musta koonuse saab metallosadelt eemaldada, jättes ainult plastiku. Seda kasutatakse hiljem pirni kinnitamiseks reguleeritava kaela külge. Sõltuvalt leitud taskulambist peate oma LED -id reguleeritavale kaelale erinevalt sobitama. Proovisin leida üldist taskulampi, mis oleks saadaval paljudes kohtades. 4. samm: kasutasin helkuril kolme ava laiendamiseks dremeli. Seejärel lükkasin kõik neli nelja LED -i oma aukudesse negatiivsete juhtmetega seestpoolt. Painutage ja jootke negatiivsed ja positiivsed juhtmed kokku, täites kolmekordse LED -pirni! Seejärel jootsin kahe pika õhukese juhtme külge, mis hiljem reguleeritava kaela alla söödetakse ja põhiplaadi külge joodetakse. Samuti panin igale neljakordsele LED -paketile veidi liimi, et veenduda, et need püsivad paigal.

Samm: reguleeritav kael ja alus

Reguleeritav kael ja põhi
Reguleeritav kael ja põhi
Reguleeritav kael ja põhi
Reguleeritav kael ja põhi
Reguleeritav kael ja põhi
Reguleeritav kael ja põhi

Reguleeritav kael Äratuskella tekitatava "päikesevalguse" suunamiseks otsustasin lisada reguleeritava kaela. Alguses arvasin, et saan kaela jaoks kasutada torujuhtmeid, kuid kuna mul on ülikoolis piiratud tööriistade ja riistvaraga, ei suutnud ma seda väga hästi aluse külge kinnitada. Lisaks oli seda üsna raske painutada ega kohanenud liiga hästi. Lõppkokkuvõttes kasutasin ainult ühte juhtmest toru sees. Tuli päris hea välja. Suutsin selle ilma riistvarata kinnitada, lihtsalt aluses olev auk. Alustasin sellest, et võtsin torust ühe juhtme ja keerasin selle välispinna ümber, luues kena spiraali. Seejärel keerasin juhtmest torust lahti. Seejärel venitasin selle välja ja ühendasin selle musta koonusega, mida ma varem mainisin. Musta koonuse juurde kuulub taskulambi külge ühendatud skeem, kuid see on kergesti eemaldatav. Nüüd, kui teil on lihtsalt plastikust koonus, tehke servadele kaks auku, millest igaüks on piisavalt suur, et traat läbi mahuks. Toitsin selle üles ja siis alla ja teiselt poolt välja, keerates selle alla. Seejärel kasutasin toru õhukest painduvat traati selle edasiseks kinnitamiseks. Kaks pikka jootet, mis olid varem joodetud, saab musta koonuse kaudu tagasi toita ja pirni oma kohale keerata. Lisasin natuke liimi, et see kinni hoida. Alus Reguleeritava kaela kinnitamiseks puurisin puidust alusse 7/64 tolli augu ja torkasin traadi sisse. See sobib päris tihedalt, nii et liimi pole vaja, kuid see on piisavalt lahti, nii et kael oleks keeratud ja väänatud. Kaks LED -juhet saab mähkida kaela ja joota prototüüpplaadi külge. Plaadi kinnitamiseks kasutasin nelja trükkplaadi kinnitust. Mul oli keermetrell saadaval, kuid see polnud vajalik. Kui teil pole keermeotsikut, puurige lihtsalt kruvist väiksem auk ja keerake see mõne tangiga sisse. Kinnitasin kella mõne takjapaela abil aluse külge. Ma ei keeranud seda maha, kuna minu kellal on aku varukoopia ja kui aku tühjeneb, tuleb see välja vahetada. Lõpuks lisasin nurkadele mõned kummijalad.

6. samm: programm

Programm
Programm

ATMega168 programmeerimiseks USB -ühenduse ja Arduino plaadiga vajate ATMega168 kiipi, millel on juba Arduino alglaadur. See oli lihtsaim viis mikrokontrolleri programmeerimiseks. Kui ostsin oma plaadi, võtsin sama tarnija alglaaduriga kaasa täiendava ATMega168. Võimalik, et peate eelprogrammeeritud kiibi eest natuke rohkem maksma, kuid see oli mulle seda väärt, kuna ma ei tahtnud jadakaabli adapteritega jms segada. Olen lisanud koodi.txt-failina ja.pde-na faili. Ma ei tahtnud seda koodi kaua postitavaks muuta, postitades kogu koodi. Kasutasin viimast Arduino programmeerimiskeskkonda: arduino-0015. Mulle meeldib Arduino tahvlite puhul see, et keskkonnaga on kaasas palju näiteid, programmikeskkond on tasuta ning seal on palju projekti- ja abilehti. Samuti on üli lihtne ehitada eralduslaud, et oma programmi iseseisvalt käivitada. Proovisin koodi võimalikult hästi kommenteerida, nii et kirjeldused oleksid minimaalsed. Kasutasin BARRAGANi näidet "Fading LED", et tutvuda ATMega168 võimelise impulsi laiuse modulatsiooniga (PWM). Mul on kolm "kui" väidet. Esimene tuhmus madalama hämaruse korral (0–75 255-st) aeglasemalt, kuna kõrgem tase tundub sama. Teine tuhmub ülemises hämaruses kiiremini. Kogu tuhmumine protsessis võtab 15 minutit. Kui valgusdioodid on saavutanud täieliku heleduse, mängitakse lauluahelat, kuni alarm välja lülitatakse. Algne häire oli üsna tüütu. See oli lihtsalt tüüpiline äratuskella heli, mida kõik vihkavad. Mõtlesin, miks mitte kasutada kõlarit meeldiva laulu tegemiseks, mille peale ärgata? Kuna mu tüdruksõber armastab The Beatlesi ja ma teadsin, et Hey Jude'il on üsna lihtne meloodia, otsustan seda kasutada. Tekitatakse ruutlaine ja seejärel kasutatakse PWM -i, et mängida piesoelektrilise kõlari Hey Jude noote. Loo programmeerimiseks manipuleerisin Arduino keskkonna näidetest pärineva näitega "Meloodia". Leidsin lihtsa noodi ja tõlkisin selle koodi märkmetesse. Pidin suurendama mängitavate nootide arvu 41 -ni ja tegema matemaatika, et välja selgitada madalam noot kui pakutav c -täht. Seejärel implanteerisin selle koodi oma põhikoodi. Kiibi programmeerimiseks peate esmalt installima Arduino keskkonnaga kaasasolevad USB -draiverid. Seejärel valige rippmenüüst oma tahvel ja valige sobiv COM -port. Kogu seda protsessi kirjeldatakse üksikasjalikult siin: https://arduino.cc/en/Guide/WindowsJa see ongi kõik! Pärast ATMega168 programmeerimist saab selle Arduino'st välja võtta ja hüpata prototüüpi!

Samm 7: Järeldus

Järeldus
Järeldus
Järeldus
Järeldus
Järeldus
Järeldus

Võimalikud täiustused Pärast päikesetõusu alarmi lõpetamist tegin mõningaid parandusi või lisavõimalusi, mida oleksin saanud lisada. Üks idee, mille ma välja pakkusin, oli lüliti, mis lülitas pirni täisheledusele, nii et seda saaks kasutada lugemislampina. Häireheli sisse- või väljalülitamiseks võiks kasutada teist lülitit. Trükkplaat oleks võinud olla ka palju väiksem. Mul oli just see üks ümber ja otsustasin selle ühes tükis jätta. Lõpptoode Siin see on! Olen lisanud paar pilti sellest, kuidas see välja näeb, kui tuled kustuvad. Tegin ka mõne video äratusest, mis mängis Hey Jude'i. Jällegi, kui teil on selle projekti kohta küsimusi, küsige lihtsalt, mulle meeldib aidata!

Soovitan: