Csináld magad LED reklámpanelek futósoron.  Útmutató a LED-es futósorok saját kezű összeszereléséhez.  Kezelés és adatbevitel

Csináld magad LED reklámpanelek futósoron. Útmutató a LED-es futósorok saját kezű összeszereléséhez. Kezelés és adatbevitel

A LED-mátrix és Arduino alapú sátor összeszerelése egyszerű, akár otthon is elvégezhető feladat. Nem kell programozónak lenni és alapos elektronikai ismeretekkel rendelkeznie ahhoz, hogy a betűk mozogjanak a LED-kijelzőn. Ebben a cikkben azt elemezzük, hogyan állíthatunk össze futó vonalat kész LED-mátrixokból és Arduino Nano-ból.

Mire lesz szükség?

Az ötlet megvalósításához nagyon kevés részletre van szüksége:

  • két LED-modul, amelyek négy 8x8 pixeles mátrixból állnak;
  • tartó normál méretű "Krona" akkumulátorhoz;
  • 9 voltos elem (CR-9V, ER-9V vagy azzal egyenértékű);
  • kétpólusú kapcsoló;
  • összekötő vezetékek;
  • Arduino Nano tábla;
  • forró ragasztó.

Rendszer

A használt LED modul nyomtatott áramköri lapján 4 db 8 x 8 pixel méretű mátrix található. Minden LED kártyát egy MAX7219 integrált áramkör (IC) vezérel. Ez az IC egy vezérlő led-kijelzők, közös katódmátrixok és diszkrét LED-ek vezérlésére 64 db-ig.

A LED-kijelzőn megjelenő információk kényelmesebb érzékelése érdekében több modul telepítése javasolt. Ehhez sorba kapcsolt csoportokba egyesítik, vagyis az első modul kimenetét (out) a második modul bemenetére (in) kötik. Ez az összeállítás két modulból (16 mátrixból) áll, amelyek hossza elég a teljes mondatok kényelmes olvasásához.

Összeszerelés

A mátrix modulnak lehet tűs csatlakozása vagy érintkezői a kártyán nyomtatott vezetékek formájában. Attól függ, hogyan csatlakoznak. Az első esetben egy csatlakozókkal ellátott kábelköteget használnak a megbízható elektromos érintkezés eléréséhez, a második esetben pedig jumpereket kell felszerelni és forrasztani.

Először azonban mindkét modult egyetlen egységbe kell egyesítenie forró olvadékragasztóval. A hőre lágyuló ragasztó nem vezet áramot, ami azt jelenti, hogy biztonságosan felhelyezhető a nyomtatott áramköri lapra. Mindkét tábla végéről ragasztót alkalmaznak, megnyomják és néhány percig hagyják. A keményedés után az első blokk kimeneti érintkezőit a második blokk bemeneti érintkezőihez kell csatlakoztatni a séma szerint:

  • VCC – VCC
  • GND-GND
  • D BE – D OUT
  • CS–CS
  • CLK - CLK

TÓL TŐL hátoldal nyomtatott áramkör forró ragasztóval rögzítse az Arduino Nano-t, az elemtartót és a kapcsolót. A részletek úgy vannak elrendezve, hogy kényelmesen használhatók legyenek.
A következő szakaszban az Arduino a LED-modulhoz csatlakozik úgy, hogy a vezetékeket az első mátrix bemenetéhez csatlakoztatja. A modul verziójától függően a művelet leválasztható csatlakozással vagy forrasztással történik az alábbi ábra szerint:

  • VCC-5V
  • GND-GND
  • D IN - 11. PIN
  • CS-PIN 10
  • CLK – PIN 13.

Az összeszerelés utolsó szakaszában csatlakoztatni kell az akkumulátort. Ehhez a koronarekesz negatív érintkezőjét (fekete vezetéket) az Arduino GND érintkezőjéhez kell csatlakoztatni. A pozitív érintkező (piros vezeték) csatlakozik a kapcsolóhoz, majd az Arduino 30-as érintkezőhöz, amelyet úgy terveztek, hogy szabályozatlan forrásból tápláljon feszültséget. Teszt üzemmódban a barkácsoló ticker mikro USB-n keresztül táplálható számítógépről.
Miután megbizonyosodtak a rögzítőelemek megbízhatóságáról és az elektromos csatlakozások minőségéről, elkezdik összeszerelni a házat. Alumínium vagy műanyag profilból készülhet, mivel az áramkör elemei nem melegszenek fel. A ház színe, méretei, védettségi foka és rögzítése a készülék jövőbeni használatától függ. A legegyszerűbb esetben megfelelő védő képernyőépítőipari műanyag sarokprofilból, kapcsoló kivágásával.

Ticker programozás

A MAX7219 vezérlése alatt álló Arduino és LED modulok futósora már majdnem készen áll. Ideje továbblépni a program utolsó részéhez. A számítógépnek rendelkeznie kell szoftver(Szoftver) a használt Arduino-hoz és a hozzá tartozó illesztőprogram. Ezután le kell töltenie két könyvtárat és egy vázlatot (egy speciális programot, amelyet az Arduino processzor tölt be és hajt végre). A könyvtárak telepítése úgy történik, hogy az Arduino IDE zárva van a Documents - Arduino - Libraries mappában. Ezután letöltik és futtatják a vázlatot, és ellenőrzik a könyvtárak meglétét és az egyéb adatok helyességét.

Vázlat beállítása:

  • "vízszintes kijelzők száma" a sorok számát jelzi, esetünkben 1;
  • A "függőleges kijelzők száma" a mátrixok számát jelzi, esetünkben 8;
  • a "szalagszalag" jelzi a kijelzőn megjelenő feliratot;
  • Az "int wait" a kimeneti sebességet ezredmásodpercben állítja be.

A bevitt adatok ellenőrzése után a „letöltés” ​​gombra kell kattintani. Ezután válassza le a számítógépről, helyezze be az akkumulátort, és indítsa el a készüléket.

Végezetül szeretném hozzátenni, hogy a barkácsoló vonal meglehetősen gyorsan összeállítható még az Arduino-val való munkavégzés készségei nélkül is. Ezért nem kell félnie ettől a bonyolult táblától. Azt is érdemes megjegyezni, hogy a LED-mátrixok számának növelésével a futósor meghosszabbítható.

Olvassa el is

Ipari tervezésű LED-eken futó sort szinte lehetetlen összeállítani a mikrokontrollerek programozási ismerete és az adatcsere protokollok ismerete nélkül. Alább egyszerű áramkör kis LED tábla. Ha nem fél a nehézségektől, és nem akar túlfizetni a késztermékért, megvásárolhatja az alapvető modulokat, amelyekből a terméket összeállítják.

De szeretnék beszélni a probléma nem szabványos megoldásáról minimális pénzügyi befektetéssel - hogyan készítsünk egy futó LED-sort Arduino vezérlőként.

LED-eken futó vonal sematikus diagramja

A vezérlő egy speciális interfészen keresztül kommunikál a külső beviteli eszközökkel. Ez lehet normál billentyűzet, számítógép, okostelefon. A kapott adatok alapján egy komplett digitális képmátrix jön létre, amely ezt követően indikátorokkal ellátott táblán jelenik meg.

A sátor önálló összeszerelése az Arduino alapú vezérlőmodulon és a vezérlőn több LED blokkon végezhető el

A modul egy vezérlőből és egy 8x8 LED blokkból áll. Ez az elemméret a karakterkiadás minimális mérete. A helyzet az, hogy minden mátrixnyomtató e formátum alapján nyomtatott képet alkotott.

max7219 vezérlő

A max7219 vezérlő egy 64 cellás információcserélő és memória interfész egység a LED-ek vezérlésére. A memóriában minden adat kétdimenziós tömbként kerül tárolásra.

Az információ továbbítása az SPI interfészen keresztül történik. Az SPI egy háromvezetékes interfész az eszközök közötti kétirányú adatátvitelhez. Ennek az interfésznek a működési elvéről bővebben olvashat.

A vezérlő és az Arduino kártya interakciójához csak három csatornát használnak: DIN, CS, CLK.

A vezérlőkártya szabványos csatlakozóira akár négy ilyen led modul is csatlakoztatható, így 8 x 32 pontos eredménytábla jön létre. A csatlakoztatott szegmensek számának növelése érdekében összeállíthat egy egyszerű multiplexert, amely átkapcsolja a vezérlőjeleket a kívánt modulra. Így több tucat mátrixon lehet információt megjeleníteni. Az összes LCD-kijelző működése erre az elvre épül.

