Použite Display Driver Maxim MAX7219 LED s Arduino v kapitole 56 našich Arduino cvičenia. Prvá kapitola je tu , kompletná séria je podrobne popísané tu .
úvod
Skôr alebo neskôr Arduino nadšenci a začiatočníci si iste naraziť na MAX7219 IC. A z dobrého dôvodu, je to jednoduchý a trochu lacný spôsob riadenia 64 LED diód buď v matrici alebo číselné displeja forme. Okrem toho môžu byť do reťazca pre riadenie dvoch a viac jednotiek pre ešte viac LED. Celkovo - oni sú veľa zábavy a môže byť tiež veľmi užitočné, takže poďme začať.
Tu je príklad z MAX7219 a iným IC, ktorý je funkčným ekvivalentom je AS1107 z Rakúska Microsystems. Možno sa vám nebude vidieť AS1107 okolo veľa, ale to môže byť lacnejšie - takže sa nemusíte báť použiť, že namiesto:
Na prvý pohľad si môže myslieť, že to trvá veľa nehnuteľností, ale šetrí niektoré rovnako. Ako už bolo spomenuté predtým, MAX7219 môže úplne ovládať 64 individuálnych LEDiek - vrátane zachovania rovnakého jasu, a umožňuje nastaviť jas LED diód a to buď s hardvérom alebo softvérom (alebo oboje). To môže aktualizovať LED diódy okolo 800 Hz, takže žiadny ďalší blikanie, nerovných LED displeje.
Dokonca si môžete prepnúť displej vypnutý úsporného režimu, a napriek tomu mu vyslať dáta, aj keď je vypnutý. A ďalšia dobrá vec - po zapnutí napájacieho napätia, udržiava LED off, takže žiadny nezvyčajný displeja pre prvých sekúnd prevádzky. Ďalšie technické informácie, tu je list: MAX7219.pdf . Teraz, aby to pre nás pracovať - budeme demonštrovať pomocou jedného alebo viacerých 8 x 8 LED displeje Matrix, rovnako ako 8 číslic 7-segmentový LED čísel.
Než budeme pokračovať, stiahnite a nainštalujte knižnicu LedControl Arduino keďže je nevyhnutná pre používanie MAX7219.
Ovládanie LED maticové displeje s MAX7219
Po prvé, poďme preskúmať strane hardvéru vecí. Tu je Pinout diagram pre MAX7219:
MAX7219 riadi osem LED diód v čase, a rýchlo sa spínacími bankami ôsmich vaše oči nevidia zmeny. Zapojenie do matrice je veľmi jednoduchá - ak máte spoločnú maticu s nasledovná schéma:
pripojte MAX7219 piny označené DP, A ~ F na riadok kolíky, respektíve a MAX7219 pinov značené DIG0 ~ 7 do kolóny kolíky, resp. Celkom príklad obvod s vyššie uvedenej matice je nasledujúci:
Obvod je pomerne priamočiara, okrem máme odpor medzi 5 V a MAX7219 čapu 18. MAX7219 je konštantného prúdu LED ovládače, a hodnota odporu sa používa na nastavenie tok prúdu do LED. Pozrite sa na tabuľku jedenásť na jedenásť strane listu:
Budete potrebovať poznať napätia a odovzdať prúdu pre LED matrice alebo numerický displej, potom podľa hodnoty na stole. Napríklad ak máte LED 2V 20 mA, váš odpor hodnota bude 28kΩ (hodnoty sú v kW). Konečne, MAX7219 seriál v, zaťaženie a hodiny kolíky pôjde do Arduino digitálnych pinov, ktoré sú uvedené v náčrte. Dostaneme sa k tomu v súčasnosti, ale pred tým vráťme k modulom matrix.
V posledných niekoľkých mesiacoch došlo k šíreniu cenovo výhodných sád, ktoré obsahujú MAX7219 alebo rovnocenný doklad a LED matice. To sú skvelé pre experimentovanie s a môžete ušetriť veľa práce - niektoré príklady, ktoré sú uvedené nižšie:
V hornej časti je príklad z tronixlabs.com , a dvojica na spodnej strane sú jednotky z nedávnej revízii sady . Budeme používať tieto našich demonštrácií rovnako.
Teraz náčrtu. Budete potrebovať nasledujúce dva riadky na začiatku náčrte:
Prvý ťahá v knižnici, a druhý riadok nastaví inštanciu ku kontrole. Štyri parametre sú nasledovné:
- digitálne pin pripojený k pinu 1 MAX7219 ( "dáta v")
- digitálne pin pripojený na pin 13 na MAX7219 ( "CLK alebo clock")
- digitálne pin pripojený na pin 12 na MAX7219 ( "LOAD")
- Počet MAX7219s pripojený.
Ak máte viac ako jeden MAX7219, pripojte doute ( "Data Out") kolík prvého MAX7219 na pin 1 druhého, a tak ďalej. Avšak sú CLK a zaťaženie kolíky všetky pripojené paralelne a potom späť do Arduino.
Ďalšie dva ďalšie životne dôležité funkcie, ktoré by ste normálne dať do prázdneho Nastavenie ():
Prvý riadok vyššie otočí LED pripojené k MAX7219 ďalej. Ak nastavíte TRUE, môžete odoslať dáta na MAX7219, ale kontrolky zostanú off. Druhý riadok upraví jas LED diód v šestnástich stupňoch. Pre obe tieto funkcie (a všetkým ostatným z LedControl) je prvý parameter číslo MAX7219 súvisí. Ak máte jeden parameter je nula ... po dobu dvoch MAX7219s, je to jedno a tak ďalej.
Nakoniec sa obrátiť jednotlivca LED v matrici zapnúť alebo vypnúť, využitie:
ktorý zapne LED diódou umiestnenou na sedle, riadok pripojený k MAX7219 # 1. Zmeniť TRUE na FALSE ho vypnúť. Tieto funkcie sú demonštrované v nasledujúcej skice:
A rýchly video výsledkov:
Ako sa o ovládanie dvoch MAX7219s? Alebo viac? Modifikácia hardware je jednoduché - pripojte sériová dáta z pinu od svojho prvého MAX7219 s údajmi v čapu na druhej strane (a tak ďalej), a zaťaženie a hodiny kolíky z prvého MAX7219 pripojiť k druhej (a tak ďalej). Budete samozrejme stále potrebujú 5V, GND, odpor, kondenzátory atď. Pre druhý a následné MAX7219.
Budete tiež musieť vykonať niekoľko zmien v náčrte. Prvým z nich je to povedať, koľko MAX7219s používate v nasledujúci riadok:
nahradením X s množstvom. Potom zakaždým, keď používate funkciu MAX7219, vymeňte (naposledy použitý) nulu s číslom MAX7219, ktorý chcete osloviť. Sú číslované od nuly smerom nahor, s MAX7219 priamo pripojeného k Arduino ako jednotka nula, potom jeden atď. Za týmto účelom preukázania, sme replikovať predchádzajúceho príkladu, ale s dvoma MAX7219s: