Dhurata të ndriçuara: 5 hapa (me fotografi)
Dhurata të ndriçuara: 5 hapa (me fotografi)
Anonim
Dhurata të ndriçuara
Dhurata të ndriçuara

Në shtëpi kemi dy dhurata të ndriçuara të cilat përdoren gjatë periudhës së Krishtlindjeve. Këto janë dhurata të thjeshta të ndriçuara duke përdorur një LED me 2 ngjyra të kuqe-jeshile që ndryshojnë rastësisht ngjyrën e cila venitet dhe zbehet. Pajisja mundësohet nga një qelizë butoni 3 Volt. Ky i fundit ishte arsyeja për këtë projekt pasi bateria është e varfëruar shumë shpejt kur dhuratat ndizen për një kohë më të gjatë.

Për të parandaluar përdorimin e një sasie të madhe të baterive me qeliza butoni, unë hartova versionin tim duke përdorur tre bateri AAA të rimbushshme. Ky version përdor një LED RGB, kështu që bluja është gjithashtu e mundur, por kjo nuk ishte pjesë e modelit origjinal. Versioni im ka funksionet e mëposhtme:

  • Kontrolli 2 paraqet në të njëjtën kohë duke përdorur një mikrokontrollues PIC12F617. Softueri i mikrokontrolluesit është shkruar në gjuhën e programimit JAL.
  • Ndizni dhe fikni pajisjen duke përdorur një buton shtytës. Versioni origjinal përdori një ndërprerës për atë qëllim, por një buton shtypi ishte më i lehtë në përdorim.
  • Ndryshoni rastësisht ngjyrën e dhuratave duke u zbehur dhe zbehur nga ngjyrat e kuqe dhe jeshile.
  • Fikni dhuratat kur voltazhi i baterisë bie nën 3.0 Volt. Kjo do të parandalojë që bateritë e rimbushshme të shkarkohen shumë.

Pasi zbehet-në një ngjyrë, LED qëndron ndezur për një kohë diku midis 3 sekondave dhe 20 sekondave. Meqenëse ende kisha LED blu të papërdorur shtova funksionin që të dy paketat do të kthehen në blu kur koha në kohë të jetë saktësisht 10 sekonda. Kjo nuk ndodh shumë shpesh pasi koha e rastësishme gjenerohet në rriqrat e kohëmatësit prej 40 milisekonda siç përshkruhet më vonë.

Hapi 1: Disa teori rreth zbehjes dhe zbehjes duke përdorur modulimin e gjerësisë së pulsit

Mënyra më e mirë për të ndryshuar shkëlqimin e një LED nuk është duke ndryshuar rrymën që rrjedh përmes LED, por duke ndryshuar kohën kur LED është ndezur brenda një intervali të caktuar kohor. Kjo mënyrë e kontrollit të shkëlqimit të një LED quhet Pulse Width Modulation (PWM) e cila është përshkruar disa herë në internet, p.sh. Wikipedia.

PIC dhe Arduino kanë pajisje speciale PWM në bord që e bëjnë të thjeshtë gjenerimin e këtij sinjali PWM, por ato shpesh kanë një dalje për këtë dhe kështu ju mund të kontrolloni vetëm një LED. Për këtë version më duhej të kontrolloja 5 LED (2 të kuqe, 2 jeshile dhe 1 blu të kombinuar) kështu që PWM duhej të bëhej në softuer duke përdorur një kohëmatës i cili gjeneron si frekuencën PWM ashtu edhe ciklin e punës PWM.

PIC12F617 ka një kohëmatës në bord me aftësi të rimbushjes automatike. Kjo do të thotë që sapo të vendosni vlerën e rimbushjes së kohëmatësit, ai do ta përdorë atë vlerë sa herë që ka kaluar afati kohor dhe kështu kohëmatësi funksionon vetëm në një frekuencë të caktuar. Meqenëse koha është kritike për një sinjal të qëndrueshëm PWM, kohëmatësi funksionon në një bazë ndërprerjeje, duke mos u ndikuar nga koha që programi kryesor ka nevojë për të kontrolluar dhe përcaktuar në kohë të rastit për LED.

Frekuenca e PWM duhet të jetë mjaft e lartë për të parandaluar shfaqjen e ndonjë dridhjeje dhe kështu zgjodha një frekuencë PWM prej 100 Hz. Për efektin e zbehjes dhe zbehjes ne duhet të ndryshojmë ciklin e punës dhe kështu shkëlqimin e LED. Vendosa të përdor një rritje prej 5 për të rritur ose ulur shkëlqimin për të marrë efektin e zbehjes dhe zbehjes dhe meqenëse kohëmatësi përdor një gamë prej 0 deri në 255 për ciklin e punës, kohëmatësi duhet të funksionojë në 255 / 5 = 51 herë frekuenca normale ose 5100 Hz. Kjo rezulton në një ndërprerës të kohëmatësit çdo 196 ne.

Hapi 2: Puna mekanike

Puna Mekanike
Puna Mekanike
Puna Mekanike
Puna Mekanike
Puna Mekanike
Puna Mekanike

Për të bërë dhuratat kam përdorur plastikë të bardhë akrilike qumështi dhe për pjesën tjetër të strukturës kam përdorur MDF. Për të parandaluar që të shihni formën e LED në paketë kur LED është ndezur, unë vendos një mbulesë në krye të LED -ve që shpërndan dritën nga LED. Kjo mbulesë erdhi nga disa qirinj të vjetër elektronikë që kisha, por gjithashtu mund të krijoni një mbulesë duke përdorur të njëjtën plastikë akrilike. Në fotografi ju shihni atë që kam përdorur si pajisje dhe material.

Hapi 3: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Diagrami skematik tregon përbërësit elektronikë që ju nevojiten. Siç u përmend më herët 5 LED kontrollohen në mënyrë të pavarur aty ku kombinohet LED blu. Meqenëse PIC nuk mund të drejtojë dy LED në një pin port, shtova një transistor për kontrollin e LED -ve të kombinuara blu. Elektronika mundësohet nga 3 bateri të rimbushshme AAA dhe mund të ndizet ose fiket duke shtypur çelësin e rivendosjes.

Për këtë projekt ju duhen komponentët elektronikë të mëposhtëm:

  • 1 mikrokontrollues PIC 12F617 me prizë
  • 2 Kondensatorë qeramikë: 2 * 100nF
  • Rezistentët: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
  • 2 LED RGB, shkëlqim i lartë
  • 1 tranzistor BC557 ose ekuivalent
  • 1 ndërprerës butoni

Ju mund ta ndërtoni qarkun në një pjatë dhe nuk kërkon shumë hapësirë, siç mund të shihet në foto. Ju mund të pyesni pse vlerat e rezistencës për kontrollin e rrymës maksimale përmes LED -ve janë kaq të ulëta. Kjo është për shkak të tensionit të ulët të furnizimit prej 3.6 Volt në kombinim me rënien e tensionit që ka secila LED, e cila varet nga ngjyra për LED, gjithashtu shihni Wikepedia. Vlerat e rezistencës rezultojnë në një rrymë maksimale prej rreth 15 mA për LED, ku rryma maksimale e të gjithë sistemit është rreth 30 mA.

Hapi 4: Softueri

Softueri kryen detyrat e mëposhtme:

Kur pajisja të rivendoset me butonin shtypës, do ta ndezë pajisjen nëse ishte e fikur ose do ta fik pajisjen nëse ishte e ndezur. Fikur do të thotë ta vendosësh PIC12F617 në modalitetin e gjumit, në të cilin ai pothuajse nuk konsumon asnjë energji.

Gjeneroni sinjalin PWM për të kontrolluar shkëlqimin e LED -ve. Kjo bëhet duke përdorur një kohëmatës dhe një rutinë të shërbimit të ndërprerë që kontrollon kunjat e PIC12F617 të cilët kur ndizin dhe fikin LED -të.

Zbehni dhe zbehni LED-të dhe mbajini të ndezura për një kohë të rastësishme midis 3 dhe 20 sekonda. Nëse koha e rastësishme është e barabartë me 10 sekonda, të dy LED-të do të kthehen në blu për 10 sekonda, pas së cilës përdoret modeli normal i kuq-jeshil i zbehjes dhe zbehjes.

Gjatë funksionimit, PIC do të masë tensionin e furnizimit duke përdorur konvertuesin analog në dixhital në bord (ADC). Kur ky tension të bjerë nën 3.0 V, ai do të fikë LED -të dhe do ta vendosë PIC -in përsëri në modalitetin e gjumit. PIC ende mund të funksionojë mirë në 3.0 V, por nuk është mirë që bateritë e rimbushshme të shkarkohen plotësisht.

Siç u përmend më herët sinjali PWM krijohet duke përdorur një kohëmatës që përdor një rutinë shërbimi ndërprerjeje për të mbajtur një sinjal të qëndrueshëm PWM. Zbehja dhe zbehja e LED-ve duke përfshirë kohën kur LED janë ndezur, kontrollohet nga programi kryesor. Ky program kryesor përdor një shënues të kohëmatësit prej 40 milisekonda, që rrjedh nga i njëjti kohëmatës që krijon sinjalin PWM.

Meqenëse nuk kam përdorur ndonjë bibliotekë specifike JAL për këtë projekt, kësaj radhe më është dashur të bëj një gjenerator të rastësishëm duke përdorur një regjistër zhvendosjeje të reagimeve lineare për të gjeneruar kohën e rastësishme në kohë dhe çaktivizimin e LED -ve.

Hapi 5: Rezultati Përfundimtar

Image
Image
Rezultati Përfundimtar
Rezultati Përfundimtar

Ka 2 video që tregojnë rezultatin e ndërmjetëm. Gruaja ime ende ka nevojë të ndryshojë kubet në dhurata aktuale. Njëra video tregon një përmbledhje të rezultatit ku videoja tjetër e tregon atë me dhuratën origjinale të cilat çojnë në këtë projekt.

Siç mund ta prisni kur mendoni se keni mbaruar, shfaqen kërkesa të reja. Gruaja ime po kërkonte nëse shkëlqimi i LED -ve gjithashtu mund të ndryshojë pasi të jenë zbehur. Kjo është e mundur natyrisht pasi kam përdorur vetëm rreth gjysmën e kujtesës së programit të PIC12F617.

Skedari burimor JAL dhe skedari Intel Hex për programimin e PIC janë bashkangjitur. Nëse jeni të interesuar të përdorni mikrokontrolluesin PIC me JAL - një gjuhë programimi si Pascal - vizitoni faqen e internetit të JAL.

Argëtohuni duke e bërë këtë të udhëzueshëm dhe mezi pres reagimet dhe rezultatet tuaja.