Sisukord:

Valgustatud kingitused: 5 sammu (piltidega)
Valgustatud kingitused: 5 sammu (piltidega)

Video: Valgustatud kingitused: 5 sammu (piltidega)

Video: Valgustatud kingitused: 5 sammu (piltidega)
Video: TANTSUKINGAD - Laulupesa ja Shate tantsukooli lapsed 2024, Juuli
Anonim
Valgustatud kingitused
Valgustatud kingitused

Meil on kodus kaks valgustatud kingitust, mida kasutatakse jõuluajal. Need on lihtsad valgustatud kingitused, kasutades kahevärvilist punakasrohelist LED-i, mis juhuslikult muudavad värvi, mis tuhmub ja kustub. Seadme toiteallikaks on 3 -voldine nupuelement. Viimane oli selle projekti põhjuseks, kuna aku tühjeneb väga kiiresti, kui kingitused pikemaks ajaks sisse lülitatakse.

Et vältida tohutu hulga nööpelementide kasutamist, kujundasin oma versiooni, kasutades kolme laetavat AAA patareid. See versioon kasutab RGB LED -i, nii et ka sinine on võimalik, kuid see ei olnud algse disaini osa. Minu versioonil on järgmised funktsioonid:

  • Kontroll 2 esitleb samal ajal ühte PIC12F617 mikrokontrollerit. Mikrokontrolleri tarkvara oli kirjutatud JAL programmeerimiskeeles.
  • Lülitage olevik sisse ja välja nupuvajutusega. Algne versioon kasutas selleks lülitit, kuid nupp oli hõlpsamini kasutatav.
  • Muutke kingituste värvi juhuslikult, muutes punase ja rohelise värvi sisse ja välja.
  • Lülitage kingitused välja, kui aku pinge langeb alla 3,0 volti. See hoiab ära akude liigse tühjenemise.

Pärast ühe värvi tuhmumist jääb valgusdiood põlema mõneks ajaks 3–20 sekundi vahele. Kuna mul oli veel kasutamata sinine LED, lisasin funktsiooni, et mõlemad pakendid muutuvad siniseks, kui sisselülitusaeg on täpselt 10 sekundit. Seda ei juhtu väga sageli, kuna juhuslik aeg genereeritakse 40 millisekundilise taimeriga, nagu hiljem kirjeldatud.

Samm: mõni teooria sisse- ja hääbumise kohta impulsi laiuse modulatsiooni abil

Parim viis LED -i heleduse muutmiseks ei ole LED -i läbiva voolu muutmine, vaid LED -i sisselülitusaja muutmine teatud ajavahemiku jooksul. Seda LED -i heleduse reguleerimise viisi nimetatakse impulsi laiuse modulatsiooniks (PWM), mida on Internetis mitu korda kirjeldatud, nt. Vikipeedia.

PIC -il ja Arduino pardal on spetsiaalne PWM -riistvara, mis muudab selle PWM -signaali genereerimise lihtsaks, kuid neil on sageli üks väljund ja seega saate juhtida ainult ühte LED -i. Selle versiooni puhul pidin juhtima 5 valgusdioodi (2 punast, 2 rohelist ja 1 kombineeritud sinist), seega tuli PWM teha tarkvaras, kasutades taimerit, mis genereerib nii PWM sageduse kui ka PWM töötsükli.

PIC12F617-l on automaatse laadimise võimalustega pardataimer. See tähendab, et kui olete taimeri uuesti laadimisväärtuse määranud, kasutab see seda väärtust iga kord, kui aeg on möödunud, ja nii töötab taimer eraldi sagedusel. Kuna ajastus on stabiilse PWM-signaali jaoks kriitilise tähtsusega, töötab taimer katkestuste põhimõttel, kuid seda ei mõjuta aeg, mida põhiprogramm peab juhtima ja määrama LED-ide juhusliku õigeaegse toimimise.

PWM -sagedus peab olema piisavalt kõrge, et vältida värelemist ja seetõttu valisin PWM -sageduse 100 Hz. Fade-in ja fade-out efekti jaoks peame muutma töötsüklit ja seega ka LED-i heledust. Otsustasin heleduse suurendamiseks või vähendamiseks kasutada astmelist sammu 5, et saada sisse- ja väljalülitusefekt ning kuna taimer kasutab töötsükli jaoks vahemikku 0 kuni 255, peab taimer töötama kiirusel 255 / 5 = 51 korda tavalisest sagedusest või 5100 Hz. Selle tulemusel katkestatakse taimer iga 196 USA järel.

2. etapp: mehaaniline töö

Mehaaniline töö
Mehaaniline töö
Mehaaniline töö
Mehaaniline töö
Mehaaniline töö
Mehaaniline töö

Kingituste tegemiseks kasutasin piimavalget akrüülplastikut ja ülejäänud seadistamisel MDF-i. Vältimaks, et näete pakendis LED -i kuju, kui LED on sisse lülitatud, panin LED -de peale katte, mis hajutab LED -valgust. See kate tuli mõnest vanast elektroonilisest küünlast, mis mul oli, kuid saate ka katte luua sama akrüülplasti abil. Piltidel näete, mida kasutasin varustuse ja materjalina.

3. samm: elektroonika

Elektroonika
Elektroonika
Elektroonika
Elektroonika
Elektroonika
Elektroonika
Elektroonika
Elektroonika

Skemaatiline diagramm näitab vajalikke elektroonilisi komponente. Nagu varem mainitud, juhitakse sinist LED -i kombineerides 5 LED -i iseseisvalt. Kuna PIC ei saa ühe pordi tihvtiga kahte LED -i juhtida, lisasin kombineeritud siniste LED -de juhtimiseks transistori. Elektroonika töötab 3 AAA laetava patareiga ja seda saab sisse või välja lülitada, vajutades lähtestuslülitit.

Selle projekti jaoks vajate järgmisi elektroonilisi komponente:

  • 1 PIC -mikrokontroller 12F617 pistikupesaga
  • 2 keraamilist kondensaatorit: 2 * 100 nF
  • Takistid: 1 * 33k, 1 * 4k7, 2 * 68 oomi, 4 * 22 oomi
  • 2 RGB LED -d, kõrge heledus
  • 1 BC557 transistor või samaväärne
  • 1 vajutusnupp

Ahela saate ehitada leivaplaadile ja see ei nõua palju ruumi, nagu on näha pildilt. Võite küsida, miks takistite väärtused LED -ide kaudu maksimaalse voolu juhtimiseks on nii madalad. Selle põhjuseks on madal toitepinge 3,6 volti koos iga LED -i pingelangusega, mis sõltub LED -i värvist, vt ka Wikepedia. Takisti väärtused annavad maksimaalse voolu umbes 15 mA LED -i kohta, kusjuures kogu süsteemi maksimaalne vool on umbes 30 mA.

Samm 4: Tarkvara

Tarkvara täidab järgmisi ülesandeid:

Kui seade lähtestatakse nupu abil, lülitab see seadme sisse, kui see oli välja lülitatud, või lülitab seadme välja, kui see oli sisse lülitatud. Väljas tähendab PIC12F617 lülitamist unerežiimi, kus see peaaegu ei tarbi energiat.

Valgusdioodide heleduse reguleerimiseks genereerige PWM -signaal. Selleks kasutatakse taimerit ja katkestusteenust, mis juhib PIC12F617 kontakte, kes lülitavad LED -id sisse ja välja.

Fade-in ja fade-out LED ja hoida neid põlema juhusliku ajavahemikus 3 kuni 20 sekundit. Kui juhuslik aeg võrdub 10 sekundiga, muutuvad mõlemad LED-id 10 sekundiks siniseks, seejärel kasutatakse tavalist punakasrohelist sisse- ja väljalülitusmustrit.

Töötamise ajal mõõdab PIC toitepinget sisseehitatud analoog-digitaalmuunduri (ADC) abil. Kui see pinge langeb alla 3,0 V, lülitab see LED -id välja ja lülitab PIC -i uuesti unerežiimi. PIC võib endiselt hästi töötada ka 3,0 V pingel, kuid see ei ole hea, kui laetavad akud on täielikult tühjenenud.

Nagu varem mainitud, luuakse PWM -signaal taimeriga, mis kasutab katkestusteenust, et säilitada stabiilne PWM -signaal. Põhiprogramm juhib LED-ide tuhmumist ja kustumist, sealhulgas LED-ide sisselülitamise aega. See põhiprogramm kasutab 40 millisekundilise taimeriga linnukest, mis on saadud samast taimerist, mis loob PWM -signaali.

Kuna ma ei kasutanud seekord selle projekti jaoks ühtegi konkreetset JAL -i teeki, pidin tegema juhusliku generaatori, kasutades lineaarset tagasiside nihkeregistrit, et genereerida valgusdioodide juhuslikku ja juhuslikku väljalülitusaega.

5. samm: lõpptulemus

Image
Image
Lõpptulemus
Lõpptulemus

On 2 videot, mis näitavad vahetulemust. Mu naine peab ikkagi kuubikud tegelikeks kingitusteks muutma. Üks video näitab tulemuse lähivõtet, teine video seda koos algse kingitusega, mis viis selle projektini.

Nagu arvate, et olete valmis, ilmuvad uued nõuded. Mu naine küsis, kas valgusdioodide heledus võib ka pärast tuhmumist erineda. See on muidugi võimalik, kuna kasutasin ainult umbes poole PIC12F617 programmimälust.

Lisatud on JAL -i lähtefail ja Intel Hex -fail PIC -i programmeerimiseks. Kui olete huvitatud PIC -mikrokontrolleri kasutamisest koos JAL -iga - Pascali -laadse programmeerimiskeelega - külastage JAL -i veebisaiti.

Lõbutsege selle juhendi tegemisel ja oodake teie reaktsioone ja tulemusi.

Soovitan: