rodneysfan

I am relatively new to the electronics and hope to find an explanation/some tip on the following.

I am using 2 x 4051 multiplexers (one as mux, second - demux) to have access to all 64 led in my LED matrix using only 6 Arduino pins.My code is running as I wish but there appear some parasite leds. Here is complete code

That is not very normal, have you got a schematic of how you have wired it up?Normally an 8X8 matrix is wires up using latches and buffers.Using a 4051 for lighting up LEDs not not a good idea. The current is limited. It is designed for more of inputs.See this for typical configurations:-http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html

rodneysfan

I attach an image of how things are hooked. I decided not to draw exact matrix pin connections (for the sake of image clarity), I personally do not think that it would matter for my problem.I really do not get how leds that are in LOW@ +ve terminal and LOW@ -ve terminal can have any current passing through.Thanks again for your time!

Yes but it would make other people understand what you are doing a lot better.

Sorry I don't know where you got that design from but it is very wrong.First of all there is no current limiting components, a resistor is the simplest way of limiting the current.

Next you can only light up one LED at a time. This means that each LED is only on for 1/64th of the time. That means it will be very dim, remember you do fading with PWM by adjusting the on / off ratio.

Quote

I really do not get how leds that are in LOW@ +ve terminal and LOW@ -ve terminal can have any current passing through.

rodneysfan

I did as you suggested but unfortunately the parasitic leds are still on. And here I am agree that it has to do with 1/64 on/off ratio.To give an idea what I mean under "parasitic" I attach some photos of letter H: one without delay( in the innermost loop) - columns #1,3,6,8 are not supposed to light up.and two photos with delay (1) - you can see that these column get dimmer. With even higher delays these column dissapear but the trade-off is that I get noticeable blinking.I am asking myself now, if it is possible to have neat letters (static or scrolling or whatsoever) using two MUXes.

This comes about because when you write the three bits to change the data line selected you do this one at a time. So suppose you go from 011 to 100 you go through the intermediate stages of 010, 000 and 100. This addresses very briefly the wrong data lines and so can light up the wrong LEDs. Without a delay this intermediate state is a significant fraction of the time the targeted LED is on. As the delay gets longer this fraction gets smaller.

Ways round this:-1) Use the data enable line to turn the data selector on and off while changing the address.or2) Use direct port addressing to change all the data select address lines at the same time. Although there will still be a slight amount of time with the wrong addresses due to propagation delays through the chip.