Osvetljeni darilci: 5 korakov (s slikami)
Osvetljeni darilci: 5 korakov (s slikami)
Anonim
Osvetljena darila
Osvetljena darila

Doma imamo dva osvetljena darila, ki jih uporabljamo v božičnem času. To so preprosta osvetljena darila z 2-barvno rdeče-zeleno LED, ki naključno spreminjajo barvo, ki zbledi in izgine. Napravo napaja 3 -voltna gumbna celica. Slednje je bil povod za ta projekt, saj se baterija zelo hitro izprazni, ko so darila dalj časa vklopljena.

Da bi preprečil uporabo ogromne količine gumbnih baterij, sem oblikoval svojo različico s tremi polnilnimi baterijami AAA. Ta različica uporablja LED RGB, zato je možna tudi modra, vendar to ni bilo del prvotne zasnove. Moja različica ima naslednje funkcije:

  • Control 2 predstavlja hkrati z enim mikrokrmilnikom PIC12F617. Programska oprema za mikrokrmilnik je bila napisana v programskem jeziku JAL.
  • Vklopite in izklopite sedanjost s pritiskom na gumb. Prvotna različica je v ta namen uporabljala stikalo, vendar je bila uporaba tipke lažja.
  • Barvo daril naključno spremenite tako, da z rdečimi in zelenimi barvami zbledijo in izginejo.
  • Izklopite darila, ko napetost akumulatorja pade pod 3,0 volta. S tem preprečite, da bi se akumulatorske baterije preveč izpraznile.

Po tem, ko ena barva zbledi, LED še nekaj časa sveti nekje med 3 in 20 sekundami. Ker sem še imel neuporabljeno modro LED, sem dodal funkcijo, da bosta oba paketa postala modra, ko bo čas vklopa natančno 10 sekund. To se ne zgodi pogosto, saj se naključni čas ustvari v časovnih presledkih 40 milisekund, kot je opisano kasneje.

Korak 1: Nekaj teorije o povečevanju in zmanjševanju z uporabo modulacije širine impulza

Najboljši način za spreminjanje svetlosti LED ni spreminjanje toka, ki teče skozi LED, temveč spreminjanje časa, ko LED sveti v določenem časovnem intervalu. Ta način nadzora svetlosti LED se imenuje pulzno širinska modulacija (PWM), ki je bil večkrat opisan na internetu, npr. Wikipedija.

PIC in Arduino imata vgrajeno posebno strojno opremo PWM, ki olajša ustvarjanje tega signala PWM, vendar imajo pogosto za to en izhod, zato lahko upravljate samo eno LED. Za to različico sem moral nadzorovati 5 LED (2 rdeči, 2 zeleni in 1 kombinirano modro), zato je bilo treba PWM izvesti v programski opremi s časovnikom, ki ustvarja tako frekvenco PWM kot tudi delovni cikel PWM.

PIC12F617 ima vgrajen časovnik z možnostjo samodejnega nalaganja. To pomeni, da bo enkrat, ko nastavite vrednost ponovnega zagona časovnika, to vrednost uporabil vsakič, ko bo potekla časovna omejitev, zato bo časovnik deloval samostojno pri določeni frekvenci. Ker je časovni interval ključnega pomena za stabilen signal PWM, časovnik deluje na podlagi prekinitev in nanj ne vpliva čas, ki ga mora glavni program nadzirati in določiti naključni čas vklopa LED.

Frekvenca PWM mora biti dovolj visoka, da prepreči utripanje, zato sem izbrala frekvenco PWM 100 Hz. Za učinek vpadanja in izginjanja moramo spremeniti delovni cikel in tako svetlost LED. Odločil sem se, da za povečanje ali zmanjšanje svetlosti uporabim korak 5 za povečanje ali zmanjšanje svetlosti, zato da časovnik uporablja časovni razpon od 0 do 255, mora časovnik delovati pri 255 / 5 = 51 -kratna normalna frekvenca ali 5100 Hz. Posledica tega je, da časovnik prekine vsakih 196 nas.

2. korak: Mehansko delo

Mehansko delo
Mehansko delo
Mehansko delo
Mehansko delo
Mehansko delo
Mehansko delo

Za izdelavo daril sem uporabil mlečno belo akrilno plastiko, za preostanek postavitve pa MDF. Da preprečim, da bi videl obliko LED v embalaži, ko je LED prižgana, sem na vrhu LED pokril pokrov, ki odseva svetlobo od LED. Ta ovitek je prišel iz nekaterih starih elektronskih sveč, ki sem jih imel, lahko pa ga ustvarite tudi z uporabo iste akrilne plastike. Na slikah vidite, kaj sem uporabil kot opremo in material.

