Përmbajtje:

Drita interaktive e ambientit: 8 hapa
Drita interaktive e ambientit: 8 hapa

Video: Drita interaktive e ambientit: 8 hapa

Video: Drita interaktive e ambientit: 8 hapa
Video: ЖИВОЕ ЗЛО ОБИТАЕТ В ЭТОМ МЕСТЕ ОНО НЕ ЖЕЛАЕТ ДОБРА / LIVING EVIL DWELLS IN THIS PLACE 2024, Nëntor
Anonim
Drita Ambienti Interaktiv
Drita Ambienti Interaktiv
Drita Ambienti Interaktiv
Drita Ambienti Interaktiv
Drita Ambienti Interaktiv
Drita Ambienti Interaktiv

Ky është udhëzimi im i parë! Ju lutemi duroni me mua ndërsa përpiqem të shkruaj anglishten e duhur. Ndjehuni të lirë të më korrigjoni! E fillova këtë projekt menjëherë pasi filloi konkursi "Le të shkëlqejë". Do të doja të kisha bërë shumë më tepër dhe të kisha përfunduar atë që doja të bëja. Por midis shkollës dhe punës, nuk më ka mbetur aq kohë sa do të doja. Sidoqoftë, unë lë këtu një raport të eksperimenteve të mia si një udhëzues, kështu që çdokush mund të përpiqet të bëjë atë që bëra. Ky udhëzues nuk ka për qëllim të shërbejë si një udhërrëfyes dhe të mësojë se si ta bëni këtë mjet. Nuk është një udhëzues për fillestarët në elektronikë. Moreshtë më shumë si të ndash një ide dhe objektiv që dëshiroj të ndjek. Nëse jeni fillestar/injorant i plotë në elektronikë dhe dëshironi të bëni diçka të tillë, më falni! Por ne mund të përpiqemi gjithmonë t'ju ndihmojmë. Shikoni hapin e fundit. Ne kemi parë tashmë shumë projekte të dritës së ambientit. Shumica e tyre përdorin LED RGB: - Për të ndriçuar një dhomë me një ngjyrë, duke krijuar një atmosferë që përputhet me gjendjen tuaj shpirtërore - Për të krijuar efekte drite nga ngjyra e TV/Monitorit ose nga audio. Ka edhe disa në instruksionet.com Lidhur: DIY Ambient Light SystemsLight Bar Ambient LightingNdërtimi i shiritave tuaj të ndriçimit të ngjyrave të ambientit Duke përdorur këtë konkurs si justifikim, fillova një projekt që ka qenë në mendjen time për një kohë. Unë gjithmonë kam dashur të bëj diçka të ngjashme me këto drita ambienti dhe të mbush muret në dhomën time me LED RGB. Por, duke e çuar një hap më tej, duke i bërë të gjitha dhe secilën prej tyre të kontrollueshme. Ky projekt shpresojmë se do të rezultojë në një çantë elektronike me burim të hapur për hobistët dhe kallajxhinjtë elektronikë, duke lejuar hakimin e harduerit/softuerit dhe integrimin shqisor. Këtu është një vrojtim i vogël i asaj që kam bërë:

Hapi 1: Eksplorimi i idesë

Unë dua të jem në gjendje të mbush muret në dhomën time me LED RGB, duke kontrolluar ngjyrën dhe shkëlqimin për secilën led. Unë do të përdor një mikrokontrollues për lehtësinë e përdorimit dhe fleksibilitetin e dhënë. Fatkeqësisht nuk mund të kontrolloj qindra LED me disa kunja të disponueshëm në mikrokontrolluesit. Madje do të ishte e vështirë të kodoja kontrollin e kaq shumë LED -ve. Kështu që vendosa që duhet t'i ndaj të gjitha LED -të në disa shufra më të vegjël dhe për secilën shirit mund të përdor një mikrokontrollues. Pastaj do të përdorja aftësitë e komunikimit të mikrokontrolluesve për të ndarë informacionin midis tyre. Ky informacion mund të jetë ngjyra dhe shkëlqimi i LED -ve, modelet/sekuencat e ngjyrave dhe informacioni ndijor. Për çdo shirit vendosa të përdor 16 LED RGB. Kjo rezulton në një bar as shumë të madh as të vogël. Në këtë mënyrë unë përdor një numër të pranueshëm burimesh për secilën led, duke zvogëluar kostot për çdo shirit. Sidoqoftë, 16 LED RGB janë 48 LED (3*16 = 48) për kontrollimin e mikrokontrolluesit. Me kostot në mendje, vendosa të përdor mikrokontrolluesi më i lirë që mund të përdor. Kjo do të thotë që mikrokontrolluesi do të ketë vetëm deri në 20 kunja I/O, jo të mjaftueshme për 48 LED. Unë nuk dëshiroj të përdor Charlieplexing ose një lloj makinë për ndarjen e kohës, pasi qëllimi i projektit është ndriçimi i një dhome. Alternativa që mund të mendoja është përdorimi i një lloji të regjistrit të ndërrimit! Rifillimi:- Bëni dhe ndriçim ndriçues ambienti- Bëni një shirit standard të LED-ve të kontrollueshme- Mundësia e lidhjes së disa shufrave për të mbushur një dhomë- Lejo përshtatjen/konfigurimin dhe integrimin ndijor të përdoruesit

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware

Siç u tha në hapin e mëparshëm, unë dëshiroj të bëj disa bare për të ndriçuar një dhomë. Kjo sjell në mendje çështjen e kostos. Unë do të përpiqem ta bëj çdo bar mënyrën më kosto-efektive të mundshme. Mikrokontrolluesi që kam përdorur ishte një AVR ATtiny2313. Këto janë mjaft të lira dhe kam pasur disa të shtrirë përreth. ATtiny2313 gjithashtu ka një Ndërfaqe Seriale Universale dhe një ndërfaqe USART që do të përdoret mirë në hapat e mëposhtëm. Unë gjithashtu kisha tre zgjerues të portit MCP23016 - I2C 16bit I/O të shtrirë përreth, numërimi i duhur! Kam përdorur çdo zgjerues të portit për të kontrolluar një ngjyrë të 16 LED -ve. LEDs … Fatkeqësisht, ishin më të lira që mund të gjeja. Ato janë 48 të kuqe, jeshile dhe blu ~ 10000mcd 5mm me kënd 20 gradë. Kjo nuk duhet të ketë rëndësi tani, pasi ky është vetëm një prototip. Përkundër këtij fakti, rezultati është mjaft i këndshëm! Unë jam duke drejtuar mikrokontrolluesin në 8 MHz. Autobusi I2C është i vendosur në 400 kHz. Frekuenca e ndërrimit të LED është rreth 400 Hz. Në këtë mënyrë, nëse jam në gjendje të drejtoj 48 LED pa e shtyrë atë në kufi, do të lë vend për më shumë më vonë!

Hapi 3: Montimi

Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi
Kuvendi

Pasi hartova qarkun, e ndërtova në disa dërrasa buke, për qëllime prototipimi. Pas disa orësh të prerjes së telave dhe montimit të qarkut, mora këtë rezultat: Një tabelë gjigante me 48 LED dhe ton tela!

Hapi 4: Kontrolli?

Kontroll?
Kontroll?

Kjo është pjesa më sfiduese e projektit. Doja të bëja një algoritëm kontrolli mjaft të përgjithshëm për trajtimin e modeleve/sekuencave dhe gjithashtu kontrollin e shkëlqimit dhe ngjyrës së secilës LED. Për të kontrolluar LED -të duhet të dërgoj në MCP23016 një kornizë prej 4bajt (1 bajt = 8 bit). Një bajt me adresën e IC korrespondent me ngjyrën, 1 bajt me komandën "shkruaj" dhe 2 bajt me vlerën e 16 bitëve (LED). IC është e lidhur me LED -të si "lavaman", që do të thotë, një vlerë logjike 0 në kunj do të ndriçojë LED. Dhe tani pjesa sfiduese, si të bëni kontrollin PWM për 48 LED? Le të studiojmë PWM për një LED! PWM shpjegoi @ Wikipedia. Nëse dua shkëlqimin e LED në 50%, vlera ime PWM është 50%. Kjo do të thotë që LED, në një periudhë kohore, duhet të jetë në të njëjtën kohë me atë të fikur. Le të marrim një periudhë prej 1 sekonde. PWM prej 50% do të thotë që në këtë 1 sekondë, koha në kohë është 0.5 sekonda dhe koha e fikjes është 0.5 sekonda. PWM prej 80%? 0.2 sekonda jashtë, 0.8 sekonda aktiv! E lehtë, apo jo? Në botën dixhitale: Me një periudhë prej 10 cikleve të orës, 50% do të thotë që LED për 5 cikle është ndezur, dhe për 5 cikle të tjera LED është i fikur. 20%? 2 cikle aktiv, 8 cikle jashtë. 45%? Epo, ne nuk mund të marrim vërtet 45%… Meqenëse periudha është në cikle dhe kemi vetëm 10 cikle, ne mund ta ndajmë PWM vetëm në hapa 10%. Kjo do të thotë që evolucioni i kunjit duhet të jetë, për 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Ose edhe 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Në programim ne mund të bëjmë këtë sekuencë të ndezjes dhe fikjes së një grupi. Për secilin cikël që dalim në pin vlera e indeksit ishte cikli. A kisha kuptim deri tani? Nëse duam të bëjmë LED0 50%, dhe LED1 20%, mund të shtojmë të dyja vargjet. Për të drejtuar pinin LED0: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Për drejtimin e kunjit LED1: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; Rezulton në LED0 +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Duke nxjerrë këtë sekuencë numrash në IC zgjerues të portit, ne do të merrnim LED0 me 50% shkëlqim dhe LED1 me 20% !! E thjeshtë për 2 LED, apo jo? Tani duhet ta bëjmë këtë për 16 LED, për secilën ngjyrë! Për secilën prej këtyre vargjeve, ne kemi një kombinim të shkëlqimit për secilën ngjyrë (16 LED) Sa herë që duam një kombinim tjetër të ngjyrave, duhet ta ndryshojmë këtë grup.

Hapi 5: Bëjeni të lehtë

Duke e bërë të lehtë!
Duke e bërë të lehtë!
Duke e bërë të lehtë!
Duke e bërë të lehtë!

Hapi i mëparshëm është shumë punë për të bërë një sekuencë të thjeshtë … Kështu që vendosa të bëj një program, ku ne tregojmë ngjyrat e secilës LED në një hap të sekuencës dhe marrim tre vargje të hapit. Unë e bëra këtë program në LabView për shkak të kufizimeve kohore.

Hapi 6: Eksperimentet e para

Eksperimentet e para
Eksperimentet e para

Duke ngarkuar disa hapa në mikrokontrollues dhe ne marrim diçka si kjo: Na vjen keq për cilësinë e dobët të videove! Unë përcaktova numrin maksimal të hapave të një sekuence në 8, dhe i kufizova kërcimet PWM në 20%. Ky vendim bazohet në llojin e kontrollit që po përdor dhe sa EEPROM ka ATtiny2313. Në këto eksperimente u përpoqa të shikoja se çfarë lloj efektesh mund të bëja. Duhet të them që jam i kënaqur me rezultatin!

Hapi 7: Kontrolli në kohë reale

Kontroll në kohë reale
Kontroll në kohë reale
Kontroll në kohë reale
Kontroll në kohë reale
Kontroll në kohë reale
Kontroll në kohë reale

Siç u përmend në hapat e mëparshëm, unë dëshiroj të komunikoj me të gjithë mikrokontrolluesit që kontrollojnë LED -të në dhomën time. Kështu që unë përdor ndërfaqen e disponueshme USART në ATtiny2313 dhe e lidha atë me kompjuterin tim. Unë gjithashtu bëra një program në LabView për të kontrolluar shiritin LED. Në këtë program unë jam në gjendje t'i them mikrokontrolluesit se sa e gjatë është sekuenca, ngjyra e secilës LED dhe koha midis hapave të një sekuence. Në videon tjetër do të demonstroni se si mund të ndryshoj ngjyrën e LED -ve dhe të përcaktoj sekuencat.

Hapi 8: Përfundime

Përfundimet
Përfundimet
Përfundimet
Përfundimet
Përfundimet
Përfundimet
Përfundimet
Përfundimet

Unë mendoj se kam qenë i suksesshëm në këtë qasje të parë të projektit tim. Unë jam në gjendje të kontrolloj 16 LED RGB me pak burime dhe kufizime. LEDshtë e mundur të kontrolloni secilën LED veç e veç, duke krijuar çdo sekuencë të dëshiruar.

Puna e ardhshme:

Nëse marr reagime pozitive nga njerëzit, mund ta zhvilloj më tej këtë ide dhe të bëj një Kit të plotë Elektronikë DIY, me tabela të shtypura dhe udhëzime montimi.

Për versionin tim të ardhshëm unë do të: -Ndryshoj mikrokontrolluesin në një me ADC -Ndryshoj MCP23016 për ndonjë lloj tjetër seriali -paralelisht -dalje që mund të zhytet më shumë nga LED -të -Bëj softuer me burim të hapur për të komunikuar me mikrokontrolluesin dhe kontrolloni LED -të -Zhvilloni komunikimin midis disa mikrokontrolluesve.

A keni ndonjë sugjerim apo pyetje? Ose lini një koment!

Finalisti në Let It Glow!

Recommended: