Satura rādītājs:

Interaktīvā apkārtējā gaisma: 8 soļi
Interaktīvā apkārtējā gaisma: 8 soļi

Video: Interaktīvā apkārtējā gaisma: 8 soļi

Video: Interaktīvā apkārtējā gaisma: 8 soļi
Video: Gaisma un skaņa. Mazā interaktīvā enciklopēdija 2024, Jūlijs
Anonim
Interaktīva apkārtējā gaisma
Interaktīva apkārtējā gaisma
Interaktīva apkārtējā gaisma
Interaktīva apkārtējā gaisma
Interaktīva apkārtējā gaisma
Interaktīva apkārtējā gaisma

Šī ir mana pirmā pamācība! Lūdzu, izturiet mani, kamēr es cenšos uzrakstīt pareizu angļu valodu. Jūtieties brīvi labot mani! Es sāku šo projektu uzreiz pēc konkursa “Ļaujiet tai mirdzēt” sākuma. Es vēlos, lai es būtu paveicis daudz vairāk un pabeidzis to, ko vēlējos uztaisīt. Bet starp skolu un darbu man nav atlicis tik daudz laika, kā vēlējos. Neskatoties uz to, es atstāju šeit ziņojumu par saviem eksperimentiem kā pamācību, lai ikviens varētu izmēģināt un izdarīt to, ko es darīju. Šī pamācība nav paredzēta, lai kalpotu kā ceļvedis un mācītu, kā izgatavot šo ierīci. Tas nav ceļvedis elektronikas iesācējiem. Tas vairāk atgādina dalīšanos ar vienu ideju un mērķi, kuru vēlos īstenot. Ja esat iesācējs/pilnīgi nezini elektroniku un vēlaties uztaisīt kaut ko līdzīgu, atvainojiet! Bet mēs vienmēr varam jums palīdzēt. Skatiet pēdējo soli. Mēs jau esam redzējuši daudzus apkārtējās gaismas projektus. Lielākā daļa no tām izmanto RGB gaismas diodes: - lai apgaismotu telpu ar vienu krāsu, noskaņojot atmosfēru atbilstoši jūsu noskaņojumam; - lai radītu gaismas efektus no televizora/monitora krāsas vai audio. Instrukctables.com ir pat daži no tiem. Saistītie: DIY apkārtējās gaismas sistēmas Gaismas joslas apkārtējās vides apgaismojumsJūsu apkārtējās vides apgaismojuma joslu izveide Izmantojot šo konkursu kā attaisnojumu, es sāku projektu, kas kādu laiku man prātā. Es vienmēr esmu vēlējies izgatavot kaut ko līdzīgu šiem apkārtējiem lukturiem un piepildīt savas istabas sienas ar RGB gaismas diodēm. Bet, sperot soli tālāk, padarot visus un katru no tiem kontrolējamu. Cerams, ka šī projekta rezultātā tiks izveidots atvērtā pirmkoda elektronikas komplekts, kas paredzēts hobijiem un elektroniskiem tīrītājiem, ļaujot uzlauzt aparatūru/programmatūru un maņu. Šeit ir neliels ieskats manā izveidotajā:

1. darbība. Idejas izpēte

Es vēlos, lai manas istabas sienas varētu piepildīt ar RGB gaismas diodēm, kontrolējot katra gaismas diodes krāsu un spilgtumu. Es izmantošu mikrokontrolleri, lai nodrošinātu ērtu lietošanu un elastību. Diemžēl es nevaru kontrolēt simtiem gaismas diodes ar dažām tapām, kas pieejamas mikrokontrolleros. Būtu pat grūti kodēt tik daudzu LED vadību. Tāpēc es nolēmu, ka man vajadzētu sadalīt visas gaismas diodes vairākos mazākos joslās, un katrai joslai es varētu izmantot mikrokontrolleru. Tad es izmantotu mikrokontrolleru saziņas iespējas, lai apmainītos ar informāciju starp tiem. Šī informācija varētu būt gaismas diodes krāsa un spilgtums, krāsu modeļi/secības un maņu informācija. Katrai joslai es nolēmu izmantot 16 RGB gaismas diodes. Tā rezultātā nav ne pārāk liels, ne mazs stienis. Tādā veidā es izmantoju pieņemamu resursu skaitu katrai gaismas diodei, samazinot katras joslas izmaksas. Tomēr 16 RGB gaismas diodes ir 48 gaismas diodes (3*16 = 48), kuras mikrokontrolleris var kontrolēt. Paturot prātā izmaksas, es nolēmu izmantot lētākais mikrokontrolleris, ko es varētu izmantot. Tas nozīmē, ka mikrokontrolleram būs tikai līdz 20 I/O tapām, kas nav pietiekami 48 gaismas diodēm. Es nevēlos izmantot charlieplexing vai kādu laika sadalīšanas piedziņu, jo projekta mērķis ir apgaismot telpu. alternatīva, ko es varētu iedomāties, ir kāda veida fiksētu maiņu reģistra izmantošana! Atsākšana:- Izveidojiet un interaktīvu apkārtējo gaismu- Izveidojiet standarta kontrolējamu gaismas diožu joslu- Iespēja savienot vairākus stieņus, lai aizpildītu telpu- Ļauj lietotājam pielāgoties/konfigurēt un maņu integrēt

2. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra

Kā minēts iepriekšējā solī, es vēlos izveidot vairākus stieņus, lai apgaismotu vienu istabu. Tas liek domāt par izmaksām. Es centīšos padarīt katru joslu par visrentablāko iespējamo veidu. Manis izmantotais mikrokontrolleris bija AVR ATtiny2313. Tie ir diezgan lēti, un man bija daži, kas gulēja. ATtiny2313 ir arī viens universālais seriālais interfeiss un viens USART interfeiss, kas tiks labi izmantots, veicot šādas darbības. Man bija arī trīs MCP23016 - I2C 16 bitu I/O portu paplašinātājs, kas bija pareizi, tikai pareizi! Es izmantoju katru portu paplašinātāju, lai kontrolētu vienu krāsu no 16 gaismas diodēm. Gaismas diodes … Diemžēl tās bija lētākās, kādas varēju atrast. Tie ir 48 sarkani, zaļi un zili ~ 10000mcd 5 mm ar 20 grādu leņķi. Šobrīd tam nevajadzētu nozīmēt, jo tas ir tikai viens prototips. Neskatoties uz šo faktu, rezultāts ir diezgan jauks! Es darbinu mikrokontrolleri 8 MHz frekvencē. I2C kopne tiek atskaņota 400 kHz frekvencē. LED pārslēgšanās frekvence ir aptuveni 400 Hz. Tādā veidā, ja es varu vadīt 48 gaismas diodes, nepārspiežot to līdz robežai, vēlāk es atstāšu vairāk!

3. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Pēc shēmas projektēšanas es to izveidoju vairākos maizes dēļos, lai izstrādātu prototipus. Pēc vairāku stundu vadu griešanas un ķēdes salikšanas es saņēmu šādu rezultātu: Viens milzīgs maizes dēlis ar 48 gaismas diodēm un tonnām stieples!

4. solis: kontrole?

Kontrole?
Kontrole?

Šī ir vissarežģītākā projekta daļa. Es gribēju padarīt vienu vadības algoritmu pietiekami vispārīgu, lai apstrādātu modeļus/secības, kā arī kontrolētu katras gaismas diodes spilgtumu un krāsu. Lai kontrolētu gaismas diodes, man ir jānosūta uz MCP23016 viens 4 baitu kadrs (1 baits = 8 biti). Viens baits ar IC korespondenta adresi krāsai, 1 baits ar komandu "rakstīt" un 2 baiti ar 16 bitu (LED) vērtību. IC ir savienots ar gaismas diodēm kā "izlietne", kas nozīmē, ka viena loģiskā vērtība 0 pie tapas iedegs LED. Un tagad izaicinošā daļa, kā padarīt PWM kontroli 48 gaismas diodēm? Izpētīsim PWM vienai gaismas diodei! PWM paskaidroja @ Wikipedia. Ja es vēlos, lai gaismas diodes spilgtums būtu 50%, mana PWM vērtība ir 50%. Tas nozīmē, ka gaismas diodei vienā laika periodā vajadzētu ieslēgties tikpat ilgi kā izslēgtai. Paņemsim 1 sekundes periodu. PWM 50% nozīmē, ka šajā 1 sekundē ieslēgšanās laiks ir 0,5 sekundes un izslēgšanas laiks ir 0,5 sekundes. PWM 80%? 0,2 sekundes izslēgts, 0,8 sekundes ieslēgts! Vienkārši, vai ne? Digitālajā pasaulē: ar 10 pulksteņu ciklu periodu 50% nozīmē, ka 5 cikliem gaismas diode ir ieslēgta, bet vēl 5 ciklus gaismas diode ir izslēgta. 20%? 2 cikli ieslēgti, 8 cikli izslēgti. 45%? Nu, mēs īsti nevaram iegūt 45%… Tā kā periods ir ciklos un mums ir tikai 10 cikli, mēs varam sadalīt PWM tikai pa 10%. Tas nozīmē, ka tapas attīstībai vajadzētu būt 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Vai pat 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Programmēšanā mēs varam veikt šo masīva ieslēgšanas un izslēgšanas secību. Katram ciklam, ko mēs izvadām uz tapu, indeksa vērtība bija cikls. Vai man līdz šim bija jēga? Ja mēs vēlamies izveidot LED0 50%un LED1 20%, mēs varam pievienot abus masīvus.: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; LED1 tapas vadīšanai: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; Rezultāts LED0 +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Izvadot šo ciparu secību ostas paplašinātāja IC, mēs iegūtu LED0 ar 50% spilgtumu un LED1 ar 20% !! Vienkārši 2 gaismas diodēm, vai ne? Tagad mums tas ir jāizveido 16 gaismas diodēm, katrai krāsai! Katram no šiem masīviem mums ir katras krāsas spilgtuma kombinācija (16 gaismas diodes) Katru reizi, kad vēlamies citu krāsu kombināciju, šis masīvs ir jāmaina.

5. solis: atvieglojiet to

Vienkārši!
Vienkārši!
Vienkārši!
Vienkārši!

Iepriekšējais solis ir pārāk daudz darba, lai izveidotu vienkāršu secību … Tāpēc es nolēmu izveidot programmu, kurā vienā secības posmā mēs pastāstām katras gaismas diodes krāsas un iegūstam trīs soļu masīvus. Es izveidoju šo programmu LabView laika ierobežojumu dēļ.

6. darbība: pirmie eksperimenti

Pirmie eksperimenti
Pirmie eksperimenti

Ielādējot vairākus soļus mikrokontrollerī, tiek iegūts apmēram šāds: Atvainojiet par videoklipu slikto kvalitāti! Es noteicu maksimālo secības soļu skaitu līdz 8 un ierobežoju PWM līdz 20% lēcieniem. Šis lēmums ir balstīts uz to, kāda veida vadību es izmantoju un cik daudz EEPROM ir ATtiny2313. Šajos eksperimentos es centos noskaidrot, kādus efektus es varētu radīt. Jāsaka, ka esmu apmierināts ar rezultātu!

7. darbība. Reāllaika kontrole

Reālā laika kontrole
Reālā laika kontrole
Reālā laika kontrole
Reālā laika kontrole
Reālā laika kontrole
Reālā laika kontrole

Kā minēts iepriekšējos soļos, es vēlos sazināties ar visiem mikrokontrolleriem, kas kontrolē gaismas diodes manā istabā. Tāpēc es izmantoju pieejamo USART saskarni ATtiny2313 un savienoju to ar datoru. Es arī izveidoju programmu LabView, lai kontrolētu LED joslu. Šajā programmā es varu pateikt mikrokontrolleram, cik ilga ir secība, katras gaismas diodes krāsa un laiks starp secības soļiem. Nākamajā videoklipā es parādīt, kā es varu mainīt gaismas diodes krāsu un noteikt secības.

8. solis: Secinājumi

Secinājumi
Secinājumi
Secinājumi
Secinājumi
Secinājumi
Secinājumi
Secinājumi
Secinājumi

Es domāju, ka man bija veiksmīga šī mana projekta pirmā pieeja. Es varu kontrolēt 16 RGB gaismas diodes ar nelieliem resursiem un ierobežojumiem. Ir iespējams kontrolēt katru gaismas diodi atsevišķi, izveidojot jebkuru vēlamo secību.

Nākotnes darbs:

Ja saņemšu pozitīvas atsauksmes no cilvēkiem, es varu tālāk attīstīt šo ideju un izveidot pilnu DIY elektronikas komplektu ar iespiedshēmas plates un montāžas instrukcijām.

Savai nākamajai versijai es: -Mainīšu mikrokontrolleri uz vienu ar ADC -Mainīsiet MCP23016 kāda cita veida sērijveida paralēlas izejas gadījumā, kas var izliet vairāk gaismas no LED -Izveidojiet atvērtā pirmkoda programmatūru, lai sazinātos ar mikrokontrolleri un kontrolēt gaismas diodes -attīstīt saziņu starp vairākiem mikrokontrolleriem.

Vai jums ir kāds ieteikums vai jautājums? Vai arī atstājiet komentāru!

Finālists Let Let Glow!

Ieteicams: