74hc164 Shift register multiplexen

Hallo allemaal.

Na succes vol een lamp van 250 leds te hebben gemaakt (simpele schakeling) een 3x3x3 cube te hebben gemaakt en een 8x8 matrix aan te sturen met een arduino wil ik weer een stapje verder gaan

Zonder jullie hulp was ik nooit zo ver gekomen daarvoor alvast bedankt

Ik heb nu een matrix gemaakt van 8x56 en wil deze graag aansturen met de arduino mega. Ik kom pinnen te kort na ontzettend veel te hebben gelezen en youtube filmpjes te hebben bekeken de stap gezet en 8 bit shift registers besteld genaamd 74hc164N. Pakketje binnen na opnieuw op zoek te zijn gegaan hoe het ook alweer aangesloten moest worden kwam ik er achter dat je versies hebt die ingangen creëren en uitgangen. Laat ik nu net de verkeerde hebben.

Is het mogelijk om toch deze te gebruiken? Ik heb vanaf internet zo veel gelezen en aan de hand van een lijst wat nodig was om een 8x8x8 cube aan te sturen deze bestelt. Echter ik weet het nu niet meer.

Volgen datasheets is de 74hc164 een 8bit shiftregister met parallel uitgangen. Indien dit bij jouw niet het geval zou zijn heb je vast een 74hc165 of een 74hc166 te pakken.

Met een 74hc164 zet je data op de serie-ingang en genereer je een "clockpuls" met je arduino.

In het onderstaande schema gebruikt men een 74ls595 maar werkt net zoals een 74hc164

http://farm4.staticflickr.com/3286/4072693764_e4598492ec_o.jpg

[Bericht gewijzigd door depeet op maandag 25 februari 2013 15:23:19 (23%)

Depeet

Bedankt depeet voor je uitleg en het bijgevoegde schema.

Ik ben er sinds gisteren mee aan het stoeien geweest maar ik krijg het niet voor elkaar

Ik heb het tig keer gecontroleerd wat er fout kan zijn maar kom er niet uit. het nummer dat er op staat is 74hc164N Wel met een N er achter weet niet of dat dat nog verschil maakt. Of ik doe gewoon iets gigantisch fout

Wat ik wel tegen ben gekomen op internet is dit forum met bijbehorende code
http://arduino.cc/forum/index.php?PHPSESSID=08adc9894ced80a2a179446ba6…

Het zou mooi zijn als ik deze code kan gebruiken hoef ik niet alles te schrijven

in het bijbehorende schema word gebruik gemaakt van een tpic6c595 en 74HC595 Voor zo ver mijn googelen klopt doet de tpic6c595 hetzelfde als de 74HC595 alleen kan die meer Mah aan en hoef je dus geen gebruik te maken van transistors? klopt dit?

Zo ja kan ik dan ook alleen de 74HC595 icm BC547 gebruiken?

Wat betreft de 74hc164N geef ik het op. Ik krijg het niet voor elkaar en erger me er meer aan dan dat ik er plezier aan heb en dat is nou juist waarom ik bezig ben met elektronica omdat ik me er zo mee kan vermaken.

Tenzij iemand me er verder mee wil helpen en er van overtuigt is dat het kan werken :D zo niet ga ik morgen even de stad in kijken ofdat ik wat 74HC595 kan krijgen.

ik hou jullie op de hoogte

Hensz

Golden Member

Moet gewoon werken. Ik gok erop dat je iets verkeerd hebt aangesloten.
Wat gaat er eigenlijk precies mis, of ben je nog niet verder dan dat het niet werkt?

Don't Panic!

Waarschijnlijk doe ik inderdaad iets fout maar ik weet niet wat.
Gebruik maken van Ic's is voor mij helemaal nieuw. eerlijk gezegd had ik van mezelf nooit verwacht dat ik iets kon aansturen met de arduino maar dat is uiteindelijk ook gelukt (vraag me niet hoe)

Ik zal het proberen uit te leggen.

Ik wou simpel beginnen ik heb 2 ic's genomen en aangesloten volgens dit plaatje

http://www.cmdrkeen.net/wp-content/uploads/2012/08/74HCT164-pinout.jpg

Ik zal de volledige code niet posten maar heb de pins aangesloten zo als hier in de code staat

//-- Columns (Negative Cathodes) --
int latchPin1 = 2; //Arduino pin connected to Green 10 RCK of TPIC6C595
int clockPin1 = 3; //Arduino pin connected to Yellow 15 SRCK of TPIC6C595
int dataPin1 = 4; //Arduino pin connected to Blue 2 SER IN of TPIC6C595

//-- Rows (Positive Anodes) --
int latchPin2 = 5; //Arduino pinn connected to Green Latch 12 ST_CP / RCK of 74HC595
int clockPin2 = 6; //Arduino pin connected to Yellow Clock 11 SH_CP / SCK of 74HC595
int dataPin2 = 7; //Arduino pin connected to Blue Data 14 DS / SI of 74HC595

Pin Q0 tot Q7 doorgeleid naar de transistors met een 1k weerstand. en dan het display
GND aan Grond
DSA aan de Data
MR latch
CP CLock
VCC aan de +5v van de arduino

wat gebeurt er alles gaat oplichten flikkerend alleen als ik de GND verbind gaat alles uit en gebeurt er niets.

MR != Latch , datasheets lezen. In jouw geval lijkt me de aanschaf van 74HC595 icm ULN2803 een betere optie.

Shema:

http://www.mikrocontroller.net/attachment/29480/frage.jpg

It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Hensz

Golden Member

595 en 164 zijn verschillend en verschillend gepind ook.
Je kunt DSA of DSB aan Vcc hangen, de ander is je data-ingang. Met CP clock je die data binnen.
Je kunt dus met 2 pennen sturen, 3 is niet nodig zoals bij de 595. De 164 heeft geen latchfunctie.

Don't Panic!

Het probleem met deze schuifregisters is dat de data direct op de uitgangen staat. Dus wil je een ledje aanhebben op het eind van het schuifregister dan floepen alle eerdere bitjes allemaal kortstondig ook hoog. In het donker kan je een pulsje van ongeveer 1 microseconde op een ledje gewoon zien.

Vandaar dat iedereen de '595 gebruikt.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Zoals Hensz reeds schreef moet je één van de ingangen DSA DSB aan VCC hangen. De inputs DSA en DSB zijn in werkelijkheid een AND-gate. Hierbij de datasheet
http://www.skot9000.com/ttl/datasheets/164.pdf

Het signaal |MR is een reset. Die kan je dus niet gebruiken als latch. Wanneer je die niet gebruikt zou je deze best met een weerstand aan VCC hangen. Heb in het verleden zelf problemen gehad met "zwevende" ingangen.

Depeet
Arco

Special Member

@rew:
Philips gebruikte de 164 ook in de PM252x meters voor de displays. Geeft duidelijk zichtbaar 'rommel' tijdens het shiften. (flauw oplichtende extra segmenten)
Ben van plan om die ooit nog eens te wijzigen door tijdens het shiften de voeding van het betreffende display af te schakelen.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lucky Luke

Golden Member

Op 27 februari 2013 08:27:23 schreef rew:
Het probleem met deze schuifregisters is dat de data direct op de uitgangen staat. Dus wil je een ledje aanhebben op het eind van het schuifregister dan floepen alle eerdere bitjes allemaal kortstondig ook hoog. In het donker kan je een pulsje van ongeveer 1 microseconde op een ledje gewoon zien.

Vandaar dat iedereen de '595 gebruikt.

Of de 4094, die heeft ook een latch. (En is ietsjes goedkoper bij Dick Best)

Eluke.nl | handgetypt | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

Bedankt iedereen Ik ben tot een uurtje of 2 's nachts door gegaan en toen vond ik het wel welletjes.

Bij het aansluiten is het in zo verre nu ook dat alle ledjes inderdaad kort oplichten maar je ziet wel een patroon bewegen.
probleem wat Arco beschrijft. Bedankt hiervoor! hoef ik niet verder te zoeken naar het probleem.

Ik ga nu de stad even in en kijken ofdat ik de 595 kan krijgen met wat ULN2803.

Het is al weer een paar daagjes geleden maar we gaan weer verder.

In de stad hadden ze niks (prut winkel)
zelfde dag nog de spullen op internet de besteld en met de 595 is het helemaal gelukt icm de ULN2803. handige dingen ipv allemaal losse transistors.

Ik heb direct een zooi extra besteld gezien mijn 8x8x11 cube al klaar was en deze uiteindelijk ook wou gaan aansturen.

Het probleem waar ik nu tegen aan loop is dat als deze op de arduino word aangesloten dan werkt het alleen goed als er een adapter bij aangesloten word. Echter De arduino word heel erg heet. Ik geloof dat het de voltregulator is die zo warm word.

Als ik de Plus en min aansluit van de ULN2803 dan gebeurt er 1 sec wat. Als ik de min van de adapter verbind met GND van de arduino dan komt het patroon wel weer tevoorschijn maar niet zo als het zou moeten zijn.

Hoe kan ik dit het beste oplossen?

Alvast bedankt.

Stijnos

Golden Member

Ik zou enkel de ground verbinden.met je arduino en een aparte 5v voeding voor je leds gebruiken. Nu ga je alle stroom uit de regulator van je arduino trekken en dat vind ie idd niet leuk en dan breekt hem t zweet uit.