Mika Tuupola

vr 4 Nov 2011

Led-matrices zijn leuk speelgoed. Wie zou er niet van knipperlichten houden? Elektronica is hard. Elektronica is veel moeilijker dan programmeren. Ik had een moeilijke tijd om te begrijpen hoe de LED-matrices werken. Wat is de beste manier om iets te leren? Bouw er zelf een.

structuur van de LED-Matrix

in matrixformaat LED ‘ s zijn gerangschikt in rijen en kolommen. Je kunt er ook van denken als y-en x-coördinaten. Laten we aannemen dat we 4×4 matrix hebben.Rijen worden gemarkeerd van A tot en met D en kolommen van 1 tot en met 4. Nu kunnen we elk onder leiding van rij en kolom aanpakken. Linksboven zou led (A,1) zijn. Bottomdown led zou zijn (D, 4).

Led-matrices zijn er in twee smaken. Common-row anode (links) en common-rowcathode (rechts).

Led-matrices

bovenstaande afbeelding toont de verschillende configuraties. Het verschil tussen deze twee configuraties is hoe je een led verlicht. Met gemeenschappelijke rij anodestroombronnen (positieve spanning) zijn bevestigd aan rijen A..D en stroom gootstenen (negatieve spanning, grond) naar kolommen 1..4. Met gemeenschappelijke rij kathode stroomgootstenen zijn bevestigd aan rijen A..D en huidige middelen voor de kolommen 1..4.

bijvoorbeeld. Om bottom down led (d,4) van gemeenschappelijke kathode matrix te verlichten, zou u positieve spanning naar kolom 4 voeren en rij D verbinden met de grond. Voor alle duidelijkheid zal Ik gebruik maken van common-row kathode in voorbeelden voor de rest van dit artikel.

het bouwen van een LED-Matrix

om een 4×4 kathodematrix te bouwen heeft u 16 LEDs, fourresistors, enkele headers en prototyping board nodig. Ik begon met het lijmen van de LEDs op prototyping board met epoxylijm. Op deze manier is het makkelijker om prachtig uitgelijnd te hebben. Bij het lijmen van de leds zorg ervoor dat lange en korte benen op dezelfde manier zijn uitgelijnd.

Ledmatrix

als de lijm droog is, is het tijd om te buigen en te solderen. Eerste bocht alle kathodesto links zo dicht mogelijk bij prototyping board mogelijk. Soldeer alle kathodes in elke rij samen. Wanneer kathoden klaar zijn, buig alle anodes. Anodesmoeten geen kathoden raken. Ik gebruikte een stuk plastic buis om de anodes te buigen om een brug boven kathoden te vormen.

Buigpoten

soldeer nu alle anoden in elke rij. Soldeer de headers en verbind kathode rijen direct met de header.

Bottom

anode rijen zijn verbonden met header met stroombegrenzende weerstanden.De waarde van de weerstand is afhankelijk van de gebruikte LED. Controleer de led datasheet voor voorwaartse spanning en stroom. LEDcalculator zal u helpen om uit te vinden correctweerstand. Matrix is nu klaar om te testen.

Top

adresseren van enkele LED

aansluitingsgrond op rij A en positieve spanning op kolom 1 zal de LED rechtsboven verlichten (A, 1).

Single led lit

aansluitingsgrond op rij D en positieve spanning op kolom 4 zal de bottom-down LED verlichten (d, 4).

enkele led-verlichting

Intuã tie zou zeggen dat de verlichting van zowel (A, 1) als (D, 4) op hetzelfde moment gewoon alle vier de draden verbindt. Dit is niet het geval. Er zijn vier LEDs die branden. Dit komt omdat de stroom ook door(a,4) en (D,1) stroomt.

vier LEDs verlicht

multiplexen en persistentie van het zicht

multiplexen kunnen worden gebruikt om willekeurige patronen met ledmatrices weer te geven. Multiplexing wordt soms ook wel scannen. Het scant rijen (meestal van omhoog naar beneden) en verlichting nodig LED ‘ s alleen in een rij op het moment. Zoiets als volgen:

  1. begin met alles afgesloten te hebben.
  2. sluit de positieve spanning aan op alle benodigde kolommen.
  3. verbind rij met grond. Dit verlicht de benodigde leds in de rij.
  4. Koppel de rij en alle kolommen Los.
  5. doe dezelfde stappen één voor één naar alle rijen en begin dan bij het begin.

doe dit langzaam en u ziet knipperende LED-rijen. Doe het heel snel en het menselijk oog kan het hele patroon zien. Fenomeen wordt genoemd persistentie van visie.

Draw a Pattern

laten we een eenvoudige code schrijven voor het tekenen van een patroon op de matrix. Notitie!Hoewel ik Arduino raad gebruik gebruik ik geen Arduino bibliotheken norIDE voor het ontwikkelen. Ik hou wel van de Arduino pin nummering schema.Functies pin_mode() en digital_write()werken precies op dezelfde manier als hun Arduino-equivalenten.

we beginnen met het instellen van de pins en standaard status voor hen.

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

om een patroon op matrix weer te geven gebruiken we de draw() functie.Bitmap wordt doorgegeven als tweedimensionale array. Delay wordt alleen gebruikt om persistentie van het gezichtsvermogen aan te tonen.

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

om het voortbestaan van het zichteffect te onderzoeken, tekenen we het patroon met verschillende vertragingen.

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

volledige code is te vinden van GitHub.Controleer de uitvoer van video hieronder.

meer lezen

Circuit-Skills: LED-Matrix van Make Magazine. Aansturen van een LED met of zonder weerstand van Alexander Weber. Introductie van Driving LED Matrices (PDF) technote van Avago Technologies. Luminescentiedioden (LED ‘ s) van de Electronics Club.

Posted in

AVR Electronics

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.