Valaistut esitykset: 5 vaihetta (kuvilla)
Valaistut esitykset: 5 vaihetta (kuvilla)
Anonim
Valaistut lahjat
Valaistut lahjat

Kotona meillä on kaksi valaistua lahjaa, joita käytetään jouluna. Nämä ovat yksinkertaisia valaistuja lahjoja, joissa käytetään 2-väristä puna-vihreää LED-valoa ja jotka vaihtavat satunnaisesti väriä, joka häivyy ja sammuu. Laite saa virtaa 3 voltin painikkeella. Jälkimmäinen oli syynä tähän hankkeeseen, koska akku tyhjenee hyvin nopeasti, kun lahjat kytketään päälle pidempään.

Suurten napiparistojen käytön estämiseksi suunnittelin oman versioni käyttämällä kolmea ladattavaa AAA -paristoa. Tämä versio käyttää RGB -LEDiä, joten sininen on myös mahdollista, mutta se ei ollut osa alkuperäistä suunnittelua. Versiossa on seuraavat toiminnot:

  • Ohjaus 2 esitetään samanaikaisesti yhdellä PIC12F617 -mikrokontrollerilla. Mikro -ohjainohjelmisto on kirjoitettu JAL -ohjelmointikielellä.
  • Kytke nykyinen virta päälle ja pois painamalla painiketta. Alkuperäinen versio käytti tähän tarkoitukseen kytkintä, mutta painike oli helpompi käyttää.
  • Vaihda satunnaisesti lahjojen väriä häivyttämällä ja häivyttämällä punaiset ja vihreät värit.
  • Sammuta lahjat, kun akun jännite laskee alle 3,0 voltin. Tämä estää ladattavien paristojen tyhjenemisen liikaa.

Yhden värin häipymisen jälkeen LED palaa jonkin aikaa 3 sekunnista 20 sekuntiin. Koska minulla oli vielä käyttämätön sininen LED, lisäsin ominaisuuden, että molemmat paketit muuttuvat sinisiksi, kun käyttöaika on täsmälleen 10 sekuntia. Tämä ei tapahdu kovin usein, koska satunnainen aika generoidaan 40 millisekunnin ajastinpisteissä, kuten myöhemmin kuvataan.

Vaihe 1: Joitakin teorioita häipymisestä ja häipymisestä pulssileveysmodulaation avulla

Paras tapa muuttaa LED -valon kirkkautta ei ole muuttaa LEDin läpi kulkevaa virtaa, vaan muuttaa LED -valon syttymisaikaa tietyn ajan kuluessa. Tätä tapaa ohjata LEDin kirkkautta kutsutaan pulssinleveysmodulaatioksi (PWM), jota on kuvattu useita kertoja Internetissä, esim. Wikipedia.

PIC: llä ja Arduinolla on erityinen PWM -laitteisto, joka helpottaa tämän PWM -signaalin luomista, mutta niillä on usein yksi lähtö tähän, joten voit ohjata vain yhtä LEDiä. Tätä versiota varten minun piti ohjata 5 LEDiä (2 punaista, 2 vihreää ja 1 yhdistetty sininen), joten PWM oli tehtävä ohjelmistossa käyttämällä ajastinta, joka tuottaa sekä PWM -taajuuden että PWM -käyttöjakson.

PIC12F617: ssä on sisäinen ajastin, jossa on automaattinen latausominaisuus. Tämä tarkoittaa, että kun olet asettanut ajastimen uudelleenlatausarvon, se käyttää tätä arvoa aina, kun aikakatkaisu on kulunut, ja ajastin toimii itsenäisesti määrätyllä taajuudella. Koska ajoitus on kriittinen vakaalle PWM-signaalille, ajastin toimii keskeytysperiaatteella, eikä se vaikuta siihen aikaan, jonka pääohjelman on ohjattava ja määritettävä LEDien satunnainen on-time.

PWM -taajuuden on oltava riittävän korkea välttääkseen välkkymistä, joten valitsin 100 Hz: n PWM -taajuuden. Häivytys- ja häivytysvaikutusta varten meidän on muutettava käyttöjaksoa ja siten LEDin kirkkautta. Päätin käyttää 5 askeleen lisäystä kirkkauden lisäämiseksi tai vähentämiseksi saadakseen häivytys- ja häivytysvaikutuksen, ja koska ajastin käyttää toimintajaksoa 0–255, ajastimen on käytävä 255 / 5 = 51 kertaa normaali taajuus tai 5100 Hz. Tämän seurauksena ajastin keskeytyy joka 196.

Vaihe 2: Mekaaninen työ

Mekaaninen työ
Mekaaninen työ
Mekaaninen työ
Mekaaninen työ
Mekaaninen työ
Mekaaninen työ

Lahjojen valmistuksessa käytin maitovalkoista akryylimuovia ja loppuosassa MDF-levyä. Jotta LED -valon muoto ei näy pakkauksessa, kun LED on päällä, asetan LED -valojen päälle kannen, joka hajottaa LED -valon. Tämä kansi tuli joistakin vanhoista elektronisista kynttilöistä, mutta voit myös luoda kannen käyttämällä samaa akryylimuovia. Kuvissa näet, mitä käytin laitteina ja materiaalina.

Vaihe 3: Elektroniikka

Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka

Kaavio näyttää tarvitsemasi elektroniset komponentit. Kuten aiemmin mainittiin, 5 LEDiä ohjataan itsenäisesti, kun sininen LED on yhdistetty. Koska PIC ei voi ajaa kahta LEDiä yhteen porttiin, lisäsin transistorin yhdistettyjen sinisten LEDien ohjaamiseen. Elektroniikka saa virtansa 3 AAA -paristosta, ja sen voi kytkeä päälle tai pois painamalla nollauskytkintä.

Tätä projektia varten tarvitset seuraavat elektroniset komponentit:

  • 1 PIC -mikrokontrolleri 12F617 pistorasialla
  • 2 keraamista kondensaattoria: 2 * 100 nF
  • Vastukset: 1 * 33 k, 1 * 4 k7, 2 * 68 ohmia, 4 * 22 ohmia
  • 2 RGB -LEDiä, korkea kirkkaus
  • 1 BC557 -transistori tai vastaava
  • 1 painonappikytkin

Voit rakentaa piirin leipälevylle, eikä se vaadi paljon tilaa, kuten kuvassa näkyy. Saatat ihmetellä, miksi vastusarvot maksimivirran ohjaamiseksi LEDien kautta ovat niin alhaiset. Tämä johtuu alhaisesta 3,6 voltin syöttöjännitteestä yhdessä kunkin LEDin jännitehäviön kanssa, joka riippuu LED -valon väristä, katso myös Wikepedia. Vastusarvot johtavat noin 15 mA: n maksimivirtaan LEDiä kohti, kun koko järjestelmän maksimivirta on noin 30 mA.

Vaihe 4: Ohjelmisto

Ohjelmisto suorittaa seuraavat tehtävät:

Kun laite nollataan painikkeella, se käynnistää laitteen, jos se oli pois päältä, tai sammuttaa laitteen, jos se oli päällä. Pois päältä tarkoittaa PIC12F617: n asettamista lepotilaan, jossa se tuskin kuluttaa virtaa.

Luo PWM -signaali LEDien kirkkauden säätämiseksi. Tämä tehdään ajastimella ja keskeytyspalvelurutiinilla, joka ohjaa PIC12F617 -nastat, jotka puolestaan kytkevät LEDit päälle ja pois.

Häivytä ja häivytä LEDit ja pidä ne päällä satunnaisesti 3–20 sekuntia. Jos satunnainen aika on 10 sekuntia, molemmat LEDit muuttuvat sinisiksi 10 sekunniksi, minkä jälkeen käytetään normaalia puna-vihreää häivytys- ja häivytyskuviota.

Käytön aikana PIC mittaa syöttöjännitteen käyttäen sisäistä analogista digitaalimuunninta (ADC). Kun tämä jännite putoaa alle 3,0 V: n, LED -valot sammuvat ja PIC siirtyy uudelleen lepotilaan. PIC voi silti toimia hyvin 3,0 V: n jännitteellä, mutta ei ole hyvä, että ladattavat paristot tyhjenevät kokonaan.

Kuten aiemmin mainittiin, PWM -signaali luodaan ajastimella, joka käyttää keskeytyspalvelurutiinia vakaan PWM -signaalin säilyttämiseksi. Pääohjelma ohjaa LED-valojen häipymistä ja häipymistä, mukaan lukien LED-valojen syttymisaika. Tämä pääohjelma käyttää 40 millisekunnin ajastinkärkeä, joka on peräisin samasta ajastimesta, joka luo PWM -signaalin.

Koska en käyttänyt tähän projektiin mitään erityisiä JAL -kirjastoja, jouduin tällä kertaa tekemään satunnaisgeneraattorin käyttämällä lineaarista takaisinkytkentäsiirtorekisteriä LEDien satunnaisen ja satunnaisen sammumisajan luomiseksi.

Vaihe 5: Lopputulos

Image
Image
Lopullinen tulos
Lopullinen tulos

On 2 videota, jotka näyttävät välituloksen. Vaimoni täytyy vielä muuttaa kuutiot todellisiksi lahjoiksi. Yhdessä videossa näkyy lähikuva tuloksesta, kun taas toisessa videossa se näkyy alkuperäisen läsnäolon kanssa, joka johtaa tähän projektiin.

Kuten voit odottaa, kun luulet olevasi valmis, uusia vaatimuksia tulee esiin. Vaimoni pyysi, voiko LEDien kirkkaus vaihdella myös niiden häipymisen jälkeen. Tämä on tietysti mahdollista, koska käytin vain noin puolta PIC12F617: n ohjelmamuistista.

JAL -lähdetiedosto ja Intel Hex -tiedosto PIC: n ohjelmoimiseksi ovat liitteenä. Jos olet kiinnostunut käyttämään PIC -mikrokontrolleria JAL: n kanssa - Pascal -kaltainen ohjelmointikieli - käy JAL -verkkosivustolla.

Pidä hauskaa tämän ohjeen tekemisestä ja odotan reaktioita ja tuloksia.