Mika Tuupola

Pá, listopad 4, 2011

LED matice jsou zábavné hračky. Kdo by nemiloval blinkenlights? Elektronika je tvrdá. Elektronika je mnohem těžší než programování. Měl jsem těžký čas, abych pochopil, jak fungují LED matice. Jaký je nejlepší způsobnaučit se něco? Postavte si sami.

struktura LED matice

v maticovém formátu jsou LED diody uspořádány do řádků a sloupců. Můžete je také považovat za souřadnice y a x. Předpokládejme, že máme matici 4×4.Řádky by byly označeny od A do D a sloupce od 1 do 4. Nyní můžemeadresovat každou vedenou řádkem a sloupcem. Vlevo nahoře led bude (A,1). Spodní led by byla (D, 4).

LED matrice se dodávají ve dvou příchutích. Anoda Common-row (vlevo) a common-rowcathode (vpravo).

LED matice

obrázek nahoře ukazuje různé konfigurace. Rozdíl mezi těmito dvěma konfiguracemi je v tom, jak jste rozsvítili led. S běžným řádkem anodeproudové zdroje (kladné napětí) jsou připojeny k řádkům a..D a proudy klesají (záporné napětí, zem) do sloupců 1..4. U běžných katodových proudových umyvadel jsou připojeny řádky a..D a currentssources do sloupců 1..4.

například. Chcete-li rozsvítit spodní LED (D,4) společné katodové matice, napájejte kladné napětí do sloupce 4 a připojte řádek D k zemi. Forsake jasnosti budu používat společný řádek katodu v příkladech pro restof tohoto článku.

vytvoření LED matice

Chcete-li vytvořit katodovou matici 4×4, budete potřebovat 16 LED, čtyři rezistory, některé záhlaví a prototypovací desku. Začal jsem lepením desky na prototypování epoxidovým lepidlem. Tímto způsobem je snazší mít krásně zarovnané listy. Při lepení LED se ujistěte, že jsou dlouhé a krátkénohy jsou zarovnány stejným způsobem.

lepení LED matrice

když je lepidlo suché, je čas se ohýbat a pájet. Nejprve ohněte všechny katodylevit co nejblíže prototypové desce. Pájejte všechny katodyv každém řádku dohromady. Když jsou katody připraveny, ohněte všechny anody. Anodamusí se dotýkat katod. Použil jsem kus plastových hadiček, abych pomohl ohýbat anody a vytvořil most nad katodami.

Ohýbací nohy

nyní pájejte všechny anody v každém řádku. Pájejte záhlaví apřipojte řádky katody přímo k záhlaví.

 Spodní

anodové řady jsou připojeny k hlavičce s omezujícími odpory proudu.Hodnota rezistoru závisí na použité LED. Zkontrolujte list LED pro dopředné napětí a proud. LEDcalculator vám pomůže zjistitsprávný odpor. Matrix je nyní připraven k testování.

 Horní

adresování jediné LED

připojení země k řádku a a kladné napětí ke sloupci 1 rozsvítí pravou horní LED (A, 1).

Single LED svítí

připojení uzemnění k řádku D a kladné napětí ke sloupci 4 rozsvítí spodní LED (D, 4).

jednoduchá LED dioda svítí

intuice by řekla,že osvětlení obou (A,1) A (D, 4) současně spojuje všechny čtyři vodiče. To není tento případ. K dispozici jsoučtyři LED diody, které svítí. Je to proto,že proud také protéká(A,4) a (D, 1).

čtyři LED diody svítí

multiplexování a přetrvávání vidění

multiplexování lze použít k zobrazení libovolných vzorů s ledmatricemi. Multiplexování se někdy také nazývá skenování. Skenuje řádky (obvykle od nahoru dolů) a světla potřebné LED pouze v jedné řadě v době. Něco jako následující:

  1. Začněte tím, že máte vše odpojeno.
  2. Připojte kladné napětí všechny potřebné sloupce.
  3. Připojte řádek k zemi. Tím se rozsvítí potřebné LED diody v řadě.
  4. odpojte řádek a všechny sloupce.
  5. proveďte stejné kroky jeden po druhém ke všem řádkům a poté začněte od začátku.

udělejte to pomalu a uvidíte blikající řádky LED. Udělej to opravdu rychlea lidské oko může vidět celý vzor. Fenomén se nazýváperistence vidění.

nakreslete vzor

umožňuje napsat nějaký jednoduchý kód pro kreslení vzoru na matici. Poznámka!I když používám Arduino desku nepoužívám Arduino knihovny norIDE pro vývoj. Líbí se mi však schéma číslování pinů Arduino.Funkce pin_mode() a digital_write()fungují přesně stejným způsobem jako jejich ekvivalenty Arduino.

začneme nastavením pinů a výchozího stavu pro ně.

uint8_t column_pins = { 2, 3, 4, 5 };uint8_t row_pins = { 11, 10, 9, 8 };static void init(void) { /* Turn all columns off by setting then low. */ for (uint8_t x=0; x<4; x++) { pin_mode(column_pins, OUTPUT); digital_write(column_pins, LOW); } /* Turn all rows off by setting then high. */ for (uint8_t y=0; y<4; y++) { pin_mode(row_pins, OUTPUT); digital_write(row_pins, HIGH); }}

pro zobrazení vzoru na matici používáme funkci draw().Bitmapa se předává jako dvourozměrné pole. Zpoždění se používá pouzedemonstrující perzistence vidění.

uint8_t pattern = {{1,0,0,1}, {0,1,0,0}, {0,0,1,0}, {1,0,0,1}};void draw(uint8_t buffer, uint8_t delay) { for (uint8_t row=0; row<4; ++row) { /* Connect or disconnect columns as needed. */ for (uint8_t column=0; column<4; ++column) { digital_write(column_pins, buffer); } /* Turn on whole row. */ digital_write(row_pins, LOW); _delay_ms(delay); /* Turn off whole row. */ digital_write(row_pins, HIGH); }}

Chcete-li prozkoumat přetrvávání efektu vidění, nakreslíme vzorrůzné zpoždění.

uint8_t main(void) { init(); /* With 100ms delay eye can see updating row by row. */ for (uint8_t i=0; i<10; i++) { draw(pattern, 100); } /* With 10ms delay pattern appears but flickers. */ for (uint16_t i=0; i<100; i++) { draw(pattern, 10); } /* Withoud delay solid pattern appears. */ while (1) { draw(pattern, 1); } return 0;}

úplný kód lze nalézt odgithub.Zkontrolujte výstup z videa níže.

více čtení

Circuit Skills: LED Matrix od Make Magazine. Řízení LED s odporem nebo bez něj od Alexandra Webera. Úvod do řízení LED Matic (PDF) technote od Avago Technologies. Světelné diody (LED) od klubu elektroniky.

Publikováno v

AVR Electronics

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.