3. korak: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Shematski diagram prikazuje elektronske komponente, ki jih potrebujete. Kot smo že omenili, 5 LED diod upravljamo neodvisno, če je kombinirana modra LED. Ker PIC ne more poganjati dveh LED na enem priključku, sem dodal tranzistor za krmiljenje kombiniranih modrih LED. Elektroniko napajajo 3 baterije za ponovno polnjenje AAA in jih lahko vklopite ali izklopite s pritiskom na stikalo za ponastavitev.

Za ta projekt potrebujete naslednje elektronske komponente:

  • 1 mikrokrmilnik PIC 12F617 z vtičnico
  • 2 keramični kondenzatorji: 2 * 100nF
  • Upori: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
  • 2 RGB LED, visoka svetlost
  • 1 tranzistor BC557 ali enakovreden
  • 1 stikalo z gumbom

Vezje lahko zgradite na plošči in ne zahteva veliko prostora, kot je razvidno iz slike. Morda se sprašujete, zakaj so vrednosti uporov za nadzor največjega toka skozi LED tako nizke. To je posledica nizke napajalne napetosti 3,6 V v kombinaciji s padcem napetosti, ki jo ima vsaka LED, kar je odvisno od barve na LED, glej tudi Wikepedia. Vrednosti upora povzročajo največji tok okoli 15 mA na LED, kjer je največji tok celotnega sistema okoli 30 mA.

4. korak: programska oprema

Programska oprema opravlja naslednje naloge:

Ko napravo ponastavite s pritiskom na gumb, bo naprava vklopljena, če je bila izklopljena, ali naprava, če je bila vklopljena. Izklop pomeni preklop PIC12F617 v stanje mirovanja, v katerem skoraj ne porabi energije.

Ustvarite signal PWM za nadzor svetlosti LED. To se naredi s časovnikom in servisno rutino prekinitev, ki nadzoruje nožice PIC12F617, ki ob vklopu in izklopu LED diod.

Vklopite in izklopite LED in jih držite naključno med 3 in 20 sekundami. Če je naključni čas enak 10 sekund, bosta obe LED-lučki 10 sekund modri, nato pa se uporabi običajen rdeče-zelen vzorec vhoda in izklopa.

Med delovanjem bo PIC meril napajalno napetost s pomočjo vgrajenega analogno-digitalnega pretvornika (ADC). Ko ta napetost pade pod 3,0 V, bo LED izklopil in PIC ponovno preklopil v stanje spanja. PIC bi lahko še vedno dobro deloval pri 3.0 V, vendar ni dobro, da se baterije za polnjenje popolnoma izpraznijo.

Kot smo že omenili, se signal PWM ustvari s časovnikom, ki uporablja rutino prekinitvenih storitev, da ohrani stabilen signal PWM. Zmanjšanje in izginjanje LED, vključno s časom, ko LED svetijo, nadzoruje glavni program. Ta glavni program uporablja časovnik 40 milisekund, ki izhaja iz istega časovnika, ki ustvarja signal PWM.

Ker za ta projekt nisem uporabil nobenih posebnih knjižnic JAL, sem moral narediti naključni generator z linearnim povratnim registrom za generiranje naključnega časa in časa naključnega izklopa LED.

5. korak: Končni rezultat

Image
Image
Končni rezultat
Končni rezultat

Obstajata 2 videoposnetka, ki prikazujeta vmesni rezultat. Moja žena mora še vedno spremeniti kocke v prava darila. En videoposnetek prikazuje rezultat od blizu, drugi video pa prikazuje izvirno sedanjost, ki je pripeljala do tega projekta.

Kot lahko pričakujete, ko mislite, da ste končali, se odprejo nove zahteve. Moja žena je spraševala, ali se lahko svetlost LED tudi spremeni, ko so zbledele. To je seveda mogoče, saj sem porabil le približno polovico programskega pomnilnika PIC12F617.

Priloženi sta izvorna datoteka JAL in datoteka Intel Hex za programiranje PIC. Če vas zanima uporaba mikrokrmilnika PIC z JAL - programskim jezikom podobnim Pascalu - obiščite spletno mesto JAL.

Uživajte v izdelavi tega navodila in se veselimo vaših odzivov in rezultatov.