Përmbajtje:
- Golat
- Përvoja dhe Aftësitë
- Mohim dhe Kredi
- Hapi 1: Pjesët
- Lista e Pjesëve
- Pjesë të përgjithshme
- Pjesë të veçanta të përdorura këtu
- Shënime në lidhje me pjesët
- Hapi 2: Matrica
- Konsideratat e Ndërtimit
- Ndërtimi i matricës
- E rëndësishme
- Hapi 3: Pajisjet e kontrollit
- Ndërtimi i pajisjeve të kontrollit
- Hapi 4: Softuer
- Truku
- Regjistrat e ndërrimit: si
- Duke iu drejtuar ekranit
- Programimi
- Në Veprim
- Hapi 5: Konceptet modulare
- Matematikë
- Regjistrat Cascading Shift
- Drejtues të shumëfishtë të rreshtit
- Për shembull
- Hapi 6: Përfundimi
- Shtesa të mundshme
- Hapi 7: Ndiqni
- Karakteristikat e Bordit të Qarkut
- Kuvendi
Video: Matrica LED duke përdorur regjistrat Shift: 7 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:30
Ky udhëzues ka për qëllim të jetë një shpjegim më i plotë se të tjerët në dispozicion në internet. Veçanërisht, kjo do të japë më shumë shpjegime harduerike sesa është në dispozicion në LED Marquee të udhëzueshme nga led555.
Golat
Ky udhëzues paraqet konceptet e përfshira me regjistrat e ndërrimit dhe drejtuesit e lartë. Duke ilustruar këto koncepte me një matricë LED 8x8 shpresoj t'ju ofroj mjetet e nevojshme për t'u përshtatur dhe zgjeruar në madhësinë dhe paraqitjen që kërkon projekti juaj.
Përvoja dhe Aftësitë
Unë do ta vlerësoja këtë projekt me vështirësi mesatare:
- Nëse tashmë keni përvojë në programimin e mikrokontrolluesve dhe punën me LED, ky projekt duhet të jetë mjaft i lehtë për ju që të përfundoni dhe të shkallëzoni në vargje më të mëdhenj të dritave.
- Nëse sapo jeni duke filluar me mikrokontrolluesit dhe keni ndezur një ose dy LED ju duhet të jeni në gjendje ta përfundoni këtë projekt me ndihmën e mikut tonë google.
- Nëse keni pak ose aspak përvojë me mikrokontrolluesit ose programimin, kjo është ndoshta përtej asaj që duhet të përfshiheni. Provoni disa projekte të tjera fillestare dhe kthehuni kur të keni më shumë përvojë në shkrimin e programeve për mikrokontrolluesit.
Mohim dhe Kredi
Së pari, unë nuk jam një inxhinier elektrik. Nëse shihni diçka që është e gabuar, ose jo një praktikë më e mirë, ju lutem më tregoni dhe unë do të bëj korrigjimin. Bëni këtë në rrezikun tuaj! Duhet të dini se çfarë po bëni ose mund të shkaktoni dëme në kompjuterin tuaj, mikrokontrolluesin tuaj, madje edhe veten. Kam mësuar shumë nga interneti, veçanërisht nga forumet në: https://www.avrfreaks.net Unë jam duke përdorur një grup fontesh që erdhi me bibliotekën universale C ks0108. Kontrolloni këtë këtu:
Hapi 1: Pjesët
Lista e Pjesëve
Pjesë të përgjithshme
Për të bërë një rrjet LED 8x8 dhe për t'i kontrolluar ato do t'ju duhet:
- 64 LED të zgjedhjes suaj
- 8 Rezistorë për LED
- 1 Shift regjistër për kolonat
- 1 Grup shoferësh për rreshtat
- 8 Rezistorë për ndërrimin e grupit të drejtuesit
- 1 mikrokontrollues
- 1 burim ore për mikrokontrollues
- 1 tabelë prototipimi
- 1 furnizim me energji elektrike
- Teli lidhës
Pjesë të veçanta të përdorura këtu
Për këtë udhëzues kam përdorur sa vijon:
- 64 LED të gjelbër (pjesa e mausit #604-WP7113GD)
- 8 Rezistorë 220ohm 1/4 vat për LED (Pjesa e Mouser #660-CFS1/4CT52R221J)
- 1 drejtues LED HEF4794 me regjistër ndërrimi (Pjesa e mouserit #771-HEF4794BPN)
- 1 mic2981 Array High-Voltage High-Current Source Array (Digikey pjesa #576-1158-ND)
- 8 Rezistenca 3.3kohm 1/4 vat për ndërrimin e grupit të drejtuesit (Radio Shack pjesa #271-1328)
- 1 mikrokontrollues Atmel ATmega8 (Pjesa e mausit #556-ATMEGA8-16PU)
- 1 kristal 12MHz për burimin e orës së mikrokontrolluesit (Pjesa e mausit #815-AB-12-B2)
- 1 dërrasë prototipimi 2200 vrima (Radio Shack pjesa #276-147)
- Furnizimi me energji ATX i konvertuar: Shihni këtë udhëzues
- Teli i fortë 22-awg me tela lidhës (Radio Shack pjesa #278-1221)
- Bordi i bukës pa saldim (Radio Shack pjesa #276-169 (nuk është më në dispozicion, provoni: 276-002)
- AVR Dragon (Mouser pjesa #556-ATAVRDRAGON)
- Dragon Rider 500 nga Ecros Technologies: Shihni këtë udhëzues
Shënime në lidhje me pjesët
Drejtuesit e rreshtave dhe kolonave: Ndoshta pjesa më e vështirë e këtij projekti është zgjedhja e drejtuesve të rreshtit dhe kolonës. Së pari, unë nuk mendoj se një regjistër standard ndërrimi 74HC595 është një ide e mirë këtu sepse ata nuk mund të trajtojnë llojin e rrymës që duam të dërgojmë përmes LED -ve. Kjo është arsyeja pse unë zgjodha drejtuesin HEF4794 pasi ai lehtë mund të fundosë rrymën aktuale kur të 8 led -et janë në një rresht janë të ndezur. Regjistri i ndërrimit është i pranishëm në anën e ulët (kunja tokësore e leds). Do të na duhet një drejtues rreshti që mund të burojë rrymë të mjaftueshme për të lidhur kolona të shumta së bashku. Mic2981 mund të furnizojë deri në 500mA. E vetmja pjesë tjetër që kam gjetur që kryen këtë detyrë është UDN2981 (pjesa digikey #620-1120-ND) e cila është e njëjta pjesë nga një prodhues tjetër. Ju lutemi më dërgoni një mesazh nëse njihni drejtues të tjerë të anës së lartë që do të funksiononin mirë në këtë aplikacion. Matricë LED: Kjo matricë është 8x8 sepse drejtuesit e rreshtave dhe kolonave secili kanë 8 kunja. Një grup më i madh LED mund të ndërtohet duke lidhur matrica të shumta së bashku dhe do të diskutohet në hapin e "koncepteve modulare". Nëse dëshironi një grup të madh, porositni të gjitha pjesët e nevojshme në të njëjtën kohë. Ka matrica LED 8x8, 5x7 dhe 5x8 në dispozicion në një paketë të përshtatshme. Këto duhet të jenë të lehta për t'u zëvendësuar me një matricë të caktuar. Ebay është një burim i mirë për këto. Mouser ka disa njësi 5x7 në dispozicion, siç është pjesa #604-TA12-11GWA. Kam përdorur LED të gjelbër të lirë sepse thjesht luaj dhe argëtohem. Duke shpenzuar më shumë për ndriçim të lartë, LED me efikasitet të lartë mund t'ju lejojë të prodhoni një ekran me pamje shumë më spektakolare … kjo është mjaft e mirë për mua megjithatë! Control Hardware: Matrica kontrollohet nga një mikrokontrollues Atmel AVR. Për këtë do t'ju duhet një programues. Për shkak se jam duke prototipizuar unë jam duke përdorur Dragon Rider 500 për të cilin kam shkruar udhëzime për montim dhe përdorim. Ky është një mjet i lehtë për prototipimin dhe e rekomandoj shumë.
Hapi 2: Matrica
Unë do të ndërtoj matricën time LED për këtë projekt duke përdorur led 5mm dhe një bord prototipizimi nga Radio Shack. Duhet të theksohet se ju mund të blini module LED me matricë 8x8 pika nga disa burime, përfshirë ebay. Ata duhet të punojnë mirë me këtë udhëzues.
Konsideratat e Ndërtimit
LEDS duhet të rreshtohen në mënyrë që ata të përballen me të njëjtin drejtim në të njëjtin kënd. Kam gjetur se opsioni më i lehtë për mua ishte të vendosja trupin e ndriçimit LED në tabelë dhe ta mbaja atje me një copë të vogël pleksiglas dhe një kapëse. Vendosa disa LED në vend disa centimetra larg rreshtit në të cilin po punoja për t'u siguruar që pleksiglasi ishte paralel me tabelën e prototipimit. Rreshta dhe kolonaNe duhet të kemi një lidhje të përbashkët për secilën rresht, si dhe secilën kolonë. Për shkak të zgjedhjes së drejtuesit të rreshtit dhe kolonës, ne duhet të kemi anodën (plumbi pozitiv i LED) të lidhur me rresht dhe katodën (plumbi negativ i LED) të lidhur me kolonë. Telat e KontrollitPër këtë prototip unë jam duke përdorur tela lidhës me bërthamë të fortë (përçues të vetëm). Kjo do të jetë shumë e lehtë për tu ndërlidhur me një dërrasë buke pa saldim. Mos ngurroni të përdorni një lloj lidhës të ndryshëm që i përshtatet projektit tuaj.
Ndërtimi i matricës
1. Vendosni kolonën e parë të LEDS në tabelën e prototipimit.2. Kontrolloni dy herë që polariteti juaj për secilën LED është i saktë, kjo do të jetë shumë e vështirë për tu rregulluar nëse e kuptoni më vonë. Ngjitini të dy drejtuesit e ZHEL në tabelë. Kontrolloni për t'u siguruar që ato janë rreshtuar saktë (jo në kënde të çuditshme) dhe hiqni prizat e katodës. Sigurohuni që të mos e prishni plumbin e anodës, do të na duhet më vonë kështu që vetëm lini atë drejtuar lart. Hiqeni izolimin nga një copë teli me bërthamë të fortë. Ngjiteni këtë copë teli në secilën katodë pikërisht në nivelin e tabelës.
- Unë e trajtova këtë në secilin fund, pastaj u ktheva dhe shtova pak saldim në secilën kryqëzim.
- Ky tel duhet të kalojë LED -in tuaj të fundit për të krijuar një ndërfaqe të lehtë kur shtojmë telat e kontrollit.
5. Përsëritni pjesët 1-4 derisa të keni të gjitha LED-të në vend dhe të gjithë autobusët e kolonave të ngjitur.6. Për të krijuar një autobus rresht, përkulni disa prej prizave të anodës në një kënd prej 90 gradë, në mënyrë që të prekin lidhjet e tjera të anodës në të njëjtin rresht.
- Ka fotografi të hollësishme të kësaj më poshtë.
- Kini kujdes që këto të mos vijnë në kontakt me autobusët e kolonave, duke krijuar një qark të shkurtër.
7. Saldoni prizat në secilën kryqëzim dhe hiqni prizat e tepërta të anodës.
Lëreni anodën e fundit të ngjitet pas LED -it përfundimtar. Kjo do të përdoret për të lidhur telat e kontrollit të drejtuesit të rreshtit
8. Përsëritni pjesët 6 & 7 derisa të jenë ngjitur të gjithë autobusët e rreshtave.9. Bashkangjit telat e kontrollit.
- Kam përdorur tela të kuqe të ngurta me bërthamë për rreshtat dhe të zezë për kolonat.
- Lidhni një tel për secilën kolonë dhe një për secilën rresht. Kjo mund të bëhet lehtësisht në fund të secilit autobus.
E rëndësishme
Kjo matricë LED nuk ka ndonjë rezistencë kufizuese aktuale. Nëse e provoni këtë pa rezistorë, me siguri do të digjni LED -et tuaja dhe e gjithë kjo punë do të jetë e kotë.
Hapi 3: Pajisjet e kontrollit
Ne duhet të kontrollojmë kolonat dhe rreshtat e matricës sonë LED. Matrica është ndërtuar në mënyrë që Anodat (ana e tensionit të LED) të përbëjnë rreshtat, dhe Katodat (ana tokësore e LED) përbëjnë kolonat. Kjo do të thotë që drejtuesi ynë i rreshtit duhet të burojë rrymën dhe drejtuesi ynë i kolonës duhet ta fundosë atë. Për të kursyer në kunjat, unë jam duke përdorur një regjistër ndërrimi për të kontrolluar kolonat. Në këtë mënyrë unë mund të kontrolloj një numër pothuajse të pakufizuar kolonash me vetëm katër kunja mikrokontrollues. Threeshtë e mundur të përdoren vetëm tre nëse kunja Enable Output është e lidhur drejtpërdrejt me tensionin. Unë kam zgjedhur drejtuesin LED HEF4794 me regjistër ndërrimi. Ky është një opsion më i mirë se një standard 74HC595 pasi mund të fundosë lehtë të tashmen kur të 8 LED -të janë ndezur njëherësh. Në anën e lartë (burimi aktual për rreshtat) unë jam duke përdorur një mic2981. Skema tregon një UDN2981, besoj se këto të dyja janë të këmbyeshme. Ky drejtues mund të burojë deri në 500mA rrymë. Për shkak se ne po ngasim vetëm 1 rresht në të njëjtën kohë kjo jep shumë mundësi për zgjerim, deri në 33 kolona për këtë çip (më shumë për atë në hapin "koncepte modulare").
Ndërtimi i pajisjeve të kontrollit
Për këtë të udhëzueshëm, unë sapo kam ngrënë në qark këtë qark. Për një zgjidhje më të përhershme ju do të dëshironi të gdhendni tabelën tuaj të qarkut ose të përdorni bordin e prototipimit. Shoferi i rreshtit
- Vendoseni mic2981 (ose UDN2981) në tabelën e bukës
- Lidhni Pin 9 me Tensionin (Kjo është konfuze në skemën)
- Lidhni Pin 10 me Ground (Kjo është konfuze në skemën)
- futni rezistenca 3k3 që lidhen me kunjat 1-8
- Lidhuni nga Porta D e ATmega8 (PD0-PD8) me 8 rezistorët
- Lidhni telat e kontrollit me 8 rreshta të matricës LED në kunjat 11-18 (vini re se unë kam lidhur rreshtin më të ulët të LED-ve në Pin 18 dhe rreshtin më të lartë në Pin 11).
2. Drejtuesi i Kolonës
- Vendoseni hef4794 në tabelën e bukës
- Lidhni Pin 16 me tensionin
- Lidhni Pin 8 me tokën
- Lidhni rezistencat 220 ohm në kunjat 4-7 dhe 11-14.
- Lidhni telat e kontrollit me 8 kolona nga matrica LED me 8 rezistorët që sapo keni lidhur.
- Lidhni Pin1 (Latch) me PC0 të ATmega8
- Lidhni Pin2 (Të dhënat) me PC1 të ATmega8
- Lidhni Pin3 (Ora) me PC2 të ATmega8
- Lidhni Pin15 (Aktivizoni daljen) me PC3 të ATmega8
3. Ora Kristal
Lidhni një kristal kristal 12MHz dhe ngarkues siç tregohet në skemë
4. ISP
Lidhni titullin e programimit siç tregohet në skemë
5. Filtrimi i kondensatorit dhe rezistencës tërheqëse
- Bestshtë mirë që të filtroni tensionin e furnizuar në ATmega8. Përdorni një kondensator 0.1uf midis Pin 7 & 8 të ATmega8
- Kodi i rivendosjes nuk duhet të lihet të lundrojë pasi mund të shkaktojë rivendosje të rastësishme. Përdorni një rezistencë për ta lidhur atë me tensionin, çdo gjë rreth 1k duhet të jetë e mirë. Unë kam përdorur një rezistencë 10k në skemë.
6. Sigurohuni që jeni duke përdorur fuqi +5v të rregulluar. Varet nga ju që të hartoni rregullatorin.
Hapi 4: Softuer
Truku
Po, si gjithçka, ka një truk. Truku është se nuk ka kurrë më shumë se 8 LED të ndriçuar në të njëjtën kohë. Që kjo të funksionojë mirë, nevojitet pak programim dinak. Koncepti që kam zgjedhur është të përdor një ndërprerës të kohëmatësit. Ja se si funksionon ndërprerja e ekranit në anglisht të thjeshtë:
- Kohëmatësi numëron deri në një pikë të caktuar, kur arrihet, rutina e shërbimit të ndërprerjes funksionon.
- Kjo rutinë vendos se cila rresht është rreshti tjetër që do të shfaqet.
- Informacioni për rreshtin tjetër shikohet nga një tampon dhe zhvendoset në drejtuesin e kolonës (ky informacion nuk "fiksohet" kështu që nuk shfaqet ende).
- Drejtuesi i rreshtit është i fikur, aktualisht asnjë LED nuk është ndezur.
- Drejtuesi i kolonës është "fiksuar" në informacionin që kemi zhvendosur në dy hapa më parë informacionin aktual për t'u shfaqur.
- Drejtuesi i rreshtit siguron rrymën në rreshtin e ri që po shfaqim.
- Rutina e shërbimit të ndërprerjes përfundon dhe programi kthehet në rrjedhën normale deri në ndërprerjen tjetër.
Kjo ndodh shumë shumë shpejt. Ndërprerja hidhet çdo 1 mSec. Kjo do të thotë që ne po rifreskojmë të gjithë ekranin rreth një herë në 8 mSec. Kjo do të thotë një normë shfaqjeje prej rreth 125Hz. Ekziston një shqetësim në lidhje me shkëlqimin sepse ne në thelb po i drejtojmë LED -të në një cikël pune 1/8 (ato janë të fikura 7/8 të kohës). Në rastin tim, unë marr një ekran mjaft të ndritshëm pa ndezje të dukshme. Ekrani i plotë LED është hartuar në një grup. Midis ndërprerjeve, grupi mund të ndryshohet (kini parasysh atomicitetin) dhe do të shfaqet në ekran gjatë ndërprerjes tjetër. Specifikat e shkrimit të kodit për mikrokontrolluesin AVR dhe mënyrën e shkrimit të kodit për të folur me regjistrat e ndërrimit është përtej qëllimit të kësaj të udhëzueshme. Kam përfshirë kodin burimor (të shkruar në C dhe të përpiluar me AVR-GCC) si dhe skedarin gjashtëkëndësh për të programuar drejtpërdrejt. Unë kam komentuar të gjithë kodin, kështu që ju duhet të jeni në gjendje ta përdorni këtë për të sqaruar çdo pyetje se si të futni të dhëna në regjistrin e ndërrimit dhe si funksionon rifreskimi i rreshtit. Ju lutemi vini re se unë jam duke përdorur një skedar fonti që erdhi me biblioteka universale C ks0108. Ajo bibliotekë mund të gjendet këtu:
Regjistrat e ndërrimit: si
Kam vendosur të shtoj pak për mënyrën e programimit me regjistrat e ndërrimit. Shpresoj se kjo i sqaron gjërat për ata që nuk kanë punuar me ta më parë. Çfarë bëjnë ata Shift Regjistrat marrin një sinjal nga një tel dhe e nxjerrin atë informacion në shumë kunja të ndryshme. Në këtë rast, ekziston një tel i të dhënave që merr të dhënat dhe 8 kunja që kontrollohen në varësi të të dhënave që janë marrë. Për t'i bërë gjërat më mirë, ekziston një dalje për çdo regjistër ndërrimi që mund të lidhet me kunjin hyrës të një regjistri tjetër ndërrimi. Kjo quhet kaskadim dhe e bën potencialin e zgjerimit një perspektivë pothuajse të pakufizuar. Regjistrat e Kontrollit PinsShift kanë 4 kunja kontrolli:
- Latch - Ky pin tregon regjistrin e ndërrimit kur është koha për të kaluar në të dhënat e sapo futura
- Të dhënat - Numrat 1 dhe 0 që i thonë regjistrit të ndërrimit se cilat kunja të aktivizohen merren në këtë kunj.
- Ora - Ky është një puls i dërguar nga mikrokontrolluesi që i thotë regjistrit të ndërrimit të marrë një lexim të të dhënave dhe të kalojë në hapin tjetër në procesin e komunikimit
- Aktivizo daljen - Ky është një çelës aktivizues/fikës, i lartë = aktiv, i ulët = i fikur
Duke e bërë atë të bëjë ofertën tuaj: Këtu keni një kurs përplasjeje në funksionimin e kunjave të mësipërm të kontrollit: Hapi 1: Vendosni Latch, Data dhe Clock ulët
Vendosja e ulët e Latch tregon regjistrin e ndërrimit që ne do t'i shkruajmë atij
Hapi 2: Vendosni kunjin e të dhënave në vlerën logjike që dëshironi të dërgoni në Regjistrin Shift Hapi 3: Vendosni kunjin e orës në lartësi, duke i thënë Regjistrit Shift të lexojë në vlerën aktuale të pinit të të dhënave
Të gjitha vlerat e tjera aktualisht në Shift Register do të lëvizin me 1 vend, duke i lënë vend vlerës së logjikës aktuale të pinit të të dhënave
Hapi 4: Vendosni pinin e orës Low dhe përsëritni hapat 2 dhe 3 derisa të gjitha të dhënat të jenë dërguar në regjistrin e ndërrimit.
Kunja e orës duhet të jetë e ulët para se të kaloni në vlerën tjetër të të dhënave. Ndryshimi i kësaj kunje midis të lartë dhe të ulët është ajo që krijon "pulsin e orës" që regjistri i ndërrimit duhet të dijë kur të kalojë në hapin tjetër në proces
Hapi 5: Vendosni Latch lartë
Kjo i thotë regjistrit të ndërrimit të marrë të gjitha të dhënat që janë zhvendosur dhe t'i përdorë ato për të aktivizuar kunjat e daljes. Kjo do të thotë që ju nuk do t'i shihni të dhënat pasi po zhvendosen; asnjë ndryshim në kunjat e daljes nuk do të ndodhë derisa Latch të vendoset lartë
Hapi 6: Vendosni Enable Output lartë
- Nuk do të ketë dalje pin derisa Enable Output të jetë e lartë, pavarësisht se çfarë po ndodh me tre kunjat e tjerë të kontrollit.
- Kjo kunj mund të lihet gjithmonë lart nëse dëshironi
Ka dy kunja që mund të përdorni për kaskadim, Os dhe Os1. Os është për orë me rritje të shpejtë dhe Os1 është për orë me rritje të ngadaltë. Lidheni këtë kunj me kunjin e të dhënave të regjistrit tjetër të ndërrimit dhe tejmbushja nga ky çip do të futet në tjetrën. Fundi i përditësimit
Duke iu drejtuar ekranit
Në programin shembull kam krijuar një grup prej 8 bajtësh të quajtur row_buffer . Çdo bajt korrespondon me një rresht të ekranit 8x8, rreshti 0 është fundi dhe rreshti 7 është pjesa e sipërme. Pjesa më pak e rëndësishme e secilës rresht është në të djathtë, pjesa më e rëndësishme në të majtë. Ndryshimi i ekranit është po aq i lehtë sa të shkruash një vlerë të re në atë grup të dhënash, rutina e shërbimit të ndërprerjes kujdeset për rifreskimin e ekranit.
Programimi
Programimi nuk do të diskutohet në detaje këtu. Unë do t'ju paralajmëroja që të mos përdorni një kabllo programimi DAPA pasi besoj se nuk do të jeni në gjendje të programoni çipin sapo të funksionojë në 12MHz. Të gjithë programuesit e tjerë standardë duhet të punojnë (STK500, MKII, Dragon, Programuesit Paralel/Serial, etj.). Siguresat: Sigurohuni që të programoni siguresat për të përdorur kristalin 12MHzfuse: 0xC9fuse: 0xEF
Në Veprim
Pasi të programoni çipin, ekrani duhet të lëvizë një "Përshëndetje Botë!". Këtu është një video e matricës LED në veprime. Cilësia e videos është mjaft e ulët pasi e bëra këtë me veçorinë e videos së kamerës time dixhitale dhe jo një video ose kamerë të përshtatshme.
Hapi 5: Konceptet modulare
Ky projekt është i shkallëzuar. I vetmi faktor i vërtetë kufizues do të jetë sa aktuale mund të sigurojë furnizimi juaj me energji elektrike. (Realiteti tjetër është sa LED dhe ndërrues regjistrash keni në dispozicion).
Matematikë
Unë jam duke drejtuar LED në rreth 15mA (5V-1.8vDrop/220ohms = 14.5mA). Kjo do të thotë që unë mund të drejtoj deri në 33 kolona me drejtuesin mic2981 (500mA/15mA = 33.3). Të ndarë me 8 mund të shohim se kjo na lejon të lidhim së bashku 4 regjistra ndërrimi. Gjithashtu konsideroni se nuk keni nevojë që të gjitha 32 kolonat të shtrihen nga e majta në të djathtë. Në vend të kësaj, ju mund të krijoni një grup 16x16 që lidhet në të njëjtën mënyrë si një grup 8x32. Kjo do të adresohej duke u zhvendosur në 4 bajt…. dy të parat do të zhvendoseshin deri në leds për rreshtin e 9 -të, dy bajtët e dytë do të zhvendoseshin në rreshtin e parë. Të dy rreshtat do të burojnë nga një kunj në drejtuesin e rreshtit.
Regjistrat Cascading Shift
Regjistrat e ndërrimit të përdorur janë regjistrat ndërrues kaskadë. Kjo do të thotë që kur zhvendosni të dhënat, tejmbushja shfaqet në kunjin Os. Bëhet shumë i dobishëm pasi një grup regjistrash ndërrimi mund të lidhen me njëri -tjetrin, Os pin në Data pin, duke shtuar 8 kolona me secilin çip të ri. Të gjithë regjistrat e ndërrimit do të lidhen me të njëjtat kunja Latch, Clock dhe Enable Output në mikrokontrolluesi. Efekti "kaskadues" krijohet kur Os i regjistrit të parë të ndërrimit lidhet me pinin e të dhënave të të dytit. Programimi do të duhet të ndryshohet për të pasqyruar numrin e shtuar të kolonave. Tamponi që ruan informacionin dhe funksioni që zhvendos informacionin për secilën kolonë duhet të përditësohen për të pasqyruar numrin aktual të kolonave. Një skemë e kësaj është dhënë më poshtë si shembull.
Drejtues të shumëfishtë të rreshtit
Drejtuesi i rreshtit (mic2981) mund të burojë rrymë të mjaftueshme për të drejtuar 32 kolona. Po sikur të doni më shumë se 32 kolona? Duhet të jetë e mundur të përdorni drejtues të shumëfishtë të rreshtit pa përdorur më shumë kunja të mikrokontrolluesit. Ne kemi nevojë që drejtuesit e rreshtave të burojnë rrymë të mjaftueshme për të ndezur LED -të. Nëse jeni duke përdorur më shumë kolona nga sa është e mundur të ndizen në të njëjtën kohë, drejtuesit e rreshtave shtesë mund të furnizojnë rrymën e nevojshme. Të njëjtat kunja hyrëse nga mikrokontrolluesi përdoren kështu që nuk ka nevojë të ndryshoni skanimin e rreshtave. Me fjalë të tjera, çdo drejtues kontrollon rreshtat për një bllok 8x32. Edhe pse 64 kolona mund të kenë të njëjtin vendosje të rreshtit FIZIK, ne i ndajmë autobusët e rreshtit në dy, duke përdorur një drejtues për 8 rreshtat e 32 kolonave të para dhe një drejtues të dytë për 8 rreshtat e 32 kolonave të dyta e kështu me radhë. Një skemë e kësaj është dhënë më poshtë si shembull. Gabime të mundshme: 1. Mos përdorni drejtues të shumë rreshtave me të njëjtin numër kolonash. Duke vepruar kështu do të nënkuptonte që çdo kunj i regjistrit të ndërrimit do të drejtonte më shumë se një LED në të njëjtën kohë. Duhet të keni një grup prej 8 rezistencash (3k3) për çdo drejtues rreshti, një grup për drejtuesit e shumë rreshtave nuk do të funksionojë pasi nuk do të sigurojë rrymën e nevojshme për të ndërruar portat.
Për shembull
Vendosa të zgjerohem në matricën që kam ndërtuar më herët. Unë kam shtuar 7 rreshta të tjerë për gjithsej 15 pasi kjo është gjithçka që mund të përshtatem në këtë protoboard. Unë gjithashtu sapo mësova për një konkurs që Instructables po bën të quajtur "Le të shkëlqejë". Këtu është një video e mendimit tim për këtë. Edhe një herë, kamera dixhitale që kam përdorur për të marrë videon nuk e bën të drejtë. Kjo duket e mrekullueshme për syrin e njeriut, veçanërisht aty ku të gjitha LED -të ndizen, por nuk duket aq mirë në video. Shijoni: Kodi burimor për këtë ekran më të madh është përfshirë më poshtë.
Hapi 6: Përfundimi
Shtesa të mundshme
I2CI kanë lënë kunjat e Dy Ndërfaqes me Tela (I2C) të papërdorura në këtë dizajn. Ka disa perspektiva interesante që mund të përdorin këto dy kunja. Shtimi i një EEPROM I2C do të lejojë ruajtjen e mesazheve shumë më të mëdha. Ekziston gjithashtu perspektiva e dizajnimit të programimit për ta kthyer mega8 në një drejtues të ekranit të pajtueshëm me I2C. Kjo do të hapte mundësinë për të pasur një pajisje të aktivizuar me USB për të shfaqur të dhëna në grupin tuaj LED duke i kaluar ato mbi autobusin I2C. Input. Kanë mbetur shumë kunja që mund të përdoren për butona ose një marrës IR. Kjo do të lejojë që mesazhet të programohen përmes një sistemi menuje. Njëri thjesht shkruan karaktere në ekran, tjetri lëviz personazhe në ekran. Gjëja e rëndësishme që duhet mbajtur mend është se ajo që shihni në dritat përfaqësohet në një grup të dhënash. Nëse gjeni mënyra të ndryshme për të ndryshuar grupin e të dhënave, dritat do të ndryshojnë në të njëjtën mënyrë. Disa mundësi tërheqëse përfshijnë krijimin e një njehsori grafik nga kolonat. Kjo mund të përdoret si një analizues sinjali me një stereo. Lëvizja mund të zbatohet nga lart poshtë ose poshtë lart, madje nga e majta në të djathtë. Fat i mirë, argëtohuni!
Hapi 7: Ndiqni
Pasi e lashë qarkun e kontrolluesit të ulet në tryezën e bukës për muaj, më në fund projektova dhe gdhenda disa pllaka qarkore për ta bashkuar këtë prototip së bashku. Gjithçka funksionoi shkëlqyeshëm, nuk mendoj se ka ndonjë gjë që do të kisha bërë ndryshe.
Karakteristikat e Bordit të Qarkut
- Regjistrat e ndërrimit janë në tabela të veçanta që mund të lidhen me zinxhirë së bashku për të rritur madhësinë e ekranit.
- Bordi kontrollues ka rregullatorin e tij të energjisë, kështu që mund të drejtohet nga çdo burim energjie që siguron 7v-30v (bateri 9v ose furnizim me stol 12v të dy funksionojnë mirë për mua).
- Kreu ISP 6 pin i përfshirë kështu që mikrokontrolluesi mund të riprogramohet pa e hequr nga bordi.
- Koka me 4 kunja në dispozicion për përdorim të ardhshëm të autobusit I2C. Kjo mund të përdoret për një eeprom për të ruajtur më shumë mesazhe apo edhe për ta bërë këtë një pajisje skllave të kontrolluar nga një mikrokontrollues tjetër (RSS shënon ndokënd?)
- 3 butona shtytës të çastit përfshihen në dizajn. Unë mund të ndryshoj firmware -in në të ardhmen për të përfshirë përdorimin e këtyre butonave.
Kuvendi
Më jepni pleksiglas, kllapa këndore, vida makinash 6x32, arra dhe rondele, si dhe një rubinet të vendosur për vrimat e fijeve dhe unë mund të krijoj gjithçka.
Çmimi i dytë në Let It Glow!
Recommended:
Si të bëni një dron duke përdorur Arduino UNO - Bëni një kuadopter duke përdorur mikrokontrollues: 8 hapa (me fotografi)
Si të bëni një dron duke përdorur Arduino UNO | Bëni një Quadcopter Duke përdorur Mikrokontrolluesin: HyrjeVizitoni Kanalin Tim në YoutubeNjë drone është një vegël (produkt) shumë e shtrenjtë për të blerë. Në këtë postim do të diskutoj, si ta bëj me çmim të ulët ?? Dhe si mund ta bëni tuajin si ky me çmim të lirë … Epo në Indi të gjitha materialet (motorët, ESC -të
Neopixel Ws2812 Rainbow LED shkëlqim me M5stick-C - Running Rainbow në Neopixel Ws2812 Duke përdorur M5stack M5stick C Duke përdorur Arduino IDE: 5 hapa
Neopixel Ws2812 Rainbow LED Shkëlqen Me M5stick-C | Running Rainbow në Neopixel Ws2812 Duke përdorur M5stack M5stick C Duke përdorur Arduino IDE: Përshëndetje djema në këtë udhëzues do të mësojmë se si të përdorim LED neopixel ws2812 ose shirit led ose matricë led ose unazë led me bordin e zhvillimit m5stack m5stick-C me Arduino IDE dhe ne do të bëjmë një model ylberi me të
Telekomanda me valë duke përdorur modulin NRF24L01 2.4Ghz me Arduino - Nrf24l01 Marrës transmetues 4 kanal / 6 kanal për kuadopter - Rc Helikopter - Rc Plane Duke përdorur Arduino: 5 hapa (me fotografi)
Telekomanda me valë duke përdorur modulin NRF24L01 2.4Ghz me Arduino | Nrf24l01 Marrës transmetues 4 kanal / 6 kanal për kuadopter | Rc Helikopter | Rc Plane Duke përdorur Arduino: Për të drejtuar një makinë RC | Kuadikopter | Dron | RC aeroplan | Varka RC, ne gjithmonë kemi nevojë për një marrës dhe transmetues, supozoni për RC QUADCOPTER kemi nevojë për një transmetues dhe marrës me 6 kanale dhe ai lloj TX dhe RX është shumë i kushtueshëm, kështu që ne do të bëjmë një në pajisjen tonë
Shfaqja e matricës LED të rrotullimit 48 X 8 duke përdorur regjistrat Arduino dhe Shift .: 6 hapa (me fotografi)
Shfaqja e matricës LED të rrotullimit 48 X 8 duke përdorur regjistruesit Arduino dhe Shift .: Përshëndetje të gjithëve! Ky është udhëzuesi im i parë dhe ka të bëjë me krijimin e një matricë LED të rrotullimit të programueshëm 48 x 8 duke përdorur regjistrues të ndërrimit Arduino Uno dhe 74HC595. Ky ishte projekti im i parë me një bord zhvillimi Arduino. Ishte një sfidë që iu dha m
Si të - Regjistrat e urgjencës në USB Thumb Drive: 14 hapa (me fotografi)
Si të - Regjistrat e urgjencës në USB Thumb Drive: Update !! Verifikoni versionin 2.0 këtu: Versioni 2.0 Nuk di për ju, por më pëlqen të jem i përgatitur. Jo gjithmonë bëj një punë të mirë në përgatitjen e vërtetë, por mendoj shumë për të. Le të shikojmë një udhëzues të urgjencës USB për një makinë të gishtit të madh. Kjo brenda