Tartalomjegyzék:

Megvilágított ajándékok: 5 lépés (képekkel)
Megvilágított ajándékok: 5 lépés (képekkel)

Videó: Megvilágított ajándékok: 5 lépés (képekkel)

Videó: Megvilágított ajándékok: 5 lépés (képekkel)
Videó: ELSZÍVTAM ÉLETEM ELSŐ CIGIJÉT. vagy nyalókáját? #shorts 2024, Július
Anonim
Világos ajándékok
Világos ajándékok

Otthon két megvilágított ajándékunk van, amelyeket a karácsonyi időszakban használnak. Ezek egyszerű megvilágított ajándékok, 2 színű piros-zöld LED-et használva, amelyek véletlenszerűen megváltoztatják a színt, amely elhalványul és elhalványul. A készüléket egy 3 voltos gombelem táplálja. Ez utóbbi volt az oka ennek a projektnek, mivel az akkumulátor nagyon gyorsan lemerül, ha az ajándékokat hosszabb ideig kapcsolják be.

Annak érdekében, hogy megakadályozzam a hatalmas mennyiségű gombelem használatát, három újratölthető AAA elem segítségével saját verziómat terveztem. Ez a verzió RGB LED -et használ, így a kék is lehetséges, de ez nem volt része az eredeti kialakításnak. Az én verzióm a következő funkciókkal rendelkezik:

  • A Control 2 egyidejűleg egy PIC12F617 mikrokontrollert használ. A mikrokontroller szoftver JAL programozási nyelven íródott.
  • Kapcsolja be és ki a jelenséget egy nyomógombbal. Az eredeti verzió ehhez kapcsolót használt, de a nyomógombot könnyebb használni.
  • Véletlenszerűen változtassa meg az ajándékok színét a piros és a zöld szín be- és kihalványításával.
  • Kapcsolja ki az ajándékokat, ha az akkumulátor feszültsége 3,0 V alá csökken. Ez megakadályozza, hogy az újratölthető elemek túlságosan lemerüljenek.

Egy szín elhalványulása után a LED egy ideig 3 másodperc és 20 másodperc között világít. Mivel még mindig a nem használt kék LED volt nálam, hozzáadtam azt a funkciót, hogy mindkét csomag kékre vált, amikor az idő pontosan 10 másodperc. Ez nem gyakran fordul elő, mivel a véletlenszerű idő 40 milliszekundumos időzítő -kullancsokban generálódik, amint azt később leírtuk.

1. lépés: Néhány elmélet a be- és kihalásról az impulzusszélesség-moduláció használatával

A legjobb módja annak, hogy megváltoztassuk a LED fényerejét, nem a LED -en átfolyó áram megváltoztatásával, hanem a LED bekapcsolási idejének megváltoztatásával egy bizonyos időintervallumon belül. Ezt a módot a LED fényerejének szabályozására Pulse Width Modulation (PWM) néven hívják, amelyet már többször leírtak az interneten, pl. Wikipédia.

A PIC és az Arduino speciális PWM hardverekkel rendelkezik, amelyek megkönnyítik a PWM jel előállítását, de gyakran egy kimenettel rendelkeznek, így csak egy LED -et vezérelhet. Ennél a verziónál 5 LED -et kellett vezérelnem (2 piros, 2 zöld és 1 kombinált kék), ezért a PWM -et szoftveresen kellett elvégezni egy időzítő segítségével, amely a PWM frekvenciát és a PWM működési ciklust egyaránt generálja.

A PIC12F617 beépített időzítővel rendelkezik, automatikus újratöltési lehetőséggel. Ez azt jelenti, hogy miután beállította az időzítő újratöltési értékét, az ezt az értéket fogja használni minden alkalommal, amikor az időtúllépés letelt, és így az időzítő önállóan, meghatározott frekvencián működik. Mivel az időzítés kritikus fontosságú a stabil PWM jelhez, az időzítő megszakítás alapján működik, nem befolyásolja azt az időt, amelyet a fő programnak ellenőriznie kell és meg kell határoznia a LED-ek véletlenszerű bekapcsolási idejét.

A PWM frekvenciának elég magasnak kell lennie ahhoz, hogy megakadályozza a villogást, ezért 100 Hz -es PWM frekvenciát választottam. A fade-in és fade-out hatás érdekében meg kell változtatnunk a működési ciklust és így a LED fényerejét. Úgy döntöttem, hogy 5-ös lépést használok a fényerő növelésére vagy csökkentésére a fade-in és fade-out hatás elérése érdekében, és mivel az időzítő 0 és 255 közötti tartományt használ a működési ciklushoz, az időzítőnek 255 / 5 = a normál frekvencia 51 -szerese vagy 5100 Hz. Ennek eredményeként időzítő megszakítás történik minden 196 -ban.

2. lépés: A mechanikai munka

A gépészeti munka
A gépészeti munka
A gépészeti munka
A gépészeti munka
A gépészeti munka
A gépészeti munka

Az ajándékok elkészítéséhez tejfehér akril műanyagot használtam, a többi részhez pedig MDF-et. Annak érdekében, hogy ne lássa a csomagolásban lévő LED alakját, amikor a LED világít, a LED -ek tetejére borítót helyezek, amely eloszlatja a fényt a LED -től. Ez a borítás néhány régi elektronikus gyertyámból származott, de nálam is készíthet burkolatot ugyanazon akril műanyag használatával. A képeken látható, hogy mit használtam felszerelésként és anyagként.

3. lépés: Az elektronika

Az elektronika
Az elektronika
Az elektronika
Az elektronika
Az elektronika
Az elektronika
Az elektronika
Az elektronika

A vázlatos diagram a szükséges elektronikus alkatrészeket mutatja. Amint korábban említettük, 5 LED -et egymástól függetlenül vezérelnek, ha a kék LED kombinálva van. Mivel a PIC nem tud két LED -et meghajtani egy porttűre, hozzáadtam egy tranzisztorral a kombinált kék LED -ek vezérlésére. Az elektronika 3 AAA újratölthető elemmel működik, és a reset kapcsoló megnyomásával be- vagy kikapcsolható.

A projekthez a következő elektronikus alkatrészekre van szüksége:

  • 1 PIC mikrokontroller 12F617 foglalattal
  • 2 kerámia kondenzátor: 2 * 100nF
  • Ellenállások: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
  • 2 RGB LED, nagy fényerő
  • 1 BC557 tranzisztor vagy azzal egyenértékű
  • 1 nyomógombos kapcsoló

Az áramkört kenyérsütő táblára építheti, és nem igényel sok helyet, amint az a képen is látható. Elgondolkodhat azon, hogy miért olyan alacsonyak az ellenállásértékek a maximális áram szabályozására a LED -eken keresztül. Ennek oka az alacsony 3,6 V -os tápfeszültség, valamint az egyes LED -ek feszültségcsökkenése, amely a LED -ek színétől függ, lásd még: Wikepedia. Az ellenállásértékek LED -enként körülbelül 15 mA maximális áramot eredményeznek, ahol az egész rendszer maximális árama 30 mA körül van.

4. lépés: A szoftver

A szoftver a következő feladatokat látja el:

Amikor az eszközt a nyomógombbal visszaállítja, akkor bekapcsolja a készüléket, ha ki volt kapcsolva, vagy kikapcsolja a készüléket, ha be volt kapcsolva. A kikapcsolt állapot azt jelenti, hogy a PIC12F617 készüléket alvó üzemmódba állítja, amelyben alig fogyaszt energiát.

A LED -ek fényerejének szabályozásához generálja a PWM jelet. Ez egy időzítő és egy megszakítási szolgáltatási rutin használatával történik, amely vezérli a PIC12F617 csapjait, akik be- és kikapcsolják a LED -eket.

Fade-in és fade-out a LED-ek, és tartsa bekapcsolva véletlenszerűen 3 és 20 másodperc között. Ha a véletlenszerű idő 10 másodperc, akkor mindkét LED 10 másodpercig kéken világít, majd a normál piros-zöld fade-in és fade-out mintát használja.

Működés közben a PIC a fedélzeti analóg-digitális átalakító (ADC) segítségével méri a tápfeszültséget. Ha ez a feszültség 3,0 V alá csökken, a LED -ek kikapcsolnak, és a PIC ismét alvó üzemmódba kapcsol. A PIC 3,0 V -nál még jól működhet, de nem jó, ha az újratölthető elemek teljesen lemerülnek.

Amint azt korábban említettük, a PWM jelet egy olyan időzítővel hozzák létre, amely megszakítási szolgáltatási rutint használ, hogy megtartsa a stabil PWM jelet. A LED-ek elhalványulását és elhalványulását, beleértve a LED-ek bekapcsolásának idejét, a fő program vezérli. Ez a fő program 40 ezredmásodperces időzítő kullancsot használ, amely ugyanabból az időzítőből származik, amely létrehozza a PWM jelet.

Mivel ezúttal nem használtam konkrét JAL könyvtárat ehhez a projekthez, egy véletlenszerű generátort kellett készítenem egy lineáris visszacsatolási eltolásregiszter segítségével a LED -ek véletlenszerű és véletlenszerű kikapcsolási idejének előállításához.

5. lépés: A végeredmény

Image
Image
A végeredmény
A végeredmény

2 videó mutatja a köztes eredményt. A feleségemnek még mindig át kell változtatnia a kockákat valódi ajándékokká. Az egyik videó az eredmény közeli képét mutatja, a másik videó pedig az eredeti jelennel együtt, amely ehhez a projekthez vezetett.

Amint azt elvárhatja, amikor úgy gondolja, hogy kész, új követelmények jelennek meg. A feleségem azt kérdezte, hogy a LED -ek fényessége is változhat -e, miután elhalványultak. Ez természetesen lehetséges, mivel a PIC12F617 programmemóriájának csak a felét használtam fel.

A JAL forrásfájl és az Intel Hex fájl a PIC programozásához csatolva van. Ha szeretné használni a PIC mikrokontrollert a JAL -mal - Pascal -szerű programozási nyelvvel -, látogasson el a JAL webhelyére.

Jó szórakozást ehhez az utasításhoz, és várom a reakciókat és az eredményeket.

Ajánlott: