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, Srpanj
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 bilo je razlog za ovaj projekt jer se baterija vrlo brzo prazni kada se pokloni dulje uključuju.

Kako bih spriječio upotrebu velike količine baterija s gumbima, 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 izvornog 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 gumb. Izvorna verzija koristila je prekidač u tu svrhu, no pritiskom na gumb bilo je lakše koristiti.
  • Nasumično promijenite boju poklona postupnim utapanjem i izblijedjenjem boja crvene i zelene.
  • Isključite poklone kada napon baterije padne ispod 3,0 Volta. Time ćete spriječiti previše pražnjenje punjivih baterija.

Nakon blijeđenja jedne boje, LED dioda ostaje uključena neko vrijeme između 3 i 20 sekundi. Budući da sam još uvijek imao neiskorištenu plavu LED diodu, dodao sam značajku 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 pulsne širinske modulacije

Najbolji način da promijenite svjetlinu LED diode nije promjenom struje koja teče kroz LED diodu, već promjenom vremena uključenja LED diode 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. Wikipedija.

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 timera koji generira i frekvenciju PWM -a, kao i radni ciklus PWM -a.

PIC12F617 ima ugrađeni mjerač vremena s mogućnostima automatskog ponovnog učitavanja. To znači da nakon što postavite vrijednost ponovnog učitavanja timera, on će tu vrijednost upotrijebiti svaki put kad istekne timeout, 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, na što ne utječe vrijeme koje je potrebno glavnom programu za kontrolu i određivanje slučajnog 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 pojačavanje i smanjivanje efekta moramo promijeniti radni ciklus, a time i svjetlinu LED diode. Odlučio sam upotrijebiti korak koraka od 5 za povećanje ili smanjenje svjetline kako bih postigao efekt fade-in i fade-out, a budući da mjerač vremena koristi raspon od 0 do 255 za radni ciklus, mjerač vremena 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 vrh LED -a koji odbija svjetlo od LED -a. Ovaj omot je došao od nekih starih elektroničkih svijeća koje sam imao, ali možete stvoriti i omot koristeći istu akrilnu plastiku. Na slikama vidite ono što sam koristio kao opremu i materijal.

Korak 3: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Shematski dijagram prikazuje potrebne elektroničke komponente. Kao što je ranije spomenuto, 5 LED dioda se neovisno upravljaju gdje se kombinira plava LED. Budući da PIC ne može pokretati dvije LED diode na jednom priključku, dodao sam tranzistor za upravljanje kombiniranim plavim LED diodama. Elektronika se napaja iz 3 AAA punjive baterije i može se uključiti ili isključiti pritiskom na prekidač za resetiranje.

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

  • 1 PIC mikrokontroler 12F617 s 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 matičnoj ploči i ne zahtijeva puno prostora, kao što se može vidjeti na slici. Možda se pitate zašto su vrijednosti otpornika za kontrolu maksimalne struje kroz LED diode tako niske. To je zbog niskog opskrbnog napona 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 sustava oko 30 mA.

Korak 4: Softver

Softver obavlja sljedeće zadatke:

Kada se uređaj resetira pritiskom na gumb, uređaj će se uključiti ako je bio isključen ili će se isključiti ako je bio uključen. Isključeno znači prebacivanje 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 prilikom uključivanja i isključivanja 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 će se koristiti uobičajeni crveno-zeleni obrazac ugađanja i gašenja.

Tijekom 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 ponovno 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 mjerača vremena koji koristi rutinu prekida za održavanje stabilnog PWM signala. Uključivanje i gašenje LED dioda, uključujući vrijeme dok su LED diode uključene, kontrolira glavni program. Ovaj glavni program koristi mjerač vremena od 40 milisekundi, izveden iz istog timera koji stvara PWM signal.

Budući da ovaj put nisam koristio nikakve posebne JAL knjižnice za ovaj projekt, morao sam napraviti generator slučajnih vrijednosti koristeći linearni povratni registar za generiranje nasumičnog vremena 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, pojavit će se novi zahtjevi. Moja je supruga tražila može li se svjetlina LED dioda mijenjati i nakon što su izblijedjele. To je naravno moguće jer sam koristio samo polovicu programske memorije PIC12F617.

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

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

Preporučeni: