Kazalo:

Interaktivna zunanja svetloba: 8 korakov
Interaktivna zunanja svetloba: 8 korakov

Video: Interaktivna zunanja svetloba: 8 korakov

Video: Interaktivna zunanja svetloba: 8 korakov
Video: TEN INCREDIBLE HUMANOID ENCOUNTERS 2024, Julij
Anonim
Interaktivna ambientalna svetloba
Interaktivna ambientalna svetloba
Interaktivna ambientalna svetloba
Interaktivna ambientalna svetloba
Interaktivna ambientalna svetloba
Interaktivna ambientalna svetloba

To je moj prvi pouk! Prosim, zdrži me, ko se trudim napisati ustrezno angleščino. Popravite me! Ta projekt sem začel takoj po tem, ko se je začelo tekmovanje 'Naj sveti'. Želim si, da bi naredil veliko več in končal tisto, kar sem želel narediti. Toda med šolo in službo mi ni ostalo toliko časa, kot sem si želel. Kljub temu puščam poročilo o svojih poskusih kot pouk, tako da lahko vsak poskusi narediti, kar sem naredil. Ta navodila niso mišljena kot vodilo in poučevanje, kako narediti to napravo. To ni priročnik za začetnike v elektroniki. To je bolj kot deljenje ene ideje in cilja, ki ga želim uresničiti. Če ste začetnik/popolnoma nevedni v elektroniki in želite narediti kaj takega, mi je žal! Lahko pa vam vedno poskušamo pomagati. Oglejte si zadnji korak. Videli smo že veliko projektov ambientalne svetlobe. Večina jih uporablja RGB LED: - za osvetlitev sobe z eno barvo, nastavitev vzdušja, ki ustreza vašemu razpoloženju - za ustvarjanje svetlobnih učinkov iz barve televizorja/monitorja ali zvoka. Na spletnem mestu instructables.com jih je celo nekaj: Povezani: Sistemi ambientalne svetlobe DIYSvetlinska ambientalna razsvetljavaUstvarjanje lastnih barvnih svetlobnih palic v okolici S tem natečajem sem kot izgovor začel projekt, ki mi je že nekaj časa padel na pamet. Vedno sem si želel narediti nekaj podobnega tem ambientalnim svetilkam in napolniti stene v svoji sobi z RGB LED diodami. Če pa naredimo korak naprej, naredimo vse in vsakega izmed njih obvladljivega. Upamo, da bo ta projekt ustvaril odprtokodni elektronski komplet za ljubitelje in elektronske rešilce, ki bo omogočil vdor strojne/programske opreme in senzorično integracijo. Tukaj je majhen predogled tega, kar sem naredil:

1. korak: Raziščite idejo

Želim napolniti stene v svoji sobi z RGB LED diodami, ki nadzorujejo barvo in svetlost vsakega LED -ja. Za lažjo uporabo in prilagodljivost bom uporabil mikrokrmilnik. Na žalost ne morem nadzorovati na stotine LED z nekaj zatiči, ki so na voljo na mikrokrmilnikih. Težko bi bilo celo kodirati krmiljenje toliko LED, zato sem se odločil, da bom vse LED diode razdelil na več manjših stolpcev in za vsako vrstico lahko uporabim mikrokrmilnik. Nato bi uporabil komunikacijske sposobnosti mikrokrmilnikov za izmenjavo informacij med njimi. Ti podatki so lahko barva in svetlost LED, vzorci/zaporedja barv in senzorične informacije. Za vsako vrstico sem se odločil uporabiti 16 LED RGB. Posledično ni niti prevelika niti majhna palica. Na ta način uporabljam sprejemljivo število virov za vsak LED, kar zmanjšuje stroške za vsako palico. Kljub temu je 16 LED RGB 48 LED (3*16 = 48) za nadzor mikrokrmilnika. Glede na stroške sem se odločil za uporabo najcenejši mikrokrmilnik, ki sem ga lahko uporabil. To pomeni, da bo mikrokrmilnik imel le do 20 V/I zatičev, kar ni dovolj za 48 LED -jev. Ne želim uporabljati charlieplexinga ali neke vrste časovno razdeljenega pogona, saj je cilj projekta osvetliti sobo. alternativa, na katero bi se lahko spomnil, je uporaba neke vrste zaklenjenega registra premikov!

2. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Kot je bilo rečeno v prejšnjem koraku, želim narediti več palic za osvetlitev ene sobe. Tako se spomnite vprašanja stroškov. Potrudil se bom, da bo vsak stolpec čim bolj stroškovno učinkovit. Mikrokrmilnik, ki sem ga uporabil, je bil AVR ATtiny2313. Te so precej poceni in nekaj sem jih ležal. ATtiny2313 ima tudi en univerzalni serijski vmesnik in en vmesnik USART, ki se bosta dobro uporabila v naslednjih korakih. Imel sem tudi tri MCP23016 - I2C 16 -bitni V/I priključek za razširitev, le pravo število! Vsak razširitelj vrat sem uporabil za nadzor ene barve 16 LED. LED diode … Žal so bile najcenejše, kar sem jih našel. Imajo 48 rdečih, zelenih in modrih ~ 10000mcd 5 mm s kotom 20 stopinj. Zaenkrat to ne bi smelo biti pomembno, saj je to le en prototip. Kljub temu je rezultat zelo lep! Mikrokontroler poganjam pri 8 MHz. Vodilo I2C deluje pri 400 kHz. Preklopna frekvenca LED je približno 400 Hz. Na ta način, če bom sposoben poganjati 48 LED, ne da bi ga potisnil do skrajnosti, bom kasneje naredil prostor za več!

3. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Po načrtovanju vezja sem ga za namene izdelave prototipov vgradil v več plošč. Po nekaj urah rezanja žic in sestavljanja vezja sem dobil naslednji rezultat: Ena velika plošča s 48 LED diodami in tonami žice!

4. korak: Nadzor?

Nadzor?
Nadzor?

To je najzahtevnejši del projekta. Želel sem narediti en nadzorni algoritem, ki je dovolj generičen za ravnanje z vzorci/zaporedji ter tudi za nadzor svetlosti in barve vsake LED. Za nadzor LED moram poslati na MCP23016 en okvir s 4 bajti (1 bajt = 8 bitov). En bajt z naslovom dopisnika IC do barve, 1 bajt z ukazom "write" in 2 bajta z vrednostjo 16 bitov (LED). IC je povezan z LED diodami kot "umivalnik", kar pomeni, da bo ena lučka na zatiču prižgala LED. In zdaj zahteven del, kako narediti nadzor PWM za 48 LED? Preučimo PWM za eno LED! PWM je pojasnil na Wikipediji. Če želim svetlost LED pri 50%, je moja vrednost PWM 50%. To pomeni, da mora LED v določenem časovnem obdobju sveti enako dolgo kot ugasnjena. Vzemimo si obdobje 1 sekunde. PWM 50% pomeni, da je v tej 1 sekundi čas vklopa 0,5 sekunde, čas izklopa pa 0,5 sekunde. PWM 80%? 0,2 sekunde izklopa, 0,8 sekunde vklopljeno! V digitalnem svetu: V obdobju 10 ciklov ure 50% pomeni, da LED za 5 ciklov sveti, za nadaljnjih 5 ciklov pa LED ne sveti. 20%? 2 cikla vklopljena, 8 ciklov izklopljena. 45%? No, res ne moremo dobiti 45%… Ker je obdobje v ciklih in imamo samo 10 ciklov, lahko PWM razdelimo le na korake 10%. To pomeni, da bi moral biti razvoj zatiča za 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Ali celo 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Pri programiranju lahko naredimo to zaporedje vklopa in izklopa matrike. Za vsak cikel, ki ga izpeljemo na pin, je bila vrednost indeksa cikel. Ali sem imel doslej smiselno? Če želimo narediti LED0 50%, LED1 pa 20%, lahko dodamo obe matriki. Za pogon LED0 pin: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Za pogon vtiča LED1: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; Kot rezultat LED0 +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Če prikažemo to zaporedje števil v IC razširitelju vrat, bi dobili LED0 s 50% svetlostjo in LED1 z 20% !! Enostavno za 2 LED, kajne? Zdaj moramo to narediti za 16 LED za vsako barvo! Za vsako od teh nizov imamo kombinacijo svetlosti za vsako barvo (16 LED) Vsakič, ko želimo drugo kombinacijo barv, moramo to matriko spremeniti.

5. korak: Olajšajte

Olajšajte!
Olajšajte!
Olajšajte!
Olajšajte!

Prejšnji korak je preveč dela za izdelavo preprostega zaporedja … Zato sem se odločil, da naredim program, v katerem povemo barve vsake LED v enem koraku zaporedja in dobimo tri nize koraka. Ta program sem naredil v LabView zaradi časovnih omejitev.

6. korak: Prvi poskusi

Prvi poskusi
Prvi poskusi

Nalaganje več korakov v mikrokrmilnik in dobimo nekaj takega: Oprostite za slabo kakovost videoposnetkov! Določil sem največje število korakov zaporedja na 8 in omejil PWM na 20% skokov. Ta odločitev temelji na vrsti nadzora, ki ga uporabljam, in na količini EEPROM -a, ki ga ima ATtiny2313. V teh poskusih sem poskušal ugotoviti, kakšne učinke lahko naredim. Moram reči, da sem zadovoljen z rezultatom!

7. korak: Nadzor v realnem času

Nadzor v realnem času
Nadzor v realnem času
Nadzor v realnem času
Nadzor v realnem času
Nadzor v realnem času
Nadzor v realnem času

Kot je bilo omenjeno v prejšnjih korakih, želim komunicirati z vsemi mikrokrmilniki, ki upravljajo LED v moji sobi. Zato sem uporabil razpoložljiv vmesnik USART v ATtiny2313 in ga povezal z računalnikom. V programu LabView sem naredil tudi program za nadzor LED traku, v katerem lahko mikrokontrolerju povem, kako dolgo je zaporedje, barva vsake LED in čas med koraki zaporedja. V naslednjem videoposnetku bom pokazati, kako lahko spremenim barvo LED in definiram zaporedja.

8. korak: Zaključki

Sklepi
Sklepi
Sklepi
Sklepi
Sklepi
Sklepi
Sklepi
Sklepi

Mislim, da sem bil pri tem prvem pristopu svojega projekta uspešen. Z majhnimi sredstvi in omejitvami lahko nadzorujem 16 LED RGB. Možno je upravljati vsako LED posebej in ustvariti poljubno želeno zaporedje.

Prihodnje delo:

Če dobim pozitivne povratne informacije od ljudi, lahko to idejo še naprej razvijam in naredim celoten komplet elektronike DIY s tiskanimi vezji in navodili za montažo.

Za mojo naslednjo različico bom: -spremenil mikrokrmilnik na enega z ADC -zamenjal MCP23016 za kakšno drugo vrsto zaporednega vzporednega izhoda, ki lahko požene več toka iz LED -diod krmiljenje LED -Razviti komunikacijo med več mikrokrmilniki.

Imate kakšen predlog ali vprašanje? Ali pa pustite komentar!

Finalistka Let It Glow!

Priporočena: