Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Kontrolli i LED-ve të fuqishëm rgb. RGB LED dhe Arduino

Shkëlqen vetëm në të kuqe - R, jeshile - G, blu - B ose e bardhë - CW, zakonisht e lidhur direkt me burimin DC tension 12 V ose 24 V. R G B Shirit LED, si ato pikturë njëngjyrëshe, mund të lidhet gjithashtu me një furnizim me energji DC duke lidhur kunjat R, G dhe B me njëra-tjetrën.

Por në këtë rast, mundësia për ta zbatuar atë do të humbasë. efektet e ngjyrave ndriçimi, për të cilin u krijua kaseta. Prandaj, kur instaloni shirita LED me ngjyra, një kontrollues elektronik zakonisht instalohet në qarkun e hapur midis furnizimit me energji dhe shiritit. Ju lejon të modaliteti automatik ndryshoni ngjyrën dhe shkëlqimin e shiritit në modalitetin dinamik siç specifikohet nga telekomanda telekomandë program.

Fotografia tregon një diagram elektrik për lidhjen e një shiriti LED R G B me një rrjet 220 V Furnizimi me energji elektrike (përshtatësi). tension alternativ Tension 220 V DC 12 V, i cili furnizohet me kontrolluesin R G B me dy tela, duke respektuar polaritetin. Ai është i lidhur me kontrolluesin nëpërmjet katër telave në përputhje me shenjat shirit led. Për lehtësi instalimi dhe riparimi Ndriçim LED Nyjet janë të lidhura me njëra-tjetrën duke përdorur lidhës.

Qarku elektrik i LED R G B LED SMD-5050

Për të lidhur, dhe aq më tepër për të riparuar, një shirit LED R G B në një nivel profesional, duhet të kuptoni se si funksionon dhe të njihni qarkun elektrik dhe pikën kryesore të LED-ve të përdorur në shirita. Fotografia më poshtë tregon një fragment të një shiriti LED R G B me një diagram të printuar instalime elektrike për kristalet LED.

Siç mund të shihet në diagram, kristalet në LED nuk janë të lidhura elektrike me njëri-tjetrin. Tre kristale me shumë ngjyra në një strehë LED formojnë një treshe. Falë këtij dizajni, duke kontrolluar ndriçimin e secilit kristal individualisht, ju mund të merrni një numër të pafund ngjyrash ndriçimi LED. Ekranet janë ndërtuar mbi këtë parim të menaxhimit të ngjyrave. telefonat celularë, navigatorë, kamera, monitorët e kompjuterit, TV dhe shumë produkte të tjera.

Karakteristikat teknike të SMD-5050 LED janë dhënë në faqen e internetit "Doracak i SMD LEDs".

Qarku elektrik i shiritit LED R G B në LED SMD-5050

Pasi të keni kuptuar modelin e LED, është e lehtë të kuptohet dizajni i shiritit LED. Në krye të figurës është një fotografi e një seksioni pune të shiritit LED R G B, dhe në fund është qarku elektrik i tij.


Siç mund të shihet nga diagrami, e njëjta gjë pads kontakti Shiriti LED i vendosur në anën e djathtë dhe të majtë të tij janë të lidhur elektrikisht drejtpërdrejt me njëri-tjetrin. Kështu, është e mundur të furnizohet tensioni i energjisë në shirit nga cilido skaj dhe në pjesën tjetër të shiritit kur ai zgjatet.

Kristalet LED VD1, VD2 dhe VD3 me të njëjtën ngjyrë shkëlqimi janë të lidhura në seri. Për të kufizuar rrymën, rezistorët kufizues të rrymës janë instaluar në secilin prej qarqeve me ngjyra. Dy prej tyre vlerësohen 150 ohms, dhe një është 300 ohms, në një zinxhir kristali të kuq. Një rezistencë me vlerë më të madhe është instaluar për të barazuar shkëlqimin e të gjitha ngjyrave, duke marrë parasysh intensitetin e rrezatimit nga kristali LED dhe ndjeshmërinë e ndryshme të ngjyrave të syrit të njeriut ndaj ngjyrave të ndryshme.

Si të prisni shiritin LED në copa

Siç e keni kuptuar tashmë, shiriti LED R G B i çdo gjatësi (kjo vlen edhe për shiritat pikturë njëngjyrëshe) përbëhet nga segmente të shkurtra të pavarura që përfaqësojnë një produkt të përfunduar. Mjafton të aplikoni tensionin e furnizimit në jastëkët e kontaktit dhe kaseta do të lëshojë dritë. Për të marrë një copë shirit të gjatësisë së kërkuar, seksionet elementare janë të lidhura me njëra-tjetrën në përputhje me shënimin e shkronjave.

Zakonisht shiriti prodhohet në një gjatësi prej pesë metrash. Nëse është e nevojshme, mund të shkurtohet duke prerë në mënyrë tërthore përgjatë një linje të tërhequr në qendër të jastëkëve të kontaktit midis shenjave, ndonjëherë, në këtë vend, aplikohet gjithashtu një imazh simbolik i gërshërëve. Ndonjëherë kaseta duhet të pritet për të instaluar në një kënd. Në këtë rast, jastëkët e kontaktit të prerë me të njëjtin emër lidhen me njëra-tjetrën duke bashkuar me copa teli.

Mënyrat për të kontrolluar ngjyrën e shkëlqimit
R G B shirita LED

Ekzistojnë dy mënyra kontrolli modaliteti i ngjyrave funksionimi i shiritit LED R G B, duke përdorur tre çelësa ose një pajisje elektronike.

Parimi i funksionimit të kontrolluesit më të thjeshtë në çelsat

Le të shohim parimin e funksionimit të kontrolluesit më të thjeshtë, bazuar në çelsat mekanike. Si një ndërprerës për kontroll manual duke ndezur shiritin R G B, mund të përdorni tre çelësa ndërprerësi i murit, i projektuar për lidhjen e llambadarëve dhe llambave në një rrjet shtëpiak 220 V. Diagrami elektrik lidhjet do të duken kështu.


Rezistorët R1-R3 shërbejnë për të kufizuar rrymën dhe mund të instalohen kudo në qarkun e furnizimit me energji elektrike për kristalet me të njëjtën ngjyrë. Duke përdorur këtë skemë, mund të lidhni shiritat R G B të krijuara për një tension furnizimi prej 12 V dhe 24 V.

Siç shihet nga diagrami, terminali pozitiv i furnizimit me energji është i lidhur drejtpërdrejt me terminalin pozitiv të shiritit LED, i cili është i zakonshëm për LED të të gjitha ngjyrave, dhe terminali negativ është i lidhur me kontaktet R, G dhe B. të shiritit përmes një ndërprerës. Duke përdorur një çelës prej tre çelësash, mund të merrni shtatë ngjyra të shkëlqimit të shiritit. Kjo është më e thjeshta, më e besueshme dhe mënyrë e lirë kontrolloni ngjyrat e shkëlqimit të shiritit R G B.

Parimi i funksionimit të kontrolluesit elektronik

Për të marrë një numër të pafund ngjyrash shkëlqimi R G B shirit dhe në modalitetin automatik, ndryshoni në mënyrë dinamike vlerën fluksi ndriçues, në vend të çelsave që përdorin njësi elektrike, i cili quhet kontrollues R G B. Përfshihet në qarkun e hapur midis furnizimit me energji elektrike dhe shiritit R G B. Në mënyrë tipike, kompleti i kontrolluesit përfshin një telekomandë që ju lejon të kontrolloni nga distanca mënyrën e funksionimit të tij, dhe si rezultat, mënyrën e ndriçimit të shiritit LED.

Meqenëse funksionimi i shiritit LED zakonisht kërkon një tension DC prej 12 V (më rrallë 24 V), pastaj për ta lidhur atë me rrjetin elektrik AC 220 V përdor një furnizim me energji elektrike ose përshtatës që konverton tensionin e alternuar në tension të rrymës së drejtpërdrejtë, i cili furnizohet në njësinë e kontrolluesit përmes një lidhjeje të shkëputshme.


Le të shohim parimin e funksionimit të një kontrolluesi RGB duke përdorur shembullin e kontrolluesit më të thjeshtë dhe më të përdorur, modeli LN-IR24. Ai përbëhet nga tre njësi funksionale - kontrolluesi i kontrollit R G B, çelësat e energjisë dhe çipa sensorë infra të kuqe (IR). Çipi i kontrolluesit është programuar me algoritmin e kërkuar të funksionimit për shiritin LED. Çipi i kontrolluesit kontrollohet nga një sinjal që vjen nga çipi i sensorit IR. Sensori IR merr një sinjal kontrolli kur shtypni butonat në telekomandë.

Tensioni i furnizimit në shiritin LED kontrollohet duke përdorur tre transistorë me efekt në terren që funksionojnë në modalitetin e ndërrimit. Kur vjen një sinjal nga çipi i kontrolluesit Kontrolli RGB në portën e tranzistorit, kryqëzimi i tij i burimit të kullimit hapet dhe rryma fillon të rrjedhë nëpër LED, si rezultat i së cilës ata fillojnë të lëshojnë dritë. Shkëlqimi i LED-ve kontrollohet nga ndryshimet me frekuencë të lartë në gjerësinë e pulsit të tensionit të furnizimit të furnizuar (modulimi i gjerësisë së pulsit).

Zgjedhja e një furnizimi me energji elektrike dhe një kontrollues për shiritin R G B

Furnizimi me energji elektrike për shiritin LED RGB duhet të zgjidhet bazuar në tensionin e furnizimit dhe konsumin e rrymës. Më të njohurit janë shiritat LED për një tension DC prej 12 V. Konsumi i rrymës në qarqet R, G dhe B mund të gjendet nga etiketa ose të përcaktohet në mënyrë të pavarur duke përdorur të dhënat e referencës për LED të paraqitura në tabelën në faqen e faqes Tabela referuese e parametrave e LED-ve të njohura SMD. Është e zakonshme të tregohet konsumi i energjisë i një kasetë për metër të gjatësisë së saj.

Le të shohim një shembull se si të përcaktohet konsumi i energjisë Shirita RGB lloj i panjohur për një tension furnizimi prej 12 V. Për shembull, duhet të zgjidhni një furnizim me energji elektrike dhe një kontrollues për një shirit R G B 5 m të gjatë. Gjëja e parë që duhet të bëni është të përcaktoni llojin e LED-ve RGB të instaluar në shirit. Për ta bërë këtë, thjesht matni madhësinë e anëve të LED. Le të themi se rezulton të jetë 5 mm × 5 mm. Nga tabela përcaktojmë se kjo madhësi është për një LED të tipit LED-RGB-SMD5050. Tjetra ju duhet të numëroni numrin e shtëpive LED për metër gjatësi. Le të themi se janë 30 copë.

Një kristal LED konsumon një rrymë prej 0,02 A, tre kristale vendosen në një rast, prandaj konsumi total i rrymës së një LED do të jetë 0,06 A. Ka 30 LED për metër gjatësi, shumëzojeni rrymën me sasinë 0,06 A × 30 = 1.8 A. Por diodat janë të lidhura tre në seri, që do të thotë se konsumi aktual aktual i një metri kasetë do të jetë tre herë më pak, domethënë 0.6 A. Gjatësia e shiritit tonë është pesë metra, prandaj, totali Konsumi aktual do të jetë 0,6 A × 5 m = 3 A.

Llogaritjet kanë treguar se për të fuqizuar një kasetë R G B të gjatë pesë metra, ju nevojitet një furnizim me energji elektrike ose një përshtatës rrjeti me një tension daljeje DC prej 12 V dhe një rrymë ngarkese prej të paktën 3 A. Furnizimi me energji duhet të ketë një rezervë rryme, kështu që U zgjodh modeli i përshtatësit APO12-5075UV, i projektuar për një rrymë ngarkese deri në 5 A. Kur zgjidhni një furnizim me energji elektrike, duhet të keni parasysh që lidhësi i daljes së tij duhet të përputhet me lidhësin R G B të kontrolluesit.

Kur zgjidhni një kontrollues, është e nevojshme të merret parasysh se konsumi aktual në një kanal të vetëm R, G ose B do të jetë tre herë më pak. Prandaj, për rastin tonë, duhet të marrim një kontrollues të krijuar për një tension prej 12 V dhe një maksimum rrymë e lejuar ngarkesa për kanal nuk është më e vogël se 3 A/3=1 A.

Për shembull, kontrolluesi LN-IR24B R G B i plotëson këto kërkesa. Është projektuar për një rrymë ngarkese deri në 2 A (mund të lidhni deri në 10 metra kasetë RGB). Ju lejon të aktivizoni dhe çaktivizoni shiritin, të zgjidhni 16 ngjyra statike dhe 6 mënyra dinamike nga distanca, nga një distancë deri në tetë metra, duke përdorur një telekomandë elegante. Tensioni i furnizimit me kontrolluesin furnizohet nga furnizimi me energji elektrike ose përshtatës rrjeti duke përdorur DC Jack koaksial. Kontrolluesi R G B LN-IR24B është i lehtë dhe ka dimensione të vogla të përgjithshme.


Pamja e jashtme Kompleti për ndriçimin e shiritave LED të përgatitur në bazë të rezultateve të llogaritjes tregohet në fotografi. Kompleti përfshin një model të furnizimit me energji APO12-5075UV, kontrollues R G B LN-IR24B me telekomandë dhe shirit LED R G B.


Nëse keni nevojë të lidhni disa shirita R G B prej pesë metrash, do t'ju duhet një kontrollues më i fuqishëm, për shembull, CT305R, i cili ju lejon të furnizoni rrymë deri në 5 A në LED me të njëjtën ngjyrë. Ky kontrollues mund të kontrollohet jo vetëm duke përdorur një telekomandë, por edhe nëpërmjet një rrjeti nga një kompjuter, duke e kthyer kështu ndriçimin R G B në ngjyra dhe shoqërim muzikor kur dëgjoni muzikë.

Është e papranueshme të lidhni shirita LED më të gjatë se pesë metra në seri, pasi shtigjet e rrymës së vetë shiritit kanë një seksion kryq të vogël. Një lidhje e tillë do të çojë në një ulje të fluksit të dritës në një seksion kasetë që tejkalon një gjatësi prej pesë metrash. Nëse keni nevojë të lidhni disa shirita LED prej pesë metrash, atëherë përçuesit e secilit prej tyre lidhen drejtpërdrejt me kontrolluesin.

Në modelet e fuqishme të kontrollorëve për lidhje pajisje të jashtme Përdoren blloqe terminale në të cilat telat janë të fiksuar me një vidë. Pranë terminaleve duhet të ketë shenja. INPUT (IN) nënkupton hyrjen e një furnizimi me energji të jashtme në këto terminale, nga i cili furnizohet tensioni i furnizimit për vetë kontrolluesin dhe shiritat LED. Tregohet polariteti shenja shtesë"+" dhe "-". Mosrespektimi i polaritetit të saktë gjatë lidhjes së furnizimit me energji mund të dëmtojë kontrolluesin.

Grupi i terminaleve për lidhjen e shiritit R G B është shënuar OUTPUT (OUT) dhe nënkupton dalje. Ngjyrat përcaktohen me shkronjat R (e kuqe), G (jeshile), B (blu) dhe V+ (ky është tela e zakonshme e çdo ngjyre tjetër). Telat me ngjyrë zakonisht vijnë gjithashtu nga shiriti, dhe mjafton t'i lidhni ato me ngjyrën me ngjyrën.

Vërej se mund të lidhni me sukses një shirit LED monokrom me çdo kontrollues RGB që përputhet me rrymën. Atëherë do të jetë e mundur të përdorni telekomandën për të ndryshuar mënyrën e shkëlqimit të saj - ndizni, fikni, ndryshoni ndriçimin, vendosni një modalitet dinamik për ndryshimin e shkëlqimit.

Ne vazhdojmë të zotërojmë PWM, këtë herë për kontroll Ngjyra RGB LED.

Në thelb, një LED RGB kombinon tre LED konvencionale - të kuqe, jeshile dhe blu.

Prandaj, një LED RGB ka 4 këmbë: një këmbë dhe një këmbë e zakonshme (zakonisht më e gjata) përdoren për të kontrolluar secilën ngjyrë. Si katoda (-) dhe anoda (+) mund të jenë të zakonshme. Diagrami tregon një shembull për një qark me një anodë të përbashkët.

Vlen të përmendet se duke përzier këto 3 ngjyra mund të merrni pothuajse çdo ngjyrë tjetër. Nëse ndizni të 3 LED në të njëjtën kohë, ju merrni të bardhë.

Tani për zbatimin, kam marrë një LED me një katodë të përbashkët, rrymë e vlerësuar, e cila sipas të dhënave ishte 20 mA. Sidoqoftë, ekziston një nuancë e vogël: çdo ngjyrë ka pragun e vet të ndezjes. Për shembull, për një LED të kuq, 20 mA korrespondonte me një tension prej 2.1 V, jeshile dhe blu - një tension prej 3.2 V. Në përgjithësi, këmba e mikrokontrolluesit duhet t'i rezistojë kësaj rryme, kështu që ju mund ta lidhni atë në mënyrë të sigurt me mikrokontrolluesin përmes rezistorëve që kufizojnë rrymën.
e përdora tranzistorë pnp, megjithatë, këtë ide nuk po ia imponoj askujt.

Atmega8 ka 3 kanale PWM: dy kanale në kohëmatës1 (kunjat PB.1 - OCR1A, PB.2 - OCR1B) dhe një në kohëmatës2 (pin PB.3 - OCR2). Duke rregulluar mbushjen PWM, ne rregullojmë tensionin në LED dhe, në përputhje me rrethanat, shkëlqimin e tij.

Ne krijojmë projekt i ri, konfiguroni kohëmatësin2.

Meqenëse OCR2 është 8-bit, dhe OCR1 është 10-bit, vlera maksimale e OCR2=0xFF(255) dhe OCR1A/B=0x3FF(1023), d.m.th. 4 herë më shumë. Ne e marrim parasysh këtë veçori, kështu që në mënyrë që kanalet të rregullohen në mënyrë të barabartë, vendosim frekuencën e kohëmatësit të jetë 4 herë më e lartë. Përkatësisht, shkëlqim maksimal për OCR2 do të jetë në 0xFF, dhe për OCR1 në 0x3FF.

Ne konfigurojmë këmbët PB1-PB3 si një dalje. Në ciklin kryesor të programit shtojmë kodin që ndizet pa probleme me ngjyrë të kuqe nga 0 në 255, dhe më pas e fiket pa probleme nga 255 në 0.

ndërsa (OCR1A<0x3FF) { OCR1A++; delay_ms(2); } while(OCR1A>0x00) ( OCR1A--; vonesë_ms(2); )

Rezultati:

Nëse keni nevojë të merrni një ngjyrë të caktuar, për shembull vjollcë, hapni disa redaktues grafik, psh Paint.net, shkoni te paleta, klikoni në ngjyrën që ju pëlqen, në të djathtë, ku shkruan RGB, do të shfaqet. vlerat numerike R=255, B=220.

Unë kam kanalin R në OCR2, kështu që mos ngurroni të shkruani 0xFF(255) në OCR2, kanalin B në OCR1A, por meqë... vlera maksimale është 1023, atëherë ne rillogaritim sipas proporcionit:

(220*1023)/255=882 kështu që ne e fusim me siguri në OCR1A, rezultati është mjaft i ngjashëm.

Ky artikull mbulon bazat e përdorimit të një LED RGB (Red Green Blue) me një Arduino.

Ne përdorim funksionin analogWrite për të kontrolluar ngjyrën RGB të LED.