Az adatfolyamok arduino-ba való átvitelének megkönnyítésére van egy speciális LedControlMS könyvtár.

Ez egy videó a LED-kijelzővel működő könyvtár példájáról:

A mikrokontroller segítségével történő mátrixvezérlésről bővebben a linken olvashat.

Információ bemeneti interfész a LED-mátrix későbbi kimenetéhez

Ahhoz, hogy saját belátása szerint módosíthassa a megjelenített szöveget, szüksége lesz egy beviteli eszközre.

Az információk Arduino vezérlőre való átvitelének módjai:

  • billentyűzeten keresztül PS2 interfésszel;
  • a szoftver billentyűzetén keresztül;
  • okostelefonon keresztül.

A vezérlőkártyával történő adatcserére számos lehetőség kínálkozik, az ICP protokollon keresztüli szabványos számítógéphez való csatlakozás mellett.

Az Arduino IDE beépített könyvtárral rendelkezik a PS2 billentyűzettel való munkavégzéshez. Szoftvermodulokkal dolgozhat a szabványos Arduino nyolcgombos billentyűzettel. Az input szervezése elve alapján épül fel mobiltelefonok, amikor több karaktert "akasztanak" egy gombra. Bluetooth-modult csatlakoztatva az Arduino kártyához, lehetőség nyílik a tesztinformációk továbbítására okostelefonon keresztül.

Ha megértette a sátor felépítését a szabványos Arduino modulokon, továbbléphet a következő lépésre.

A "" tábla könnyen összeszerelhető saját kezűleg, amely több 10, 13, 16 mm-es osztástávolságú, egy vagy több színből álló kártyamodulból, tápegység(ek), vezérlővezérlőből, készletből áll. csatlakozó kábelek és szoftverek.

Mindegyik kártyamodul hátoldalán menetes furatok vannak a testhez való rögzítéshez. A modulokat kültéri telepítésre tervezték, és kívülről teljesen tömítettek. A házba szerelve a modulokat tömíteni kell, amihez a készletben szilikon tömítés található. További tömítéshez kívánatos a modulok közötti csatlakozásokat savmentes polimerizációs szilikonnal kiegészíteni. Ugyanakkor a modul kerülete körül található hornyot nem lehet szilikonnal kitölteni, víz elvezetésére szolgál. A modulok lapos panelre vannak szerelve, kivágásokkal az elektromos csatlakozásokhoz és a szellőzéshez (hűtés). Például a három modul telepítésére szolgáló tokpanel így néz ki:

Mindegyik kijelzőmodulnak van egy tápcsatlakozója és két jelcsatlakozója. A jelcsatlakozók azonos típusúak, de az egyik csatlakozó bemenet, a második kimenet. A tápfeszültség csatlakoztatásakor piros vezetéket (VCC érintkező - +5 Volt) és fekete vezetéket (GND érintkező - közös) használnak. Minden modul párhuzamosan csatlakozik egy tápegységhez. Ha két vagy több tápegység van beépítve a kijelzőbe, akkor a modulok egyenletesen oszlanak el a tápegységek között, az összes modul párhuzamosan csatlakozik a GND vezetéken keresztül, és minden csoport külön-külön csatlakozik a saját tápegységéhez a VCC tápvezetéken keresztül. .

A modulok jelcsatlakozói IN és OUT jelzéssel vannak ellátva (például JIN, JOUT vagy nyilak a csatlakozóhoz - ez a bemenet, a csatlakozótól - ez a kimenet). Egy egyszerű futó vonal, amikor kevés modul van és azok egy sorban vannak elrendezve, egyszerű csatlakozással rendelkezik - a vezérlő kábele a megfelelő modulhoz csatlakozik a bemenethez, a jobb modul kimenete a bemenethez. a következő modul, és így tovább. A jelkábel első sora pirossal van jelölve. A csatlakozók csatlakoztatásakor ügyelni kell a csatlakozók tájolására - az első érintkezővel vannak jelölve. A bonyolultabb kijelzők moduljai csoportosan csatlakoznak a vezérlő kimenetére. Ha nincs elég vezérlőkimenet, akkor egy kimeneti bővítőkártya kerül felszerelésre - egy hub. A modulok beépítésének sémáját ebben az esetben a készlet megvásárlásakor határozzák meg.

A tápegység és a vezérlő a vitrin belsejében, kényelmes helyen van rögzítve. A tápegység jelentősen felmelegedhet, ezért célszerű a hátsó falra rögzíteni, a hátsó falat pedig célszerű hővezető anyagból (fém, alumínium kompozit) készíteni.

A tábla felszerelése előtt ellenőrizni kell. Ehhez telepítenie kell a vezérlőprogramot a számítógépére, és követnie kell a program leírásában jelzett lépéseket.

Szia barátom! Ma arról fogok mesélni, hogyan működik belülről az "eredménytábla - futóvonal". Ha neked, kedves barátom, már van fogalmad arról, hogyan fut át ​​a sugár a kinescope képernyőkön, a shift regiszterekről és a videomemóriáról, akkor nyugodtan görgesd végig ezt a dokkolót a végéig, és ott mindent megtalálsz (megvalósítás soros meghajtókkal). Lehet, hogy érdekli őket

Miért van ez az egész a szabadban? Túlóra Elektromos alkatrészek kissé elavulttá válnak, olcsóbb mikroáramkörök, egyéb esetek, új protokollok, interfészek jelennek meg. Ami néhány éve még a technológia csodája és egy teljesen versenyképes termék volt, ma már csodálatosan néz ki, a gyártás pedig másfélszer többe kerül majd, mint amennyire a fejlesztést a modern szabványok szerint alakítják át. Az alábbiakban leírtak mindegyike nagyon jól működik, de ha utasítást kapnék egy ilyen eszköz elkészítésére, nem haboznék átrajzolni a sálat az új alkatrészekhez. Oktatási szempontból azonban a fenti diagramok mindegyike érdekes.

A továbbiakban az ebben az eszközben használt összes modult és technikát sorban ismertetjük, az egyszerűtől a kész eszközig. A cikk egy konkrét fejlesztésen alapul, ezért egy kis leírás a paramétereiről:

  • Sorok száma az eredményjelző táblán (LED-ek): 16 vagy 2x8
  • Az eredménytábla oszlopainak száma (LED-ek): 1...256 (opcionális)
  • Szöveggörgetési módok: minden lehetséges
  • Egyéb: Óra, naptár, kommunikáció PC-vel com porton keresztül, hőmérő stb.

Hogyan világítanak az izzók.

Mint már említettük, a tábla leírt változatában a futósor 256 * 16 piros LED-et használ. Az első kérdés, amellyel egy kezdő mérnök szembesülhet: hogyan kapcsolódnak ezek? Hány kapcsolatra van szüksége? Valójában egy egyszerű csatlakozási sémával, amikor a LED közvetlenül a vezérlő mikroáramkörhöz csatlakozik, az érintkezők száma túl magas lesz, ezért a kijelzőeszközökben, például az eredményjelző táblákban stb., mátrix kapcsolóáramkört használnak, amely lehetővé teszi hogy többszörösére csökkentse az érintett vezérlő érintkezők számát.

A LED-ek bekapcsolásának sémája meglehetősen egyszerű: képzelje el, hogy egy sorban minden LED-nek van egy közös érintkezője, és minden vonalban pontosan ugyanaz. Az érthetőség kedvéért az alábbi képet láthatja.


Hogyan lehet mindezt kezelni? És ez nagyon egyszerű: ráhelyezhet egy „plusz”-ot a vonalra, csatlakoztathatja a (szükséges) oszlopot a „mínuszhoz”, és ekkor kigyullad a kívánt lámpa.

Igaz, van egy nem triviális árnyalat: az alábbi képeken az eredménytábla-kúszó vonalrendszer működésének tipikus lehetőségei láthatók.



Ha minden nagyon világos az a és b esetekkel kapcsolatban, akkor a c eset meglehetősen nem triviális: ahhoz, hogy különböző LED-eket egyidejűleg különböző sorokban és oszlopokban világítson (például átlósan, a képen látható módon), szüksége van egy ilyen trükkös módszer alkalmazása: először a LED a felső sorban, egy ideig világít a lámpa (ilyenkor a vezérlő mikrokontroller más hasznos dolgokat is tud végezni), majd az első vonalról leszedik a feszültséget és betáplálják a másodikba , illetve azok a mikroáramkörök, amelyek felelősek azért, hogy mely oszlopokat kössék a mínuszokhoz és melyeket hagyjanak a levegőben, szintén új feladatot kapnak. Egy ideig az alsó vonalon világít a lámpa, majd ismét feszültséget kap a felső vonal, és így tovább a cikluson keresztül. Mivel az aktív vonalak változása nagyon gyorsan megy végbe (a processzor számára elérhető maximális sebesség mellett), a szemnek nincs ideje átgondolni, mi történik, és úgy tűnik, hogy az egész lemez egyenletesen ég.

