Mika Tuupola

Fre, 4 November 2011

Led matriser er morsomme leker. Hvem ville ikke elske blinkenlights? Elektronikkerer vanskelig. Elektronikk er mye vanskeligere enn programmering. Jeg hadde vanskelig tidprøver å forstå hvordan led matriser arbeid. Hva er den beste måten ålære noe? Bygg en selv.

Struktur Av Led Matrix

I en matrise format Led er ordnet i rader og kolonner. Du kan ogsåtenk på dem som y og x koordinater. La oss anta at vi har 4×4 matrise.Rader vil bli merket Fra A Til D og kolonner fra 1 til 4. Nå kan viadresse HVER LEDET av rad og kolonne. Øverst til venstre led ville være (A, 1). Bottomdown led ville være (D, 4).

Led matriser kommer i to varianter. Common-row anode (venstre) og common-rowcathode (høyre).

Led-matriser

Figuren over viser de forskjellige konfigurasjonene. Forskjellen mellom disse to konfigurasjonene er hvordan du tente en led. Med vanlig rad anodestrømkilder (positiv spenning) er festet til rader A..D ogstrømmer synker (negativ spenning, jord) til kolonner 1..4. Medcommon-rad katode strøm synker er festet til rader A..D og strømkilder til kolonner 1..4.

For eksempel. For å lyse bunnen ned led (D,4) av vanlig katodematrise youwould mate positiv spenning til kolonne 4 og koble rad D til jord. Forsake of clarity jeg vil bruke common-row katode i eksempler for restof denne artikkelen.

Bygge EN LED-Matrise

for å bygge en 4×4 vanlig rad katode matrise trenger du 16 Lysdioder, firemotstander, noen overskrifter og prototyping bord. Jeg startet med liming theleds til prototyping bord med epoxy lim. På denne måten er det lettere å haveleder vakkert justert. Når du limer lysdiodene, må du sørge for lang og kortbena er justert på samme måte.

Liming led matrix

når limet er tørt er det på tide å bøye og loddetinn. Først bøy alle katoderå forlate så nær prototyping bord som mulig. Løs alle katoderi hver rad sammen. Når katoder er klare, bøy alle anoder. Anodermå ikke berøre katoder. Jeg brukte stykke plastrør for å hjelpe bendingthe anoder for å danne en bro over katoder.

Bøyende ben

nå lodd sammen alle anoder i hver rad. Løs hodene ogkoble katoderadene direkte til toppteksten.

Bunn

Anoderader er koblet til topptekst med nåværende begrensningsmotstander.Verdien av motstanden avhenger AV LYSDIODEN som brukes. Kontroller LED-databladet for fremover spenning og strøm. LEDcalculator hjelper deg med å finne utriktig motstand. Matrix er nå klar for testing.

Topp

Adressering Av Enkelt LED

Tilkobling av jord til rad A og positiv spenning til kolonne 1 lyser LED-LAMPEN øverst til høyre (a,1).

Enkelt led lyser

Koble bakken til rad D og positiv spenning til kolonne 4 vil lysebunnen ned LED (D, 4).

Enkelt led lyser

Intuisjon vil si belysning både (A,1) og (D,4) samtidig kobler bare alle de fire ledningene. Dette er ikke tilfelle. Det er fire Lysdioder som lyser. Dette skyldes at strømmen også strømmer gjennom (A, 4) og (D, 1).

Fire lysdioder tent

Multipleksing Og Utholdenhet Av Visjon

Multipleksing kan brukes til å vise vilkårlige mønstre med ledmatrices. Multiplexing kalles noen ganger også skanning. Den skanner rader (vanligvis fra opp til ned) og lys trengte lysdioder bare i en rad vedtid. Noe som følger:

  1. Begynn med å ha alt frakoblet.
  2. Koble positiv spenning alle nødvendige kolonner.
  3. Koble rad til bakken. Dette lyser de nødvendige lysdiodene på rad.
  4. Koble fra raden og alle kolonnene.
  5. Gjør de samme trinnene en etter en til alle rader og start deretter frabegynnelsen.

Gjør dette sakte, og du vil se blinkende led-rader. Gjør det veldig fortog menneskelig øye kan se hele mønsteret. Fenomenet kallesutholdenhet av visjon.

Tegn Et Mønster

la oss skrive en enkel kode for å tegne et mønster på matrisen. Merk!Selv om Jeg bruker Arduino board, bruker Jeg ikke Arduino libraries norIDE for å utvikle. Jeg liker Imidlertid Arduino pin nummerering ordningen.Funksjoner pin_mode() og digital_write() fungerer akkurat på samme måte som Deres Arduino-ekvivalenter.

vi starter med å sette opp pinnene og standardtilstanden for dem.

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); }}

for å vise et mønster på matrisen bruker vi draw() funksjon.Bitmap er bestått som todimensjonal array. Forsinkelse brukes kun tildemonstrere persistens av visjon.

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); }}

for å undersøke persistens av visjonseffekt tegner vi mønsteret medforskjellige forsinkelser.

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;}

Full kode kan bli funnet fragithub.Sjekk utgangen fra videoen nedenfor.

More Reading

Circuit Ferdigheter: LED Matrix Av Make Magazine. Kjører EN LED MED Eller Uten Motstand Av Alexander Weber. Introduksjon TIL Kjøring LED Matriser (PDF) technote av Avago Technologies. Lysdioder (Led) Av Electronics Club.

Postet i

Avr Electronics

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.