Në pamje të parë, LED-et RGB duken njësoj si LED-të e zakonshëm, por ato në fakt kanë tre LED brenda: një të kuqe, një jeshile dhe po, një blu. Duke kontrolluar ndriçimin e secilit, ju mund të kontrolloni ngjyrën e LED.

Kjo do të thotë, ne do të rregullojmë ndriçimin e çdo LED dhe do të marrim ngjyra e dëshiruar dalja është sikur të ishte paleta e një artisti ose sikur po rregullonit frekuencat në luajtësin tuaj. Për këtë ju mund të përdorni rezistorë të ndryshueshëm. Por skema që rezulton do të jetë mjaft komplekse. Për fat të mirë, Arduino na ofron funksionin analogWrite. Nëse përdorim kunjat e shënuara "~" në tabelë, mund të rregullojmë tensionin që furnizohet me LED-in përkatës.

Nyjet e nevojshme

Për të zbatuar projektin tonë të vogël, do të na duhen:

1 RGB LED 10 mm

3 rezistorë 270 Ω (vija të kuqe, vjollcë, kafe). Ju mund të përdorni një rezistencë me një rezistencë deri në 1 kOhm, por mos harroni se ndërsa rritet rezistenca, LED fillon të shkëlqejë më pak.


Gjashtë shifrat e numrit korrespondojnë me tre çifte numrash; çifti i parë është përbërësi i kuq i ngjyrës, dy shifrat e ardhshme janë komponenti jeshil dhe çifti i fundit është komponenti blu. Kjo do të thotë, shprehja #FF0000 korrespondon me ngjyrën e kuqe, pasi kjo do të jetë shkëlqimi maksimal i LED-së së kuqe (FF është 255 V sistemi heksadecimal), dhe komponentët e kuq dhe blu janë të barabartë me 0.

Provoni të ndizni një LED duke përdorur, për shembull, një nuancë indigo: #4B0082.

Përbërësit e kuq, jeshil dhe blu të indigo janë përkatësisht 4B, 00 dhe 82. Ne mund t'i përdorim ato brenda funksionit "setColor" me rreshti tjetër kodi:

setColor (0x4B, 0x0, 0x82); // indigo

Për të tre komponentët, ne përdorim një shënim që prefikson secilin me një karakter kryesor "0x".

Ndërsa luani me nuanca të ndryshme të RGB LED, mos harroni të vendosni "vonesën" pas përdorimit të secilit.

PWM dhe Arduino

gjeografike modulimi i pulsit(PWM (PWM në anglisht)) është një nga metodat e menaxhimit të energjisë. Në rastin tonë, PWM përdoret për të kontrolluar ndriçimin e çdo LED individuale.

Figura më poshtë tregon në mënyrë skematike sinjalin nga një nga kunjat PWM të Arduino.


Çdo 1/500 sekondë dalja PWM gjeneron një puls. Gjatësia e këtij pulsi kontrollohet nga funksioni "analogWrite". Kjo do të thotë, "analogWrite(0)" nuk do të gjenerojë asnjë puls, por "analogWrite(255)" do të gjenerojë një sinjal që do të zgjasë deri në fillimin e atij të ardhshëm. Kjo do të thotë, do të duket se po dërgohet një puls i vazhdueshëm.

Kur specifikojmë një vlerë midis 0 dhe 255 brenda funksionit analogWrite, ne gjenerojmë një puls me një kohëzgjatje të caktuar. Nëse gjatësia e pulsit është 5%, ne do të furnizojmë 5% të fuqisë maksimale të disponueshme në daljen e specifikuar të Arduino dhe do të duket se LED nuk është në ndriçimin maksimal.

Lini komentet, pyetjet dhe ndani përvojë personale më poshtë. Idetë dhe projektet e reja lindin shpesh në diskutime!

Një kontrollues RGB përdoret për të kontrolluar këto pajisje. Por përveç tij, në vitet e fundit Përdoret pllaka Arduino.

Arduino - parimi i funksionimit

Pllaka Arduino

Një tabelë Arduino është një pajisje në të cilën është instaluar një mikrokontrollues i programueshëm. Lidhur me të sensorë të ndryshëm, kontrollon ose kodues dhe, sipas një skice (programi) të dhënë, bordi kontrollon motorët, LED-et dhe të tjerët aktivizuesit, duke përfshirë bordet e tjera Arduino duke përdorur protokollin SPI. Pajisja mund të kontrollohet nëpërmjet telekomandë, moduli bluetooth, HC-06, Wi-Fi, ESP ose internet dhe butonat. Disa nga bordet më të njohura janë Arduino Nano dhe Arduino Uno, dhe gjithashtu Arduino Pro Mini – pajisje e bazuar në mikrokontrolluesin ATmega 328


Pamja e Arduino Pro Mini
Paraqitja e Arduino Uno
Pamja e Arduino micro

Programimi kryhet në mjedisin Arduino me open kodi burimor, i instaluar në kompjuter i rregullt. Programet shkarkohen përmes USB.

Parimi i kontrollit të ngarkesës përmes Arduino


Kontrolli Arduino

Pllaka ka shumë dalje, si dixhitale, me dy gjendje - ndezur dhe fikur, dhe analoge, të kontrolluara përmes një kontrolluesi PWM me një frekuencë prej 500 Hz.

Por daljet janë të dizajnuara për një rrymë prej 20 - 40 mA me një tension prej 5 V. Kjo është e mjaftueshme për të fuqizuar një LED tregues RGB ose një modul LED matricë 32x32 mm. Për më shumë ngarkesë e fuqishme nuk mjafton.

Për të zgjidhur problem i ngjashëm në shumë projekte ju duhet të lidhni pajisje shtesë:

  • Stafetë. Përveç releve individuale me një tension të furnizimit prej 5V, ka asamble të tëra me sasi të ndryshme kontaktet, si dhe me starters të integruar.
  • Përforcues të bazuar në transistorë bipolarë. Fuqia e pajisjeve të tilla është e kufizuar nga rryma e kontrollit, por ju mund të montoni një qark nga disa elementë ose të përdorni një montim tranzistor.
  • Transistorë me efekt në terren ose MOSFET. Ata mund të kontrollojnë ngarkesa me rryma prej disa amperësh dhe tensione deri në 40 - 50 V. Kur lidhni mosfet me PWM dhe një motor elektrik ose ngarkesë tjetër induktive, nevojitet një diodë mbrojtëse. Kur lidheni me LED ose llamba LED, kjo nuk është e nevojshme.
  • Kartat e zgjerimit.

Lidhja e shiritit LED me Arduino


lidhja e shiritit LED me Arduino

Mendimi i ekspertit

Alexey Bartosh

Specialist në riparimin dhe mirëmbajtjen e pajisjeve elektrike dhe elektronike industriale.

Bëni një pyetje një eksperti

Arduino Nanos mund të kontrollojë më shumë sesa thjesht motorë elektrikë. Ato përdoren gjithashtu për shirita LED. Por meqenëse rryma e daljes dhe voltazhi i tabelës janë të pamjaftueshme për lidhje direkte shirita me LED të bashkangjitur në të, atëherë duhet të instalohen pajisje shtesë midis kontrolluesit dhe shiritit LED.

Përmes stafetës


Lidhja me rele

Releja është e lidhur me pajisjen nëpërmjet një dalje dixhitale. Shiriti i kontrolluar me të ka vetëm dy gjendje - ndezur dhe fikur. Për të kontrolluar shiritin e kuq-blu-jeshile, nevojiten tre stafetë. Rryma që mund të kontrollojë një pajisje e tillë është e kufizuar nga fuqia e spirales (një spirale me fuqi të ulët nuk është në gjendje të mbyllet kontakte të mëdha). Për t'u lidhur më shumë fuqi përdoren asambletë rele.

Përdorimi i një tranzistor bipolar


Lidhja duke përdorur një tranzistor

Për të përforcuar rrymën dhe tensionin e daljes, mund të përdorni tranzistor bipolar. Përzgjidhet në bazë të rrymës dhe tensionit të ngarkesës. Rryma e kontrollit nuk duhet të jetë më e lartë se 20 mA, prandaj furnizohet përmes një rezistence kufizuese të rrymës prej 1 - 10 kOhm.

Është më mirë të përdorni një transistor n-p-n me një emetues të përbashkët. Për një fitim më të lartë, përdoret një qark me disa elementë ose një montim transistor (mikroqark përforcues).

Përdorimi i një transistori me efekt fushë

Përveç atyre bipolare, ato përdoren për të kontrolluar brezat transistorë me efekt në terren. Një emër tjetër për këto pajisje është MOS ose MOSFET-transistor.

Një element i tillë, ndryshe nga ai bipolar, kontrollohet jo nga rryma, por nga voltazhi në portë. Kjo lejon që rryma e ulët e portës të drejtojë rryma të mëdha ngarkese - deri në dhjetëra amper.

Elementi është i lidhur përmes një rezistence kufizuese të rrymës. Përveç kësaj, është i ndjeshëm ndaj zhurmës, kështu që dalja e kontrolluesit duhet të lidhet me tokën me një rezistencë 10 kOhm.

Përdorimi i kartave të zgjerimit


Lidhja Arduino duke përdorur kartat e zgjerimit

Përveç releve dhe tranzistorëve, përdoren blloqe të gatshme dhe pllaka zgjerimi.

Ky mund të jetë Wi-Fi ose Bluetooth, një drejtues i kontrollit të motorit siç është moduli L298N ose një barazues. Ato janë krijuar për të kontrolluar ngarkesat fuqi të ndryshme dhe tensioni. Pajisjet e tilla janë me një kanal - ato mund të kontrollojnë vetëm një shirit pikturë njëngjyrëshe, dhe me shumë kanale - të dizajnuara për pajisjet RGB dhe RGBW, si dhe shirita me LED WS 2812.

Shembull i programit


Arduino dhe shirit LED

Bordet Arduino janë të afta të kontrollojnë strukturat LED paraprakisht programet e dhëna. Bibliotekat e tyre mund të shkarkohen nga faqja zyrtare e internetit, të gjenden në internet ose të shkruajnë vetë një skicë (kod) të ri. Ju mund të montoni një pajisje të tillë me duart tuaja.

Këtu janë disa opsione për përdorimin e sistemeve të tilla:

  • Kontrolli i ndriçimit. Duke përdorur një sensor drite, drita në dhomë ndizet menjëherë dhe me një rritje graduale të shkëlqimit kur perëndon dielli. Ndezja mund të bëhet edhe nëpërmjet wi-fi, me integrim në sistem " shtëpi e zgjuar» ose lidhje me telefon.
  • Ndezni dritën në shkallë ose në një korridor të gjatë. Ndriçimi LED i çdo hapi veç e veç duket shumë i bukur. Kur një sensor lëvizjeje është i lidhur me tabelën, aktivizimi i tij do të shkaktojë një ndezje të njëpasnjëshme, me vonesë në kohë të ndriçimit të shkallëve ose korridorit, dhe fikja e këtij elementi do të çojë në procesin e kundërt.
  • Muzikë me ngjyra. Duke iu dorëzuar hyrjet analoge bip përmes filtrave, dalja është një instalim muzikor me ngjyra.
  • Modifikimi i kompjuterit. Me ndihmën e sensorëve dhe programeve të duhura, ngjyra e LED-ve mund të varet nga temperatura ose ngarkesa e CPU-së ose RAM. Kjo pajisje funksionon duke përdorur protokollin dmx 512.
  • Kontrollimi i shpejtësisë së dritave të ndezjes duke përdorur një kodues. Instalime të ngjashme montuar në mikroqarqet WS 2811, WS 2812 dhe WS 2812B.

Udhëzime video

Ky artikull do të diskutojë mekanizmat praktikë për formimin dhe ndryshimin e parametrave të ngjyrave Llambë LED, problemet që dalin dhe mënyrat e zgjidhjes së tyre. Gjithçka që përshkruhet në artikull është përvoja ime e punës me dritën gjatë zbatimit të projektit.

Si formohet ngjyra duke përdorur LED.

Le të fillojmë nga fillimi - le të përcaktojmë se si formohet ngjyra, në përgjithësi, në jetë (të gjithë e dinë, por për çdo rast...). Çdo nuancë e ngjyrës formohet duke përdorur tre ngjyra kryesore. Në rastin tonë, kur ngjyra formohet nga burimet e dritës (sinteza e aditivëve) është:
- R e kuqe e kuqe
- G jeshile jeshile
- B blu

Duke kombinuar vetëm tre ngjyra kryesore në përmasa të ndryshme, mund të merrni çdo nuancë të ngjyrës. Të gjithë ndoshta e kanë parë foton e mëposhtme - ajo përcjell thelbin e sa më sipër

Prandaj, në mënyrë që një llambë të jetë në gjendje të krijojë çdo nuancë ngjyrash, ajo duhet gjithashtu të ketë të paktën tre burime të ngjyrave kryesore. Në praktikë kjo është e vërtetë. Për shembull, çdo LED RGB është, në fakt, tre LED të veçanta (kristale që lëshojnë) në një strehë.

Për të kontrolluar një LED RGB, mikrokontrolluesi duhet të kontrollojë veçmas secilën nga tre ngjyrat kryesore dhe të ketë tre dalje të veçanta për çdo ngjyrë.

Duke kontrolluar LED-të me sinjal dixhital(aktivizuar/çaktivizuar) ju mund të merrni gjithsej 7 ngjyra:
- tre ngjyra kryesore (kur ndriçohet vetëm një ngjyrë kryesore)
- tre ngjyra të përbëra (kur ndriçohen dy ngjyra kryesore)
- ngjyra e bardhë (të tre ngjyrat kryesore janë të ndriçuara)

Për të marrë një larmi nuancash ngjyrash, duhet të kontrolloni intensitetin e shkëlqimit të secilës prej ngjyrave kryesore. Për të kontrolluar intensitetin e shkëlqimit përdoret modulimi i gjerësisë së pulsit sinjal dixhital (PWM ose PWM). Duke ndryshuar ciklin e funksionimit të sinjalit, krijohet iluzioni i ndryshimit të shkëlqimit të LED-it për syrin. Për të parandaluar që syri të vërejë ndërrimin LED, frekuenca e sinjalit PWM duhet të jetë së paku 50-60 Hz.

Meqenëse ka tre burime rrezatimi në ndriçues, ndriçuesi duhet të kontrollohet në përputhje me rrethanat nga tre sinjale PWM R, G, B. Çdo nivel PWM (dhe ndriçimi i ndriçuesit) është një vlerë e caktuar e ciklit të funksionimit të sinjalit.

Më shpesh, vlera e ciklit të punës përcaktohet nga një numër me madhësi bajti - 8 bit (dhe ne do të përdorim një bajt). Këto janë 256 shkallëzime të secilës prej ngjyrave kryesore dhe 256*256*256=16777213 nuanca ngjyrash në përgjithësi. Në fakt, kjo nuk është plotësisht e vërtetë - më poshtë do t'ju tregoj pse.

Nga sa më sipër, arrijmë në përfundimin se MK duhet të gjenerojë tre sinjale PWM për një llambë LED me një frekuencë mbi 60 Hz dhe një rezolucion prej 256 vlerash (8 bit).

Duke aplikuar Mikrokontrolluesit AVR(si, në të vërtetë, çdo tjetër) - ky nuk është problem, pasi shumica e tyre kanë një numër të mjaftueshëm të formësuesve të pajisjeve 8-bitësh PWM (timera), të cilët, me konsum minimal të burimeve MK, mund të ofrojnë çdo frekuencë gjenerimi PWM, deri në dhjetëra kHz. Në rastin e përdorimit të softuerit formues PWM, numri i formuesve të tillë mund të rritet në numrin e këmbëve të lira të MK (frekuenca e gjenerimit të PWM, në këtë rast, është e mundur deri në disa kilohertz).

Parametrat e kontrollitLlambë LED.

Le të vendosim për parametrat e ngjyrave që do të donim të ndryshonim. Meqenëse kemi tre vlera të ciklit të punës për ngjyrat kryesore R, G, B, do të ishte logjike të rregullonim këto tre parametra - domethënë, intensitetet e përbërësve të kuq, jeshil dhe blu të ngjyrës. Në praktikë, kjo nuk është shumë qasja e duhur, pasi nuk ju lejon të zgjidhni me lehtësi ngjyrën e llambës sonë. Për shembull, në mënyrë që të zvogëloni shkëlqimin e llambës duke lënë të njëjtën ngjyrë të shkëlqimit. Ju duhet të ktheni tre rregullatorë menjëherë, dhe në kënde të ndryshme. Në fakt, çdo ndryshim (rregullim) i llambës sonë do të duket si vendosja e saj nga e para. Është shumë më e natyrshme të rregulloni ndriçimin (ose ndonjë parametër tjetër) me një kontroll.

Në përgjithësi, ekzistojnë shumë sisteme kontrolli (përzgjedhja e ngjyrave) për aplikacione të ndryshme

Sistemi RGBështë një prej tyre, me tre kontrolle për secilën nga ngjyrat kryesore, siç përshkruhet më sipër.

SistemetXYZ, LAB dhe të tjerat nuk janë shumë të përshtatshme për ne.

Më e natyrshme ndryshon (vendos) parametrat e ndriçimit - Sistemi HSB(dhe të ngjashme HSL, HSV). Në HSB, paleta e ngjyrave formohet duke vendosur kuptime të ndryshme parametrat bazë:

Hue(hija e ngjyrës). Vendoset në gradë nga 0 në 360. 0 – ngjyra e kuqe. 120 - jeshile, 240 - blu. Gjithçka në mes është një përzierje e ngjyrave kryesore.
Ne do të përdorim vlerënMadhësia e bajtit të ngjyrës (0 deri në 255).
0 - ngjyra e kuqe. 85 - jeshile, 170 - blu.

Ngopja(ngopje). Është vendosur si përqindje nga 0 në 100. 100 është ngopja maksimale e ngjyrave. Kur reduktohet në zero, kjo është një humbje e ngjyrës deri në gri.
Ne do të përdorim një vlerë të ngopjes me madhësi bajt (0 deri në 255).

Shkëlqimi(shkëlqimi). Është vendosur si përqindje nga 0 në 100. 100 është shkëlqimi maksimal i ngjyrës (por jo i bardhë!). Kur reduktohet në zero, ka një humbje të shkëlqimit deri në të zezë.
Ne do të përdorim një vlerë të ndriçimit të madhësisë së bajtit (0 deri në 255).

Nëse përdorni këtë sistem kur rregulloni ngjyrën, gjithçka rezulton shumë e përshtatshme. Ne kthejmë njërën çelës - ndryshojmë tonin e ngjyrës (duke mbetur në të njëjtin shkëlqim), ne kthejmë tjetrin - ne ndryshojmë shkëlqimin (pa ndryshuar ngjyrën) - shkëlqyeshëm! Por sistemi ka edhe disavantazhe. E para është se duke ruajtur vlerat në variabla me madhësi bajte, ne humbasim disa nga informacionet e ngjyrave (për shembull, për të ruajtur të gjitha opsionet e mundshme Për ton ngjyra na duhen 768 vlera dhe po përpiqemi t'i përshtasim të gjitha në 256 vlera). E dyta - gjithsesi, në fund, vlera përfundimtare duhet të jetë në Sistemi RGB për daljen e sinjaleve PWM në LED. Dhe së treti - në rastin kur nevojitet një konvertim tjetër - do të jetë shumë më e vështirë të bëhet me sistemin HSB sesa me RGB.

Në pajisjen AAL vendosa të zbatoj transformime të ndryshme si më poshtë:
1 Informacioni i ngjyrave ruhet në tre bajt R_bazë,G_bazë,B_bazë(Sistemi RGB). Unë e quajta këtë vlerë themelore. Ai ruan informacionin e ngjyrave pa humbje.
2 Për transformimet përdoret vlera e vlerës së transformimit (shift). Ndërrimi madhësia e bajtit.
3 Transformimi i kërkuar kryhet në procedurat përkatëse, të dhënat fillestare për të cilat janë vlera bazë e ngjyrës R_base, R_base, R_base dhe vlera e transformimit përkatës Shift. Në dalje marrim tre vlera në sistemin RGB ( R_ndërrim,G_ndërrim,B_ndërrim), të cilat dalin në LED në formën e sinjaleve PWM.

Me këtë skemë, është e përshtatshme për ne të menaxhojmë parametra të ndryshëm dritë dhe ruajmë sa më saktë informacionin për ngjyrën fillestare (bazë).

Zbatimi i transformimeve të ngjyrave në një mikrokontrollues.

Problemi me zbatimin e menaxhimit të ngjyrave në një mikrokontrollues është se shumica dërrmuese e konvertimeve kërkojnë shumëzimin e bajtit me një faktor konvertimi të pjesshëm (një numër midis 0 dhe 1).
Për shembull, zvogëlimi i shkëlqimit përgjysmë:
R_shift = R_bazë * 0.5
G_shift = G_bazë * 0.5
B_shift = B_bazë * 0.5

Me shumëzimin e numrave të plotë në mikrokontrolluesit AVR gjithçka është në rregull (shumëzimi 8-bit kryhet nga një operator në vetëm 2 cikle ore - deri në 10 milionë shumëzime në sekondë!), por nëse kalojmë në një sistem numrash me pikë lundruese, do të jetë disa urdhra të madhësisë më të ngadaltë dhe shumë të rëndë. Në rastet kur nevojiten rillogaritje të shpejta sasi e madhe vlerat, mikrokontrolluesi thjesht nuk do të vazhdojë.
Problemi me ndarjen është edhe më i keq (ky është një opsion për t'u larguar nga shumëzimi i pjesshëm) - thjesht nuk ka pajisje për të. Implementimi i softuerit ndarja është gjithashtu mjaft e rëndë.

Idealisht, të gjitha transformimet e ngjyrave duhet të zbatohen duke përdorur shumëzimin e numrave të plotë, zhvendosjet e bitave, mbledhjen dhe zbritjen. Në përgjithësi nuk këshillohet përdorimi i ndarjes.
Kjo është ajo që ne do të bëjmë tani!

Problemi i shumëzimit me një koeficient thyesor zgjidhet shumë thjesht! Nëse përdorim një vlerë të madhësisë së bajtit (0 – 255) si koeficient, duke marrë vlera maksimale byte (255) për njësi, atëherë mund të arrini vetëm me shumëzim të plotë.

0 ~ 0/255 = 0
10 ~ 10/255 = 0,04
128 ~ 128/255 = 0,5
255 ~ 255/255 = 1

Tani, shembulli i mëparshëm do të duket kështu:
R_shift = (R_baza * 128) / 255
G_shift = (G_baza * 128) / 255
B_shift = (B_bazë * 128) / 255

Pas shumëzimit të dy vlerave 8-bit (R_base*128), marrim një rezultat 16-bit (dy bajt). Duke hequr bajtin e ulët dhe duke përdorur vetëm bajtin e lartë, ne e ndajmë vlerën me 256.
Duke e ndarë me 256 , në vend të atyre që kërkohen 255 , ne futim një gabim të vogël në rezultat. Në rastin tonë, kur rezultati përdoret për të gjeneruar shkëlqim duke përdorur PWM, gabimi mund të neglizhohet, pasi nuk do të jetë i dukshëm për syrin.

Në assembler, zbatimi i kësaj metode të shumëzimit me një koeficient është elementar dhe nuk do të shkaktojë ndonjë vështirësi (vetëm disa operatorë). Në gjuhë nivel të lartë, duhet të kujdeseni që përpiluesi të mos krijojë kod të tepërt.

Le të kalojmë tek vetë transformimet.

Më lejoni t'ju kujtoj se çdo transformim përfshin:
- ngjyra bazë e specifikuar nga tre variabla R_bazë, G_bazë, B_bazë(Madhësia e bajtit)
- faktori i konvertimit Ndërrimi(Madhësia e bajtit)

Rezultati:
— Ngjyra e “ndryshuar”, në formën e tre vlerave R_shift, G_shift, B_shift(Madhësia e bajtit)

Formulat e mëposhtme mund të duken të çuditshme, por unë i shkrova ato në atë mënyrë që së pari, sekuenca e veprimeve ishte e dukshme, dhe së dyti, për të thjeshtuar veprimet sa më shumë që të ishte e mundur, duke reduktuar gjithçka në shumëzim, mbledhje, zbritje dhe zbritje 8-bitëshe 8-bitëshe. pak zhvendosje.

Ndriçimi (shkëlqim)

- transformimi më i thjeshtë.
Në:
Shift=0 LED i fikur
Shift=255 LED ndizet në ngjyrën bazë.
Të gjitha vlerat e ndërmjetme Shift janë një errësim i ngjyrës bazë.

R_shift = (R_baza * Zhvendosja) / 256
G_shift = (G_base * Shift) / 256
B_shift = (B_baza * Zhvendosja) / 256

* Ju kujtoj se pjesëtimi me 256 është thjesht heqja e bajtit të ulët të rezultatit të një shumëzimi të plotë prej 2 bajtësh.

Rrufeja (Ngjyrë)

- kjo vlerë nuk përfshihet në sistemin HSB, por është i përshtatshëm për t'u përdorur në rregullime. Ngjyrosja është një lloj vazhdimi i rregullimit të shkëlqimit në të bardhë.
Në:
Shift=0 – LED ndizet në ngjyrën bazë
Shift=255 – LED ndizet e bardhë
Të gjitha vlerat e ndërmjetme Shift ndriçojnë ngjyrën bazë.

R_shift = (R_base*(255 - Shift)) / 256 + Shift
G_shift = (G_base*(255 - Shift)) / 256 + Shift
B_shift = (B_baza *(255 - Shift)) / 256 + Shift

* Koeficienti (255 - Shift) mund të zbatohet me një inversion operator - bit (natyrisht, me kusht që Shift të jetë Byte|Char)

Shkëlqimi (Lehtësia)

- kjo vlerë gjithashtu nuk përfshihet në sistemin HSB. Rregullimi bëhet nga LED i fikur, përmes ngjyrës bazë dhe në të bardhë.
Në:
Shift=0 – LED është i fikur
Shift=128 – LED ndizet në ngjyrën bazë
Shift =255 - LED ndizet e bardhë.

Zbatuar përmes dy transformimeve të mëparshme.
Me Shift< 128 применяем Shkëlqimi c Shift (për Ndriçim) = Shift*2
Me Shift >=128 aplikojmë Ngjyrosje c Shift(për Tint) = (Shift-128)*2

Ngopja(ngopje)

- kromaticiteti - kalimi nga gri në ngjyrë
Në:
Shift=0 – LED ndizet e bardhë me një shkëlqim të barabartë me vlerën mesatare të ngjyrës bazë
Shift=255 – LED ndizet në ngjyrën bazë
Të gjitha vlerat e ndërmjetme Shift janë një "humbje" e ngjyrës.

RGB_mesatare= ((R_baza + B_baza)/2 + G_baza) / 2

* më e sakta, sigurisht, është (R_base + G_base + B_base)/3, por duhet të pjesëtosh me 3, dhe kjo nuk mund të bëhet me një zhvendosje

R_shift = (R_base * Shift) / 256 + (RGB_mesatar * (255 - Shift)) / 256
G_shift = (G_baza * Shift) / 256 + (RGB_mesatare * (255 - Shift)) / 256
B_shift = (B_base * Shift) / 256 + (RGB_mesatar * (255 - Shift)) / 256

Ndrysho tonin (Ngjyra)

Ndryshimi rrethor në hijen e ngjyrës.
Transformim kompleks që ndryshon në secilën nga tre zonat e vlerës së Shift
Për shembull, nëse ngjyra bazë është e kuqe, atëherë:
Shift=0 – LED shkëlqen me ngjyrë të kuqe
Shift=85 – LED ndizet jeshile
Shift=170 – LED shkëlqen blu
Shift=255 – LED ndizet sërish me ngjyrë të kuqe

Me Shift< 86:
Shift_a= Shift * 3
R_shift = (G_baza * Shift_a) / 256 + (R_baza * (255 - Shift_a)) / 256
G_shift = (B_baza * Shift_a) / 256 + (G_baza * (255 - Shift_a)) / 256
B_shift = (R_baza * Shift_a) / 256 + (B_baza * (255 - Shift_a)) / 256

Kur Shift > 85 dhe Shift< 171:
Shift_a= (Shift-85) * 3
R_shift = (B_baza * Shift_a) / 256 + (G_baza * (255 - Shift_a)) / 256
G_shift = (R_baza * Shift_a) / 256 + (B_baza * (255 - Shift_a)) / 256
B_shift = (G_baza * Shift_a) / 256 + (R_baza * (255 - Shift_a)) / 256

Me Shift > 170:
Shift_a= (Shift-170) * 3
R_shift = (R_baza * Shift_a) / 256 + (B_baza * (255 - Shift_a)) / 256
G_shift = (G_baza * Shift_a) / 256 + (R_baza * (255 - Shift_a)) / 256
B_shift = (B_baza * Shift_a) / 256 + (G_baza * (255 - Shift_a)) / 256

përmbysja (përmbysja)

- përfaqëson një kalim nga një ngjyrë në versionin e saj të kundërt. Për shembull, ngjyra e kundërt për të kuqe është blu.
Shift=0 – LED ndizet në ngjyrën bazë
Shift=128 – LED ndizet e bardhë (gri) – pika e mesme e përmbysjes
Shift=255 – LED ndizet në një ngjyrë të kundërt me atë bazë
Të gjitha vlerat e ndërmjetme Shift janë tranzicion të qetë midis ngjyrave.

R_shift = ((255 - R_baza) * Zhvendosja) / 256 + (R_baza * (255 - Zhvendosja)) / 256
G_shift = ((255 - G_base) * Shift) / 256 + (G_baza * (255 - Shift)) / 256
B_shift = ((255 - B_baza) * Shift) / 256 + (B_baza * (255 - Shift)) / 256

Tani për tani, këto janë të gjitha parametrat që kam menduar të rregulloj. Nëse më del diçka tjetër interesante, do ta shtoj këtu më vonë.

Ekziston një problem tjetër që do të doja të prekja në kontekstin e këtij artikulli -

Jolineariteti i perceptimit të PWM nga syri i njeriut

Rezulton se syri i njeriut e percepton shkëlqimin e një LED në mënyrë jolineare. Ky problem ka qenë prej kohësh i njohur dhe prodhuesit e kanë zgjidhur atë me shkallë të ndryshme suksesi. pajisje të ndryshme. Ka studime dhe formula eksperimentale. Këtu, për shembull, është një grafik varësie nga .

Nga grafiku shihet qartë se në zonat fillestare rregullimi, shkëlqimi na duket se është tre herë më i madh se sa matet nga pajisja.

Kjo do të thotë, nëse ky faktor nuk merret parasysh, atëherë duke rrotulluar dorezën konvencionale të rregullatorit, do të marrim të gjitha ndryshimet në gjysmën e parë të revolucionit, dhe gjysma e dytë në të vërtetë nuk do të ndryshojë dukshëm gjendjen aktuale.

Pikërisht për shkak të efektit të jolinearitetit që shkrova më sipër, në fakt, ngjyra 3-byte (24-bit) nuk i jep fare ato 16 milionë nuanca, siç duan të shkruajnë shumë prodhues. Hije të plota, në skenari më i mirë, do të jetë një rend i madhësisë më i vogël.

Si të zgjidhet problemi i jolinearitetit të perceptimit të PWM nga syri i njeriut?
Në mënyrë ideale, ju duhet të përdorni një nga formulat e nxjerra eksperimentalisht, por shpesh ato janë shumë komplekse për t'u llogaritur në një mikrokontrollues.
Ju gjithashtu mund të krijoni një tabelë vlerash për rillogaritjen e PWM (duke ulur kohën e llogaritjes, por duke sakrifikuar një pjesë të kujtesës MK).
Në rastin tonë, kur nuk ka nevojë për saktësi të madhe në përcjelljen e nuancave të shkëlqimit, mund të aplikojmë një formulë të thjeshtuar për të ashtuquajturën fuqi të rrezatimit:

R_PWM = (R_shift * R_shift) / 256
G_PWM = (G_shift * G_shift) / 256
B_PWM = (B_shift * B_shift) / 256

* shumëzojeni vlerën në vetvete dhe hidhni bajtin e ulët të rezultatit.

Kjo është ndoshta gjithçka që doja t'ju tregoja për ngjyrën LED. Të gjitha transformimet e përshkruara në artikull u zbatuan nga unë në pajisjen AAL. Përveç kësaj, unë do të bëj modul i veçantë Ngjyra në Mund të shihet një demonstrim i algoritmeve në një LED RGB dhe një piksel WS2812.

(Vizituar 10,683 herë, 1 vizita sot)

Artikujt më të mirë mbi këtë temë