Ik had onlangs een logo gemaakt, bestaande uit 125leds, die ik nu zou willen veranderen door het nogmaals na te bouwen, maar de leds zo verbonden zoals een matrix, zodat ik ze allemaal apart kan aansturen.

als ik ze zo configureer gelijk een 5x25 matrix, kom ik op 125leds. als ik het goed begrijp, heb ik dan 30 aansluitingen.
Met pics kan ik werken en programmeren lukt ook aardig, maar ik waar ik vastzit is de vraag of ik met shift registers zou werken, 1 grote PIC, of meerdere kleine PIC's in serie. 1 PIC lukt volgens mij wel, maar hoe dat zit met die shift registers, is mij een raadsel.

Ik had eens ergens gelezen dat shift registers niet genoeg stroom leveren en het worden wel superfelle leds.

iemand tips?

superfelle leds..hmm..hoeveel watt?

ik weet niet of het kwa snelheid werkt, maar kan je niet de hele matrix afscannen dus bijde stuurlijnen hoog maken, hierdoor licht de led op het kruispunt op. dit doe je 125x en je kan maken wat je wilt.

ik weet alleen niet of dit kwa snelheid gaat werken.

Als schuifregisters kan je de 74HC595 pakken, met drivers als de ULN2803 of UDN2981 erachter. Wat ook een optie is, is de TPIC6*595 van TI, dit zijn schuifregisters met ingebouwde drivers. Het aansturen van schuifregisters is zeer eenvoudig, kijk maar eens in de datasheet.

1.8V/20mA 3000mcd
laat dat superfel maar vallen... ze schijnen neig, maar die 20mA is een normale stroom zeker?

thx tommyboy, die TPIC6595 lijkt mij redelijk interessant... ik heb wel nog niet veel ervaring met schuifregisters, maar ik vis dat wel uit.

Simpele manier om schuifregisters aan te sturen:


void stuur(unsigned char data){
   CLK = 1; //clock pin schuifreg
   for(int y=0; y <=7; x++){
      DATA_PIN = data >> y;
      CLK = 0;
      CLK = 1;
   }
}

Op 28 oktober 2008 19:37:18 schreef Razzia:
1.8V/20mA 3000mcd
laat dat superfel maar vallen... ze schijnen neig, maar die 20mA is een normale stroom zeker?

Is inderdaad een gewoon LEDje. Niks bijzonders.
Ik zou het in eerste instantie benaderen met 1 PIC, 33 I/O lijnen (16F877 of zo, of de 18F variant).
Maar je komt dan wellicht toch in de knoop met de stroom. De I/O pinnen van een PIC kunnen makkelijk 20mA aan, maar je kunt ze niet allemaal tegelijk belasten op die stroom.
Wellicht toch een aantal ULN's erachter.
Scheelt je iig de schuifregisters.

Ik zou het in eerste instantie benaderen met 1 PIC, 33 I/O lijnen (16F877 of zo, of de 18F variant)

wel, dat was ook mijn eerste idee, maar was ook wat bang wat de stroom betreft. had op 't net al wat gevonden over schuifregisters, maar daarmee heb ik feitelijk nog niet gewerkt.
eigenlijk zou het de bedoeling zijn dat de leds het meeste deel van de tijd tegelijk branden, maar met een hoge frequentie, om de lichtintensiteit nog wat te verhogen.

vandaag de 16f877 en een paar 74HCT595's, daarmee ga ik al wat experimenteren. eens ik iets bruikbaars of toonbaars bereikt heb, zal ik het posten.
tips wat de code betreft zijn welkom...

groeten

ik zou om te testen (matrix en multiplexen zijn nieuw voor mij) willen beginnen met iets kleins.
ik heb een schema getekend... kunnen jullie eens even meekijken of dat iets zinnings is aub;)
schema

ik gebruik als testopstelling een led-matrix van 5x5 en een 16f628, zat bij mijn velleman k8048, vandaar.

de clock gebeurd door een kristal van 4Mhz.

hopelijk ben ik duidelijk genoeg, anders hoor ik het wel..

wat ik voorstel, 2 MAX7219 (gekoppeld) die kunnen samen 128 leds aan (8*8*2)

Met een PIC18F442, UDN2981, 3xULN2803 en een 4028 stuur ik 64 RGB leds (8x8 matrix) individueel aan, 192 leds in totaal dus. En met PWM.
@Razzia: je sluit nu 5 leds aan op 1 poort, dat gaat alleen bij kleine stroompjes goed. wil je meer stroom verstoken heb je echt een driver nodig (bv ULN2803 aan de cathode kant of een UDN2981 aan de anode kant).

[Bericht gewijzigd door hadv op (44%)]

@chrome, voorlopig wil ik enkel als testopstelling gebruik maken van die kleine matrix, eens ik alles wat onder de knie heb wil ik 125led's aansturen met een 16F877 in combinatie met enkele ULN's ofzo.
voorlopig hou ik het dus even op 5x5 (25leds)...
tips zijn meer dan welkom

16F628 (of zo), 5 transistoren (of een UDN 2981) en een ULN2803. Als je 8 torren gebruikt kun je met hetzelfde gemak tot 8x8 gaan.

Ik lift even stiekem mee op dit topic, ik ben ook net bezig met een 125 ledkubus en merk net dat ik alles verkeerd om heb gesoldeerd tov mijn test kubus. Dit houd dus in dat de uln2803 die ik heb gesoldeerd een min moet sturen ipv een plus. Deze uln wordt gestuurd door een 74hc595. Kan ik nu deze uln vervangen door een udn 2981 zodat alles weer klopt.

Hiernaast neem ik aan dat de udn 2981 gaat geleiden als er op de poort een plus komt netzoals de unl 2803.

Hiernaast een stukje code hoe ik de schuifregisters aanstuur in basic, misschien heb je er iets aan, het is nl best simpel.


DelayMS Tijd                        ;12345678 ;data als 8 bit rechtsepin is de eerste datalijn QA 
SHOut DataPin, ClockPin, lsbfirst, [%11111111] ;tweede ic     
SHOut DataPin, ClockPin, lsbfirst, [%11111111] ;eerste ic
latch = On 
DelayMS 5 
latch = OFF