Sadržaj:

Osvijetljeni pokloni: 5 koraka (sa slikama)
Osvijetljeni pokloni: 5 koraka (sa slikama)

Video: Osvijetljeni pokloni: 5 koraka (sa slikama)

Video: Osvijetljeni pokloni: 5 koraka (sa slikama)
Video: Крутой Сериал! За Первого Встречного 12 серия! 2024, Juli
Anonim
Osvijetljeni pokloni
Osvijetljeni pokloni

Kod kuće imamo dva osvijetljena poklona koja se koriste za vrijeme Božića. Ovo su jednostavni osvijetljeni pokloni koji koriste dvobojno crveno-zeleno LED svjetlo koje nasumično mijenja boju koje blijedi i nestaje. Uređaj se napaja pomoću ćelije s gumbom od 3 Volta. Ovo posljednje je bio razlog ovog projekta jer se baterija vrlo brzo prazni kada se pokloni dulje uključuju.

Kako bih spriječio upotrebu velike količine dugmastih baterija, dizajnirao sam vlastitu verziju koristeći tri punjive AAA baterije. Ova verzija koristi RGB LED pa je moguća i plava boja, ali to nije bio dio originalnog dizajna. Moja verzija ima sljedeće funkcije:

  • Kontrola 2 predstavlja se istovremeno koristeći jedan mikrokontroler PIC12F617. Softver za mikrokontroler napisan je u programskom jeziku JAL.
  • Uključivanje i isključivanje poklona pritiskom na dugme. Originalna verzija koristila je prekidač u tu svrhu, ali je bilo lakše koristiti dugme.
  • Nasumično mijenjajte boju poklona postupnim utapanjem i iščezavanjem crvene i zelene boje.
  • Isključite poklone kada napon baterije padne ispod 3,0 Volta. To će spriječiti previše pražnjenje punjivih baterija.

Nakon što se jedna boja pojavi, LED dioda ostaje uključena neko vrijeme između 3 i 20 sekundi. Budući da sam još imao neiskorištenu plavu LED diodu, dodao sam mogućnost da će oba paketa postati plava kada vrijeme uključivanja bude točno 10 sekundi. To se ne događa često jer se slučajno vrijeme generira u vremenskim oznakama od 40 milisekundi kako je kasnije opisano.

Korak 1: Nekoliko teorija o povećanju i smanjivanju korištenja modulacije širine impulsa

Najbolji način da promijenite svjetlinu LED diode nije promjenom struje koja teče kroz LED diodu, već promjenom vremena kada LED dioda svijetli u određenom vremenskom intervalu. Ovaj način kontrole svjetline LED diode naziva se Pulse Width Modulation (PWM) koji je više puta opisan na internetu, npr. Wikipedia.

PIC i Arduino imaju poseban PWM hardver na ploči koji pojednostavljuje generiranje ovog PWM signala, ali često imaju jedan izlaz za to pa možete kontrolirati samo jednu LED. Za ovu verziju morao sam kontrolirati 5 LED dioda (2 crvene, 2 zelene i 1 kombiniranu plavu) pa je PWM trebalo raditi u softveru pomoću tajmera koji generira i frekvenciju PWM -a, kao i radni ciklus PWM -a.

PIC12F617 ima ugrađeni mjerač vremena sa mogućnostima automatskog ponovnog učitavanja. To znači da nakon što postavite vrijednost ponovnog učitavanja tajmera, on će koristiti tu vrijednost svaki put kad je isteklo vrijeme, pa tajmer radi samostalno na određenoj frekvenciji. Budući da je mjerenje vremena kritično za stabilan PWM signal, mjerač vremena radi na prekidu, bez utjecaja vremena koje je glavnom programu potrebno za kontrolu i određivanje nasumičnog vremena uključivanja LED dioda.

PWM frekvencija mora biti dovoljno visoka da spriječi bilo kakvo treperenje, pa sam odabrao PWM frekvenciju od 100 Hz. Za efekte postepenog i postepenog ulaska moramo promijeniti radni ciklus, pa tako i svjetlinu LED diode. Odlučio sam upotrijebiti korak po korak za povećanje ili smanjenje svjetline kako bih postigao efekt postepenog i postepenog umanjivanja, a budući da mjerač vremena koristi raspon od 0 do 255 za radni ciklus, tajmer mora raditi na 255 / 5 = 51 puta normalna frekvencija ili 5100 Hz. To rezultira timerom koji prekida svakih 196 nas.

Korak 2: Mehanički rad

Mehanički rad
Mehanički rad
Mehanički rad
Mehanički rad
Mehanički rad
Mehanički rad

Za izradu poklona koristila sam bijelu akrilnu plastiku, a za ostatak sam koristila MDF. Kako bih spriječio da vidite oblik LED -a u pakiranju kada je LED uključen, stavio sam poklopac na vrhu LED -a koji odbija svjetlo od LED -a. Ovaj omot je došao od nekih starih elektronskih svijeća koje sam imao, ali možete napraviti i omot koristeći istu akrilnu plastiku. Na slikama vidite ono što sam koristio kao opremu i materijal.

Korak 3: Elektronika

The Electronics
The Electronics
The Electronics
The Electronics
The Electronics
The Electronics
The Electronics
The Electronics

Shematski dijagram prikazuje potrebne elektroničke komponente. Kao što je ranije spomenuto, 5 LED dioda se kontroliraju neovisno gdje se kombinira plava LED. Budući da PIC ne može pokretati dvije LED diode na jednom priključku priključka, dodao sam tranzistor za kontrolu kombiniranih plavih LED dioda. Elektroniku napajaju 3 AAA punjive baterije i mogu se uključiti ili isključiti pritiskom na prekidač za resetiranje.

Za ovaj projekt trebate sljedeće elektroničke komponente:

  • 1 PIC mikrokontroler 12F617 sa utičnicom
  • 2 keramička kondenzatora: 2 * 100nF
  • Otpornici: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
  • 2 RGB LED diode, visoke svjetline
  • 1 tranzistor BC557 ili ekvivalent
  • 1 prekidač na dugme

Krug možete izgraditi na ploči i ne zahtijeva puno prostora, kao što se može vidjeti na slici. Možda ćete se zapitati zašto su vrijednosti otpornika za kontrolu maksimalne struje kroz LED diode tako niske. To je zbog niskog napona napajanja od 3,6 V u kombinaciji s padom napona koji ima svaka LED dioda, što ovisi o boji po LED, također vidjeti Wikepedia. Vrijednosti otpornika rezultiraju maksimalnom strujom od oko 15 mA po LED, gdje je maksimalna struja cijelog sistema oko 30 mA.

Korak 4: Softver

Softver obavlja sljedeće zadatke:

Kada se uređaj resetira pritiskom na gumb, on će se uključiti ako je bio isključen ili će se isključiti ako je bio uključen. Isključeno znači stavljanje PIC12F617 u stanje mirovanja u kojem jedva troši energiju.

Generirajte PWM signal za kontrolu svjetline LED dioda. To se radi pomoću mjerača vremena i servisne rutine prekida koja kontrolira pinove PIC12F617 koji pri uključivanju i isključivanju LED dioda.

Ugasite i ugasite LED diode i držite ih uključene nasumično između 3 i 20 sekundi. Ako je slučajno vrijeme jednako 10 sekundi, obje LED diode će svijetliti plavo 10 sekundi nakon čega se koristi uobičajeni crveno-zeleni obrazac za postepeno utapanje i gašenje.

Tokom rada PIC će mjeriti napon napajanja pomoću ugrađenog analogno-digitalnog pretvarača (ADC). Kad napon padne ispod 3,0 V, isključit će LED diode i PIC će se ponovo prebaciti u stanje mirovanja. PIC bi i dalje mogao dobro raditi na 3.0 V, ali nije dobro da se punjive baterije potpuno isprazne.

Kao što je ranije spomenuto, PWM signal se stvara pomoću tajmera koji koristi rutinu prekida za održavanje stabilnog PWM signala. Uključivanje i gašenje LED dioda, uključujući vrijeme kada su LED diode uključene, kontrolira glavni program. Ovaj glavni program koristi mjerač vremena od 40 milisekundi, izveden iz istog tajmera koji stvara PWM signal.

Budući da ovaj put nisam koristio nikakve posebne JAL biblioteke za ovaj projekt, morao sam napraviti slučajni generator koristeći linearni povratni registar za generiranje slučajnog uključivanja i vremena slučajnog isključivanja LED dioda.

Korak 5: Konačni rezultat

Image
Image
Konačni rezultat
Konačni rezultat

Postoje 2 videozapisa koji prikazuju srednji rezultat. Moja žena još mora promijeniti kockice u stvarne poklone. Jedan video prikazuje izbliza rezultat gdje drugi video prikazuje originalnu prezentaciju koja je dovela do ovog projekta.

Kao što možete očekivati kada mislite da ste završili, pojavljuju se novi zahtjevi. Moja supruga je pitala može li svjetlina LED dioda varirati i nakon što su ugašene. To je naravno moguće jer sam koristio samo oko polovine programske memorije PIC12F617.

Priložene su JAL izvorna datoteka i Intel Hex datoteka za programiranje PIC -a. Ako ste zainteresirani za korištenje PIC mikrokontrolera s JAL -om - programskim jezikom sličnim Pascalu - posjetite web stranicu JAL -a.

Zabavite se čineći ovaj Instructable i radujemo se vašim reakcijama i rezultatima.

Preporučuje se: