Turinys:
- Tikslai
- Patirtis ir įgūdžiai
- Atsisakymas ir kreditas
- 1 žingsnis: dalys
- Dalių sąrašas
- Bendrosios dalys
- Čia naudojamos specialios dalys
- Pastabos dėl dalių
- 2 žingsnis: matrica
- Statybos svarstymai
- Matricos kūrimas
- Svarbu
- 3 žingsnis: valdykite aparatinę įrangą
- Valdymo aparatūros kūrimas
- 4 žingsnis: programinė įranga
- Triukas
- Pamainų registrai: kaip tai padaryti
- Kreipimasis į ekraną
- Programavimas
- Veikiant
- 5 žingsnis: modulinės sąvokos
- Matematika
- Kaskadiniai pamainų registrai
- Kelių eilučių tvarkyklės
- Pavyzdžiui
- 6 žingsnis: Išvada
- Galimi papildymai
- 7 žingsnis: tolesni veiksmai
- Grandinės plokštės ypatybės
- Surinkimas
Video: LED matrica naudojant poslinkių registrus: 7 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Šis nurodymas turi būti išsamesnis paaiškinimas nei kiti, prieinami internete. Pažymėtina, kad tai suteiks daugiau aparatinės įrangos paaiškinimų, nei yra „LED“palapinėje, kurią nurodo „led555“.
Tikslai
Šioje instrukcijoje pateikiamos sąvokos, susijusios su pamainų registrais ir aukšto lygio vairuotojais. Iliustruodamas šias sąvokas 8x8 LED matrica, tikiuosi, kad pateiksiu jums įrankius, reikalingus prisitaikyti ir išplėsti jūsų projekto dydį ir išdėstymą.
Patirtis ir įgūdžiai
Šį projektą vertinčiau kaip vidutinio sunkumo:
- Jei jau turite patirties programuojant mikrovaldiklius ir dirbate su šviesos diodais, šį projektą jums turėtų būti gana lengva užbaigti ir pritaikyti prie didesnių žibintų.
- Jei tik pradedate naudoti mikrovaldiklius ir mirksi vienas ar du šviesos diodai, turėtumėte sugebėti užbaigti šį projektą padedami mūsų draugo „Google“.
- Jei turite mažai arba visai neturite patirties su mikrovaldikliais ar programavimu, tai tikriausiai viršija tai, ką turėtumėte įsitraukti. Išbandykite keletą kitų pradedančiųjų projektų ir grįžkite, kai įgysite daugiau patirties rašydami programas mikrovaldikliams.
Atsisakymas ir kreditas
Pirma, aš nesu elektros inžinierius. Jei matote, kad kažkas negerai arba ne geriausia praktika, praneškite man ir aš pataisysiu. Padarykite tai savo rizika! Turėtumėte žinoti, ką darote, arba galite pakenkti savo kompiuteriui, mikrovaldikliui ir net sau. Aš daug išmokau iš interneto, ypač iš forumų adresu: https://www.avrfreaks.net šriftų rinkinys, pateiktas kartu su universalia „C“biblioteka „ks0108“. Patikrinkite čia:
1 žingsnis: dalys
Dalių sąrašas
Bendrosios dalys
Norėdami sukurti 8x8 šviesos diodų tinklelį ir juos valdyti, jums reikės:
- 64 jūsų pasirinkti šviesos diodai
- 8 Šviesos diodų rezistoriai
- 1 Perkelti stulpelių registrą
- 1 Eilių tvarkyklių masyvas
- 8 Rezistoriai vairuotojo masyvui perjungti
- 1 mikrovaldiklis
- 1 laikrodžio šaltinis mikrovaldikliui
- 1 prototipų lenta
- 1 maitinimo šaltinis
- Prijungimo viela
Čia naudojamos specialios dalys
Norėdami tai padaryti, naudoju šiuos dalykus:
- 64 žali šviesos diodai (pelės dalis #604-WP7113GD)
- 8 220 omų 1/4 vatų rezistoriai šviesos diodams („Mouser“dalis #660-CFS1/4CT52R221J)
- 1 HEF4794 LED tvarkyklė su pamainų registru (pelės dalis #771-HEF4794BPN)
- 1 mic2981 aukštos įtampos didelės srovės šaltinio tvarkyklių masyvas („Digikey“dalis #576-1158-ND)
- 8 3,3 kΩ 1/4 vatų rezistoriai, skirti perjungti vairuotojo matricą („Radio Shack“dalis Nr. 271-1328)
- 1 „Atmel ATmega8“mikrovaldiklis (pelės dalis #556-ATMEGA8-16PU)
- 1 12MHz kristalas mikrovaldiklio laikrodžio šaltiniui (pelės dalis #815-AB-12-B2)
- 1 2200 skylių prototipų plokštė („Radio Shack“dalis Nr. 276-147)
- Konvertuotas ATX maitinimo šaltinis: žr. Šią instrukciją
- Tvirtos šerdies 22-awg kablys (Radio Shack dalis #278-1221)
- Duonos lenta be litavimo („Radio Shack“dalis Nr. 276-169 (nebepasiekiama, pabandykite: 276-002)
- „AVR Dragon“(„Mouser“dalis Nr. 556-ATAVRDRAGON)
- „Ecros Technologies“„Dragon Rider 500“: žr. Šią instrukciją
Pastabos dėl dalių
Eilučių ir stulpelių tvarkyklės: Turbūt sunkiausia šio projekto dalis yra išrinkti eilučių ir stulpelių tvarkykles. Pirmiausia nemanau, kad standartinis 74HC595 poslinkių registras yra gera idėja, nes jie negali valdyti tokios srovės, kurią norime siųsti per šviesos diodus. Štai kodėl aš pasirinkau HEF4794 tvarkyklę, nes ji gali lengvai nuslopinti srovę, kai įjungiami visi 8 šviesos diodai. Vienoje eilutėje yra poslinkių registras (šviesos diodų įžeminimo kaištis). Mums reikės eilutės tvarkyklės, kuri galėtų tiekti pakankamai srovės, kad sujungtų kelis stulpelius. „Mic2981“gali tiekti iki 500 mA srovę. Vienintelė kita dalis, kurią radau, atlieka šią užduotį, yra UDN2981 (skaitmeninė dalis #620-1120-ND), kuri yra ta pati kito gamintojo dalis. Jei žinote kitų aukšto lygio tvarkyklių, kurios gerai veiktų šioje programoje, atsiųskite man pranešimą. LED matrica: ši matrica yra 8x8, nes eilučių ir stulpelių tvarkyklės turi 8 kaiščius. Didesnis šviesos diodų masyvas gali būti sukurtas sujungus kelias matricas ir bus aptartas „modulinių koncepcijų“žingsnyje. Jei norite didelio masyvo, užsisakykite visas reikalingas dalis vienu metu. Vienoje patogioje pakuotėje yra 8x8, 5x7 ir 5x8 LED matricos. Tai turėtų būti lengva pakeisti „pasidaryk pats“matrica. „Ebay“yra geras jų šaltinis. „Mouser“turi maždaug 5x7 vienetus, pvz., Dalį #604-TA12-11GWA. Aš naudoju pigius žalius šviesos diodus, nes aš tiesiog žaidžiu ir linksminuosi. Daugiau išleisdami didelio ryškumo, didelio efektyvumo šviesos diodus, galėsite sukurti daug įspūdingesnį ekraną … tačiau man to pakanka! Valdymo įranga: Matricą valdo „Atmel AVR“mikrovaldiklis. Tam jums reikės programuotojo. Kadangi kuriu prototipus, naudoju „Dragon Rider 500“, kuriam parašiau ir surinkimo, ir naudojimo instrukcijas. Tai paprastas prototipų kūrimo įrankis ir aš jį labai rekomenduoju.
2 žingsnis: matrica
Aš sukursiu savo LED matricą šiam projektui, naudodamas 5 mm šviesos diodus ir „Radio Shack“prototipų plokštę. Reikėtų pažymėti, kad 8x8 taškinės matricos LED modulius galite įsigyti iš kelių šaltinių, įskaitant „ebay“. Jie turėtų puikiai dirbti su šia instrukcija.
Statybos svarstymai
Šviesos diodus reikia sulygiuoti, kad jie būtų nukreipti ta pačia kryptimi tuo pačiu kampu. Radau, kad man paprasčiausias variantas buvo uždėti šviesos diodo korpusą prie plokštės ir laikyti jį ten nedideliu organinio stiklo gabalu ir spaustuku. Aš įdėjau keletą šviesos diodų į vietą, esančią už kelių colių nuo eilės, kurioje dirbau, kad įsitikinčiau, ar organinis stiklas yra lygiagretus prototipų plokštei. Eilutės ir stulpeliai Mes turime turėti bendrą ryšį kiekvienai eilutei ir kiekvienam stulpeliui. Kadangi pasirinkome eilutės ir stulpelio tvarkyklę, anodas (teigiamas šviesos diodo laidas) turi būti sujungtas eilute, o katodas (neigiamas šviesos diodo laidas) - stulpeliu. Šiam prototipui naudoju vientisą (vieno laidininko) prijungimo laidą. Tai bus labai lengva sujungti su be litavimo duonos lenta. Nesivaržykite naudoti kito tipo jungtis, atitinkančias jūsų projektą.
Matricos kūrimas
1. Įdėkite pirmąjį šviesos diodų stulpelį į prototipų plokštę.2. Dar kartą patikrinkite, ar jūsų poliškumas kiekvienam šviesos diodui yra teisingas, jei tai suprasite vėliau, tai bus labai sunku ištaisyti. Lituokite abu šviesos diodo laidus prie plokštės. Patikrinkite, ar jie teisingai sulygiuoti (ne keistais kampais), ir nukirpkite katodo laidus. Įsitikinkite, kad nenuspausite anodo laido, mums to prireiks vėliau, todėl tiesiog palikite jį nukreiptą aukštyn. Nuimkite izoliaciją nuo kieto laido. Lituokite šį vielos gabalėlį prie kiekvieno katodo plokštės lygyje.
- Aš tai padariau kiekviename gale, tada grįžau ir pridėjau šiek tiek litavimo kiekvienoje sankryžoje.
- Ši viela turėtų praeiti pro paskutinį šviesos diodą, kad būtų lengva sąsaja, kai pridedame valdymo laidus.
5. Pakartokite 1-4 dalis, kol visi šviesos diodai bus vietoje ir visi stulpeliai bus sulydyti. Norėdami sukurti eilės magistralę, sulenkite kelis anodo laidus 90 laipsnių kampu, kad jie liestų kitus tos pačios eilės anodo laidus.
- Žemiau yra išsamios šios nuotraukos.
- Saugokitės, kad jie nesiliestų su kolonų magistralėmis ir nesusidarytų trumpasis jungimas.
7. Lituokite laidus kiekvienoje sankryžoje ir nukirpkite perteklinius anodo laidus.
Palikite paskutinį anodą už paskutinio šviesos diodo. Tai bus naudojama eilutės tvarkyklės valdymo laidams prijungti
8. Kartokite 6 ir 7 dalis, kol visos eilutės autobusai bus lituojami.9. Prijunkite valdymo laidus.
- Eilėms naudojau raudoną vientisą vielą, o stulpeliams - juodą.
- Prijunkite vieną laidą kiekvienam stulpeliui ir vieną kiekvienai eilutei. Tai galima lengvai padaryti kiekvieno autobuso pabaigoje.
Svarbu
Šioje LED matricoje nėra srovę ribojančių rezistorių. Jei išbandysite tai be rezistorių, greičiausiai sudegsite šviesos diodus ir visas šis darbas bus veltui.
3 žingsnis: valdykite aparatinę įrangą
Turime kontroliuoti savo LED matricos stulpelius ir eiles. Matrica buvo sukonstruota taip, kad anodai (šviesos diodo įtampos pusė) sudarytų eilutes, o katodai (šviesos diodo įžeminimo pusė) sudarytų stulpelius. Tai reiškia, kad mūsų eilutės tvarkyklė turi gauti srovę, o mūsų stulpelio tvarkyklė turi ją nuskandinti. Norėdami sutaupyti kaiščių, aš naudoju poslinkių registrą stulpeliams valdyti. Tokiu būdu aš galiu valdyti beveik neribotą skaičių stulpelių tik keturiais mikrovaldiklio kaiščiais. Galima naudoti tik tris, jei įjungimo išvesties kaištis yra tiesiogiai prijungtas prie įtampos. Aš pasirinkau HEF4794 LED tvarkyklę su pamainų registru. Tai yra geresnis pasirinkimas nei standartinis 74HC595, nes jis gali lengvai nuslopinti esamą srovę, kai vienu metu dega visi 8 šviesos diodai. Aukštoje pusėje (eilučių šaltinis) naudoju „mic2981“. Schemoje pavaizduotas UDN2981, manau, kad šie du yra keičiami. Ši tvarkyklė gali tiekti iki 500 mA srovę. Kadangi vienu metu važiuojame tik 1 eilute, tai suteikia daug galimybių išplėsti, iki 33 šio mikroschemos stulpelių (daugiau apie tai „modulinių koncepcijų“žingsnyje).
Valdymo aparatūros kūrimas
Norėdami tai padaryti, aš ką tik padaviau šią grandinę. Norėdami gauti pastovesnį sprendimą, norėsite išgraviruoti savo plokštę arba naudoti prototipų plokštę. Eilių vairuotojas
- Įdėkite „mic2981“(arba UDN2981) į duonos lentą
- Prijunkite 9 kaištį prie įtampos (schemoje tai painu)
- Prijunkite 10 kaištį prie žemės (schemoje tai painu)
- įdėkite 3k3 rezistorius, jungiančius prie 1-8 kaiščių
- Prijunkite iš ATmega8 (PD0-PD8) D prievado prie 8 rezistorių
- Prijunkite šviesos diodų matricos 8 eilučių valdymo laidus prie kaiščių 11-18 (atkreipkite dėmesį, kad žemiausią šviesos diodų eilę prijungiau prie 18 kaiščio, o aukščiausią-prie 11 kaiščio).
2. Stulpelio vairuotojas
- Įdėkite hef4794 į duonos lentą
- Prijunkite 16 kaištį prie įtampos
- Prijunkite 8 kaištį prie žemės
- Prijunkite 220 omų rezistorius prie 4-7 ir 11-14 kaiščių.
- Prijunkite 8 stulpelių valdymo laidus iš LED matricos prie 8 ką tik prijungtų rezistorių.
- Prijunkite „Pin1“(fiksatorių) prie „ATmega8“PC0
- Prijunkite „Pin2“(duomenys) prie „ATmega8“PC1
- Prijunkite „Pin3“(laikrodis) prie „ATmega8“PC2
- Prijunkite „Pin15“(įjungti išvestį) prie „ATmega8“PC3
3. Laikrodžio kristalas
Prijunkite 12MHz kristalą ir apkrovos kondensatorius, kaip parodyta schemoje
4. IPT
Prijunkite programavimo antraštę, kaip parodyta schemoje
5. Filtravimo kondensatorius ir traukiamasis rezistorius
- Geriausia filtruoti įtampą, tiekiamą į ATmega8. Naudokite 0.1uf kondensatorių tarp ATmega8 7 ir 8 kaiščių
- Atstatymo kaiščio negalima palikti plūduriuojančio, nes tai gali sukelti atsitiktinius atstatymus. Norėdami prijungti prie įtampos, naudokite rezistorių, viskas apie 1k turėtų būti gerai. Schemoje naudojau 10k rezistorių.
6. Įsitikinkite, kad naudojate +5 V reguliuojamą galią. Jūs turite sukurti reguliatorių.
4 žingsnis: programinė įranga
Triukas
Taip, kaip ir viskas, yra triukas. Gudrybė ta, kad vienu metu šviečia ne daugiau kaip 8 šviesos diodai. Kad tai gerai veiktų, reikia šiek tiek gudraus programavimo. Mano pasirinkta koncepcija yra naudoti laikmačio pertraukimą. Štai kaip ekrano pertraukimas veikia paprasta anglų kalba:
- Laikmatis skaičiuojamas iki tam tikro momento, kai pasiekiama pertraukimo paslaugos tvarka.
- Ši tvarka nustato, kuri eilutė bus rodoma kita.
- Kitos eilutės informacija yra ieškoma iš buferio ir perkeliama į stulpelio tvarkyklę (ši informacija nėra „užfiksuota“, todėl ji dar nerodoma).
- Eilių tvarkyklė išjungta, šiuo metu nedega jokie šviesos diodai.
- Stulpelio tvarkyklė yra „užrakinta“, kad informacija, kurią prieš du žingsnius perkėlėme, būtų rodoma dabartinė informacija.
- Tada eilutės tvarkyklė pateikia dabartinę naują rodomą eilutę.
- Nutraukimo aptarnavimo tvarka baigiasi ir programa grįžta į įprastą srautą iki kito pertraukimo.
Tai atsitinka labai labai greitai. Pertrauka atliekama kas 1 mSek. Tai reiškia, kad visą ekraną atnaujiname maždaug kartą per 8 ms. Tai reiškia, kad ekrano dažnis yra apie 125 Hz. Yra tam tikras susirūpinimas dėl ryškumo, nes iš esmės šviesos diodai veikia 1/8 darbo ciklu (jie išjungiami 7/8 laiko). Mano atveju gaunu pakankamai ryškų ekraną, kuriame nemirksi. Visas LED ekranas yra susietas su masyvu. Tarp pertraukų masyvas gali būti pakeistas (nepamirškite apie atomiškumą) ir bus rodomas ekrane kito pertraukimo metu. AVR mikrovaldiklio kodo rašymo specifika ir tai, kaip rašyti kodą kalbėtis su pamainų registrais, neapima tai pamokoma. Aš tiesiogiai įtraukiau šaltinio kodą (parašytą C ir sudarytą naudojant AVR-GCC), taip pat šešiabriaunį failą. Aš pakomentavau visą kodą, todėl turėtumėte galėti tai naudoti, kad išsiaiškintumėte visus klausimus apie tai, kaip gauti duomenis į pamainų registrą ir kaip veikia eilutės atnaujinimas. Atkreipkite dėmesį, kad naudoju šrifto failą, kuris buvo pateiktas kartu su ks0108 universali C biblioteka. Biblioteką galite rasti čia:
Pamainų registrai: kaip tai padaryti
Aš nusprendžiau šiek tiek pridėti, kaip programuoti naudojant pamainų registrus. Tikiuosi, kad tai paaiškins tuos, kurie anksčiau su jais nedirbo. Ką jie daro „Shift“registrai priima signalą iš vieno laido ir perduoda šią informaciją daugeliui skirtingų kaiščių. Šiuo atveju yra vienas duomenų laidas, kuris priima duomenis ir 8 kaiščiai, kurie valdomi priklausomai nuo to, kokie duomenys buvo gauti. Kad viskas būtų geriau, kiekvienam pamainų registrui yra prievadas, kurį galima prijungti prie kito pamainos registro įvesties kaiščio. Tai vadinama kaskadiniu, todėl išplėtimo potencialas tampa beveik neribota perspektyva. „Control PinsShift“registrai turi 4 valdymo kaiščius:
- Fiksatorius - šis kaištis nurodo pamainų registrui, kada laikas pereiti prie naujai įvestų duomenų
- Duomenys - 1 ir 0 nurodo pamainų registrui, kokius kaiščius reikia aktyvuoti.
- Laikrodis - tai impulsas, siunčiamas iš mikrovaldiklio, kuris nurodo pamainų registrui nuskaityti duomenis ir pereiti prie kito ryšio proceso žingsnio
- Įjungti išėjimą - tai įjungimo/išjungimo jungiklis, aukštas = įjungtas, žemas = išjungtas
Kaip padaryti, kad jūsų kainų siūlymas būtų atliktas: čia pateikiamas aukščiau nurodytų valdymo kaiščių veikimo sutrikimų kursas: 1 veiksmas: nustatykite mažą skląstį, duomenis ir laikrodį
Nustačius skląstį žemai, nurodomas pamainų registras, kurį ketiname jam rašyti
2 veiksmas: nustatykite duomenų kaištį į loginę vertę, kurią norite siųsti į „Shift“registrą
Visos kitos šiuo metu poslinkių registre esančios vertės perkeliamos 1 vieta, paliekant vietos dabartinei duomenų kaiščio loginei vertei
4 žingsnis: nustatykite laikrodžio kaištį žemą ir kartokite 2 ir 3 veiksmus, kol visi duomenys bus išsiųsti į pamainų registrą.
Prieš keičiant kitą duomenų reikšmę, laikrodžio kaištis turi būti nustatytas žemai. Šio kaiščio perjungimas tarp aukšto ir žemo sukuria „laikrodžio impulsą“, kurį pamainos registras turi žinoti, kada pereiti prie kito proceso žingsnio
5 žingsnis: nustatykite fiksatorių aukštai
Tai nurodo pamainų registrui paimti visus perkeltus duomenis ir naudoti juos išvesties kaiščiams suaktyvinti. Tai reiškia, kad nematysite duomenų, kai jie keičiasi; išvesties kaiščiai nepasikeis, kol fiksatorius nebus nustatytas aukštai
6 veiksmas: nustatykite Įgalinti išvestį aukštą
- Kaištis nebus išvestas, kol įjungimo išvestis nebus nustatyta aukšta, nesvarbu, kas vyksta su kitais trimis valdymo kaiščiais.
- Jei norite, šį kaištį visada galite palikti aukštai
Kaskadai galite naudoti du kaiščius - Os ir Os1. Os skirtas greitai kylantiems laikrodžiams, o Os1 - lėtai kylantiems laikrodžiams. Prijunkite šį kaištį prie kito pamainos registro duomenų kaiščio, o šio lusto perpildymas bus įvestas į kitą.
Kreipimasis į ekraną
Pavyzdinėje programoje sukūriau 8 baitų masyvą, pavadintą row_buffer . Kiekvienas baitas atitinka vieną 8x8 ekrano eilutę, 0 eilutė yra apatinė, o 7 eilutė - viršutinė. Mažiausiai reikšmingas kiekvienos eilutės bitas yra dešinėje, reikšmingiausias - kairėje. Ekrano keitimas yra toks pat lengvas, kaip tam duomenų masyvui įrašyti naują vertę, pertraukos aptarnavimo tvarka rūpinasi ekrano atnaujinimu.
Programavimas
Programavimas čia nebus išsamiai aptartas. Įspėju nenaudoti DAPA programavimo kabelio, nes manau, kad negalėsite užprogramuoti lusto, kai jis veiks 12MHz dažniu. Visi kiti standartiniai programuotojai turėtų veikti (STK500, MKII, „Dragon“, „Parallel/Serial“programuotojai ir kt.). Saugikliai: būtinai suprogramuokite saugiklius, kad būtų naudojamas 12MHz kristalų saugiklis: 0xC9lfuse: 0xEF
Veikiant
Kai užprogramuosite lustą, ekranas turėtų slinkti „Labas pasaulis!“. Čia yra vaizdo įrašas apie LED matricą atliekant veiksmus. Vaizdo įrašo kokybė yra gana žema, nes tai padariau naudodamas savo skaitmeninio fotoaparato vaizdo funkciją, o ne tinkamą vaizdo įrašą ar internetinę kamerą.
5 žingsnis: modulinės sąvokos
Šis projektas yra keičiamo dydžio. Vienintelis tikras ribojantis veiksnys bus tai, kiek srovės gali tiekti jūsų maitinimo šaltinis. (Kita realybė yra tai, kiek turite šviesos diodų ir registrų perjungiklių).
Matematika
Aš vairuoju šviesos diodus esant maždaug 15 mA (5V-1.8vDrop/220ohms = 14.5mA). Tai reiškia, kad su „mic2981“tvarkykle galiu vairuoti iki 33 stulpelių (500mA/15mA = 33,3). Padalijus iš 8 matome, kad tai leidžia mums sujungti 4 pamainų registrus. Taip pat atminkite, kad nebūtina, kad visi 32 stulpeliai būtų ištempti iš kairės į dešinę. Vietoj to galite sukurti 16x16 masyvą, kuris yra prijungtas taip pat, kaip ir 8x32 masyvas. Tai būtų išspręsta perkeliant 4 baitus … pirmieji du perkeliami iki 9 -osios eilės lyderių, antri du baitai persikelia į pirmą eilutę. Abi eilutės būtų gaunamos iš vieno eilutės tvarkyklės kaiščio.
Kaskadiniai pamainų registrai
Naudojami pamainų registrai yra kaskadiniai pamainų registrai. Tai reiškia, kad kai perkeliate duomenis, „Os“kaištyje atsiranda perpildymas. Tai tampa labai naudinga, nes poslinkių registrų rinkinys gali būti prijungtas vienas prie kito, Os kaištis prie duomenų kaiščio, pridedant 8 stulpelius su kiekvienu nauju lustu. Visi poslinkių registrai prisijungs prie tų pačių skląsčio, laikrodžio ir įjungimo išvesties kaiščių mikrovaldiklis. „Kaskadinis“efektas sukuriamas, kai pirmojo pamainos registro Os yra prijungtas prie antrojo duomenų kaiščio. Programavimą reikės pakeisti, kad būtų atsižvelgta į padidėjusį stulpelių skaičių. Tiek buferis, kuriame saugoma informacija, tiek funkcija, perkelianti informaciją į kiekvieną stulpelį, turi būti atnaujinta, kad atspindėtų tikrąjį stulpelių skaičių. Toliau pateikiamas pavyzdys.
Kelių eilučių tvarkyklės
Eilučių tvarkyklė (mic2981) gali tiekti pakankamai srovės, kad galėtų valdyti 32 stulpelius. Ką daryti, jei norite daugiau nei 32 stulpelių? Turėtų būti įmanoma naudoti kelias eilučių tvarkykles nenaudojant daugiau mikrovaldiklių kaiščių. Mums reikia, kad eilučių tvarkyklės gautų pakankamai srovės, kad apšviestų šviesos diodus. Jei naudojate daugiau stulpelių, nei vienu metu galima apšviesti, papildomos eilutės tvarkyklės gali tiekti reikiamą srovę. Naudojami tie patys mikrovaldiklio įvesties kaiščiai, todėl nereikia keisti eilučių nuskaitymo. Kitaip tariant, kiekvienas vairuotojas valdo 8x32 bloko eilutes. Nors 64 stulpeliai gali turėti tą pačią FIZINĘ eilučių vietą, mes dalijame eilių magistrales į dvi dalis, naudodami vieną tvarkyklę 8 pirmųjų 32 stulpelių eilutėms ir antrą tvarkyklę 8 antrų 32 stulpelių eilėms ir pan. Toliau pateikiama pavyzdinė schema. Galimos klaidos: Nenaudokite kelių eilučių tvarkyklių su tuo pačiu stulpelių skaičiumi. Jei tai padarytumėte, kiekvienas poslinkio registro kaištis vienu metu veiktų daugiau nei vienu šviesos diodu. Turite turėti 8 rezistorių rinkinį (3k3) kiekvienai eilutės tvarkyklei, vienas rinkinys kelių eilių tvarkyklėms neveiks, nes nesuteiks reikiamos srovės vartams perjungti.
Pavyzdžiui
Aš nusprendžiau išplėsti anksčiau sukurtą matricą. Aš pridėjau dar 7 eilutes iš viso 15, nes tai viskas, ką galiu pritaikyti šioje protoboard. Aš taip pat ką tik sužinojau apie konkursą, kurį vykdo „Instructables“, pavadinimu „Let it Glow“. Čia yra vaizdo įrašas apie mano požiūrį į tai. Vėlgi, skaitmeninis fotoaparatas, kuriuo naudoju vaizdo įrašą, nėra teisingas. Tai puikiai atrodo žmogaus akims, ypač ten, kur mirksi visi šviesos diodai, tačiau vaizdo įraše atrodo ne taip gerai. Mėgaukitės: šio didesnio ekrano šaltinio kodas pateikiamas žemiau.
6 žingsnis: Išvada
Galimi papildymai
I2CI paliko dviejų laidų sąsajos (I2C) kaiščius nepanaudotus. Yra keletas įdomių perspektyvų, kuriose gali būti naudojami šie du kaiščiai. Pridėjus I2C EEPROM, bus galima saugoti daug didesnius pranešimus. Taip pat yra galimybė sukurti programavimą, kad „mega8“taptų I2C suderinama ekrano tvarkykle. Tai atvertų galimybę turėti USB įjungimo įrenginį, kad būtų rodomi jūsų LED masyvo duomenys, perkeliant juos per I2C magistralę. Įvestis Tai leistų programuoti pranešimus per meniu sistemą. Ekranas Šiam nurodymui aš įdiegiau tik kelias ekrano funkcijas. Vienas tiesiog rašo simbolius į ekraną, kitas slinkia simbolius į ekraną. Svarbu atsiminti, kad tai, ką matote šviesose, pateikiama duomenų masyve. Jei sugalvosite, kaip pakeisti duomenų masyvą, šviesos keisis taip pat. Kai kurios viliojančios galimybės apima grafiko kūrimą iš stulpelių. Tai gali būti naudojama kaip signalų analizatorius su stereo. Slinkti galima iš viršaus į apačią arba iš apačios į viršų, net iš kairės į dešinę. Sėkmės, pasilinksmink!
7 žingsnis: tolesni veiksmai
Leisdamas valdiklio grandinei keletą mėnesių sėdėti duonos plokštėje, pagaliau suprojektavau ir išgraviravau kelias plokštes, kad sujungčiau šį prototipą. Viskas pavyko puikiai, nemanau, kad būčiau ką nors padaręs kitaip.
Grandinės plokštės ypatybės
- Pamainų registrai yra atskirose lentose, kurios gali būti sujungtos grandinėmis, kad padidėtų ekrano dydis.
- Valdymo plokštė turi savo galios reguliatorių, todėl jį gali valdyti bet kuris maitinimo šaltinis, tiekiantis 7–30 V (9 V baterija arba 12 V maitinimo šaltinis man puikiai tinka).
- Komplekte 6 kontaktų ISP antraštė, todėl mikrovaldiklį galima perprogramuoti nenuimant jo iš plokštės.
- Galima naudoti 4 kontaktų antraštę, kad ateityje būtų galima naudoti I2C magistralę. Tai gali būti naudojama eepromui, kad būtų galima išsaugoti daugiau pranešimų ar netgi paversti jį vergu, kurį valdo kitas mikrovaldiklis (RSS žymeklis kas nors?)
- Į dizainą įeina 3 momentiniai mygtukai. Ateityje galiu patobulinti programinę -aparatinę įrangą ir įtraukti šiuos mygtukus.
Surinkimas
Duok man organinio stiklo, kampinius laikiklius, 6x32 mašininius varžtus, veržles ir poveržles, taip pat čiaupo rinkinį sriegių sriegiams ir galiu sukurti bet ką.
Antrasis prizas „Tegul švyti!
Rekomenduojamas:
7 segmentų ekrano skaitiklis su poslinkių registru: 3 žingsniai
7 segmentų rodymo skaitiklis su pamainų registru: tai puikus pradedančiųjų projektas, jei tik mokotės naudotis pamainų registru ir kaip jis veikia su kodu. Be to, šis projektas yra puiki pradžia, jei esate naujokas 7 segmentų ekrane. Prieš pradėdami šį projektą, įsitikinkite, kad
Kaip sukurti 8x8 BIG LED matricą (MAX7219 LED 10mm): 9 žingsniai (su paveikslėliais)
Kaip sukurti 8x8 BIG LED matricą (MAX7219 LED 10mm): ar dirbote su paruošta 8x8 LED matrica kaip ekranai? Jie būna įvairių dydžių ir yra gana įdomūs dirbti. Didelis lengvai prieinamas dydis yra apie 60 mm x 60 mm. Tačiau, jei ieškote daug didesnės paruoštos LED matricos
2 poslinkių registrų (74HC595) naudojimas 16 šviesos diodų įvedimui: 9 žingsniai
Naudojant 2 pamainų registrus (74HC595) 16 šviesos diodų valdymui: ši grandinė naudos 2 pamainų registrus (74HC595). Pamainų registrai važiuos kaip 16 šviesos diodų išvestys. Kiekvienas pamainų registras valdys 8 šviesos diodus. Pamainų registrai yra prijungti taip, kad kiekvienas pamainos registro išėjimas atrodytų kaip kito dublikatas
Įrenginių valdymas naudojant balso komandą naudojant „NodeMCU“: 7 žingsniai (su paveikslėliais)
Įrenginių valdymas naudojant balso komandą naudojant „NodeMCU“: Aš tiesiog noriu visiems pasisveikinti, tai pirmas kartas, kai rašau pamokomą projektą. Anglų kalba nėra mano gimtoji kalba, todėl stengsiuosi kuo trumpiau ir aiškiau. Įrenginių valdymas balso komandomis nėra keistas dalykas
48 X 8 slinkties LED matricos ekranas naudojant „Arduino“ir „Shift“registrus: 6 žingsniai (su paveikslėliais)
48 X 8 slinkties šviesos diodų matricos ekranas naudojant „Arduino“ir „Shift“registrus. Tai buvo mano pirmasis projektas su „Arduino“plėtros lenta. Tai buvo iššūkis m