Minden kinescope monitor és televízió hasonló elv szerint működik: ott egy időpontban nem csak egy vonal éghet le, hanem általában csak egyetlen pont, amely balról jobbra, fentről lefelé halad, és csak a fényerő. a fénysugarat meghatározott koordinátákban szabályozzák. Mivel a sugár nagy sebességgel fut át ​​a képernyőn, az emberi szemnek nincs ideje helyesen felmérni, mi történik, és úgy tűnik, hogy nem a teljes kép világít a képernyőn, hanem a teljes kép.

Szerintem a mátrix kapcsolási áramkörrel kapcsolatban minden világos, és tovább lehet térni az érdekesebb dolgokra.

LED mátrix vezérlő áramkör.

Tehát, amint azt korábban leírtuk, váltakozva kell feszültséget alkalmazni a LED-mátrix vonalaira, és valahogy be kell állítani a szinteket az oszlopokon.

A vonalvezérlés minden olyan tranzisztoron megvalósítható, amely képes a szükséges áram leadására (a vonalban lévő összes LED által egyidejűleg fogyasztott maximális áramból számítva). Mindegyik tranzisztor szükség szerint nyitja vagy zárja az MK vezérlőt, lásd az alábbi képet.



Shift regiszterek használhatók a LED mátrix oszlopainak vezérlésére. Valójában az a fő céljuk, hogy a mátrix összes oszlopának párhuzamos vezérlését szekvenciálisra cseréljék. A lehetséges oszlopok száma a lemezben meglehetősen nagy lehet (256-512), és gyakorlatilag egyetlen MK sem képes ilyen számú bemenetet közvetlenül vezérelni.

A Shift regiszterek speciális digitális mikroáramkörök, amelyek szinkronban működnek a lemez fő MK-jával, amely a megfelelő bemeneten órajelét végzi. Az MK minden ciklusa beállíthat egy (egy) nullát vagy egyet a váltóregiszter adatbevitelére, ez a váltóregiszter első memóriacellájába kerül beírásra (mindegyikben más-más szám lehet, az eset 16). A következő ciklusban az első rögzített bit a regiszter második cellájába kerül, és az első azt kapja, amit az MK a bemenetre alkalmazott, azaz. minden következő munkaciklussal a bitsorozat egyre mélyebbre kerül a regiszterbe. A Shift regisztereknek is lehet kimenete - a kimenet olyan, mint a lánc folytatása, vagyis a regiszter utolsó cellájának kitöltése után a következő ciklusban az információ nem tűnik el, hanem a kimenetre kerül, amelyre a következő műszakregiszter csatlakoztatható. Így tetszőlegesen hosszú láncokat készíthet, amelyek egy soros csatornán keresztül töltődnek fel, és egy meglehetősen hosszú "párhuzamos" kimenetté alakítják át. Esetünkben a shift regiszter bitszélessége 8 lesz, összesen pedig 32 ilyen mikroáramkör lesz a láncban, amivel végül 256 soros, LED-es bitsort lehet beállítani.

Valójában nem csak eltolási regisztereket használnak a jelzőtáblán, hanem néhány módosítást is, speciális funkciókkal (LED meghajtó MBI5026 (pdf)), amelyek csak ebben a rendszerben szükségesek, mint például:
1) számos LED fényerejének szabályozása speciális külső ellenállással (egy minden váltásregiszter chiphez),
2) egy speciális vezérlővonal minden mikroáramkörhöz, a parancsnak megfelelően: küldjön információt a párhuzamos kimenetre (a töltési ciklusokon a bitek egyszerűen áthaladnak a regiszterláncon, és a kimenetek tartalmazzák régi információk, és ennél a parancsnál (plusz soronként) a regiszterek minden kimenetüket frissítik a memóriából frissen letöltött tartalommal.



SDI - soros adatbevitel (a mikrokontrollerről vagy a shift regiszterlánc előzőjéről)
CLK - órajel
LE - a belső soros puffer tartalmának átmenet jele a kimeneti regiszterekhez
OUT0..15 - párhuzamos kimenetek bitjei
OE - kapcsoló párhuzamos kimenetekhez
SDO - soros adatkimenet a következő chipre (a regiszter 16 bitjén keresztül)

A bal oldali táblán a shift regiszterek láncolata (LED sormeghajtók) látható (hosszú DIP chipek). Tranzisztorok, beleértve a vonalakat is, jobbra lent



Így az olvasás után világossá kell tenni az olvasó számára, hogy az eredményjelző sátorban hogyan kezelik az összes sort és oszlopot, hátha van még egy magyarázó kép lent.

Mi az a videomemória.

A mátrix vezérlését már tudjuk, a szükséges izzók kigyulladására kényszerítve, most azt szeretnénk tudni, hogyan számoljuk ki, hogy melyik izzónak világítson és melyiknek nem, hogy valami értelmes információ kerüljön a táblára, például ugyanazokat a betűket és számokat.

Az összes képernyővel rendelkező digitális eszközben általában van elválasztás: az eszköz egyes részei felelősek a megjelenítendő adatok kiszámításáért, mások pedig magát a megjelenítési mechanizmust vezérlik. Esetünkben mindezt (a videomemória tartalmának kiszámítását és az információk feltöltését a váltásregiszterekbe a sor tartalmának megjelenítéséhez) egy mikrokontroller kezeli (mivel a feladat általában egyszerű), azonban az MK-ban pl. valamint a PC-ben van egy videomemória (inkább szoftveres kialakítás), ahonnan az időzítő maga az eredménytábla sorait jeleníti meg. A videomemóriát fel kell tölteni valamivel, görgetős eredménytábla esetén - egy szövegsorral, amely valahol az effektus típusától (függőleges vagy vízszintes görgetés) és a megjelenítési módtól (egy nagy sor, két kis független sor) függ. .

Betűtípusok az eredményjelző táblán

A betűtípusok keresése és telepítése nem sok időt vett igénybe az első alkalommal: a régi EGA adapterek oroszosításáról szóló cikk sokat segített, nem nagyon mentem a lényegre, azonnal észrevettem egy bináris kódoknak megfelelő jelet betűk és speciális karakterek, a nézet valahogy így néz ki:

(0x7E,0x81.0xA5.0x81.0xBD,0x99.0x81.0x7E),

Így a betűtípusokat olyan rendszerekben írják le, ahol minden karakter 8 x 8 pixelt foglal el: tehát 0x7E, ez egy ikon vagy betű felső sora, bináris ábrázolásban: 01111110, ahol az 1ki azt jelenti, hogy a pont fehér, a 0 pedig fekete, nos , tovább a vonalak mentén

Az orosz "a" betűt mint



egy rövidített tablet prototípus már tudja, hogyan kell szavakat megjeleníteni

Futó szöveg.

Ebben a szakaszban már lehetséges a statikus szöveg megjelenítése a képernyőn, a kívánt ponttól kezdve, most van a vágy, hogy ezt a szöveget valahogy trükkös módon csavarják. Nyilvánvalóan fokozatosan meg kell változtatni azt a pontot, ahonnan a szöveg a videomemóriába kerül, és ettől az új ponttól kezdve meg kell ismételnie a programot a videomemória feltöltésének műveletét a betűkészleteket alkotó bitekkel.

A videomemória tartalmának újraszámítására hasonló folyamatok fordulnak elő egy normál számítógépen, amikor meg kell változtatni a képernyő tartalmát, azonban van néhány árnyalat: az olcsó mikrokontrollerek nem tudják kiszámítani a teljes videomemóriát. egy kis idő, egy ilyen algoritmus megvalósítására tett kísérletek meglehetősen nagy késésekhez vezettek a képernyőfrissítési folyamatban. Tekintettel arra, hogy ugyanaz a processzor felelős a videomemória újraszámításáért és soronkénti kiadásáért a regiszterek eltolása érdekében, mindkét művelet szenved, és a kimeneti sorok késése az egyes sorok megjelenítési idejének növekedéséhez vezet. az egész mátrix kellemetlen villogását kezdi látni. Ha egyáltalán nincs elég idő, akkor a szem nem látja a teljes mátrixot egészként, hanem minden pillanatban csak egy égő vonalat, amely fentről lefelé halad.

PC-ben ilyen probléma elvileg nem létezhet, mert a videomemória számításáért és annak friss feltöltéséért a CPU, a monitor képernyőjének megjelenítéséért pedig a videokártya a felelős. Egyrészt senki sem zavarja, hogy ugyanazt az architektúrát ismételje meg a "kúszóvonalban", de ez a teljes mátrixvezérlő kártya árának emelkedéséhez vezetne. Tekintettel azonban arra, hogy az MK eredménytábla által megoldott feladatok köre meglehetősen korlátozott, és egy egyszerű szöveges kimenetre vezethető vissza, ezt a problémát általában soronkénti videomemória számítással oldják meg.

Az egyik sor változásainak kiszámítása nagyon rövid időt vesz igénybe, amit csak a mátrix saját kimenetére lehet kijelölni (hadd égjen egy kicsit), majd váltani lehet a következőre. Bár ez a műveleti algoritmus nagymértékben változhat a használt MC-től függően. Ahogy az elején is mondtam, ez a fejlesztés némileg elavult, részben azért, mert a KM AVR mega128-at használta, ami egy időben elég működőképes volt, de a 16 MHz-es számítási teljesítménye nem elegendő más algoritmusok használatához ehhez a problémához, bár megoldható és a videomemória és megjelenítés aszinkron megjelenítése különböző időzítőkkel.

Valószínűleg sokan észrevették, hogy a táblákon a futó sor, a szöveg görgetése közben megjelenik néhány, észrevehető lejtőt evett a betűkből (mintha dőlt betűkkel írták volna). Ez a hatás csak abból adódik, hogy a videomemória és a megjelenítés aszinkron folyamatok, és ha a videomemóriát felülről lefelé számoljuk, akkor a felső rész már a kívánt görgetési algoritmus szerint elmozdult, és az előző renderelési ciklus adatai alább is megjelenik.

Általánosságban elmondható, hogy a szövegmozgás hatásairól nem lehet semmi különöset írni, ez egy egyszerű programozói feladat.

PC vezérlő program

Itt minden nagyon egyszerű: felállítunk egy sor sorokat, amelyeket végig kell görgetni a cikluson, görgetésük paramétereivel. Majd mindezt RS-232-n keresztül egyesítjük az eredményjelző vezérlőtábla futósorának EEPROM-jába. Természetesen a DELPHI-n végrehajtva, mert. az ilyen kóborok benne jönnek létre a leggyorsabban.


Nyomorúságos szabadulásomban minden valahogy így nézett ki...

Linkek

Az eredménytábla tickerének sematikus diagramja PDF , GIF (nagy, lemezre mentés)

CGA, EGA és VGA video adapterek programozása. Innen húztam le a már majdnem kész hexadecimális ASCII betűkészletet. A C nyelv végső beállításához mindössze néhány kontextusmódosításra volt szükség.

Betűtípusok a firmware-emből Némi perverzió, a fenti link tömbjét vettük alapul, majd "oroszosították", azaz orosz betűket adtak a fő DOS ASCII lemezre. teljes kompatibilitás WINDOWS vezérlőszoftverrel

Szerintem nincs értelme a vezetékezést és a firmware fájlt alkalmazni, mert problémás megismételni a fent leírt futó sor módosítását a problémás MBI5026-unknál a DIP csomagban már megszűnt, újra kell huzalozni SOIC, és jobb egy másik ARM típusú processzorhoz (ez még olcsóbb lesz) SDK-hoz, amivel bővítményeket írhatsz. Pár óra kérdése, hogy kitaláljuk. A Winamp mindenféle bemeneti adatot biztosít az mp3 formátum dekódolásához, amelyek segítségével egyfajta spektrumanalizátor rajzolódik ki magában a lejátszóban. De ez nekünk nem elég, szeretnénk mindent igaziban és azonnal falra :-). Tehát a működési elve intuitív, a PC-vel való kommunikáció RS232-n keresztül (elég a valós idejű adatátvitelhez).


A lemeztől balra van egy tábla vezérlővel és egy AT tápegységgel, amely mindezt táplálja
A harangok és sípok közül a dal nevének görgetését is szerettem volna elkészíteni, amikor éppen elkezdődik (ahogyan a Winampban is megtették, de már túl lusta lett)
Íme egy ötlet az autotuning szerelmeseinek: az egészet egy ilyen villogó dologgá lehet varázsolni. belső rész csomagtartó fedele, hogy kinyitásakor (90 fokos lesz a fedél) - hátulról kiválóan lehetett látni a piros oszlopokat, ugrálva a hangos, öldöklő zenére.
Igény szerint mindent meg lehet valósítani winamp és számítógép nélküli változatban, teljesen autonóm, ez még jobb lesz.


És persze egy vicces film, amely bemutatja, hogyan működött az egész.
Kicsit csikorog a hang, mert ez a csoda felerősíti.

Még vidámabb film, "favágókat" játszik.

Elektronikus banner

Tulajdonképpen az eredménytábla futósorának rövidített változata (64 oszlop), pálcára felfűzve. 12 V-os UPS akkumulátorral működik, amely 2 órás működésre elegendő. A kezelés (van egy menő bannerem, a rajta lévő feliratokat rögtön a helyszínen módosíthatod) közvetlenül az AVR mikrokontrollerhez közvetlenül csatlakoztatott billentyűzetről történik (vagyis a billentyűzet által a soros porton keresztül továbbított szkennelési kódok beolvasása)
Szöveggörgetési módok: vízszintes, függőleges, statikus (egy rövid szó), villog statikus módban. A kényelem kedvéért az F1-F4 gyorsbillentyűkkel jelezték a görgetési módot + a Caps-lockot a beviteli nyelv megváltoztatásához (a banner többnyelvűnek bizonyult :-)). Kicsit kínos volt írni a térdemen elhelyezett, képernyő nélküli billentyűzeten, bár a backspace is engedélyezve volt.


Szórakozás a mobil robotversenyen 2008-ban. Már nézőként :-)

Következtetés

Ez az a fajta hülyeség, amit a negyedik évben csináltam, ahelyett, hogy előadásokon ültem, vagy a miénken dolgoztam. Ez az egész egy táblás dolog egy látszólag kereskedelmi projekt része volt, ami soha nem ért véget semmivel. Azonban akkoriban nagyon érdekes volt kipróbálnom magam beágyazott rendszerek programozójaként, általában minden működött. A ticker scoreboard témában szerettem volna oklevelet is írni, de felbukkant egy olyan téma, ami abban a pillanatban érdekesebb volt: neurális hálózatok ugyanott !! :-)

Nos, ennyi, remélem érdekes volt.

Mindig a tiéd, Nicholas

A LED-es kijelzőtábla képes díszíteni a dizájnt, dinamikussá és tömörsé varázsolni a reklámot. Egy üzlet vagy iroda felirata vonzza a potenciális látogatók tekintetét, és tájékoztatást nyújt a kedvezményekről, promóciókról stb.

Ez az oktatóvideó bemutatja, hogyan kell ilyen hirdetést készíteni. Valódi futószalagot kap, amelyet a kültéri reklámozásban használnak. 2 mátrix modulon fog alapulni. Továbbá Arduino nano, koronatartó, akkumulátor és kapcsoló. Ebben a kínai üzletben minden alkatrészt megvásárolhat.

Mit kell tenni

Két LED modult melegragasztóval fogunk összekötni. Rögzítse a többi elemet a hátuljára. Csatlakoztassa az Arduinót, hogy levétele nélkül programozhasson. A tetejére rögzítsen egy gombot.

Két modult áthidalókon keresztül forrasztunk. És forrassza az Arduinót a bemenethez és a gombhoz. Saját kezűleg készítünk egy sarokból fedelet.

Elektronikus rész

Hogyan töltsünk fel vázlatot az arduino-ba:
www.arduino.cc/en/Main/Software.
illesztőprogram https://goo.gl/24cFBZ.
vázlat https://goo.gl/hxfJnu
könyvtár https://goo.gl/4GnOLq
könyvtár https://goo.gl/8XaOzI

Két könyvtárat kell letöltenie és telepítenie. És megváltoztathatja a használt mátrixok számát. NÁL NÉL ez az eset 8 mátrix, egyenként 8 × 8 LED-del (64 db). Soronként sorra kerülnek.

A kapott termék még nem ad ki orosz nyelvű sztringet, de az interneten találsz tippeket a cirill ábécé beállításához.