hzeller / rpi-rgb-led-matrix

Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO
GNU General Public License v2.0
3.73k stars 1.18k forks source link

8x16,16x16 Matrix #503

Open AraiHiroaki opened 6 years ago

AraiHiroaki commented 6 years ago

Hello @hzeller,thank you for your wonderful libraly.I have 16 x 32, 32 x 32, HUB 75 LED Matrix control is successful. However, I'd like to control outdoor LED Matrix HUB75,P16 or P20.They are 16x16 or 8x16 matrix. I tried "--led-multiplexing",but it is not going well. I would be pleased if you could advise me.

hzeller commented 6 years ago

So, if it is not going well, how does it look instead ?

AraiHiroaki commented 6 years ago

Thank you for your reply.

I have two 16x16(P16) LED matrix panels. I connected them.

20180201_r0056859

./demo -D0 -r 16 -c 2

20180201_r0056847

./demo -D0 -r 16 -c 4

20180201_r0056848

./demo -D0 -r 16 -c 8

20180201_r0056851

./demo -D0 -r 16 -c 16

20180201_r0056852

AraiHiroaki commented 6 years ago

./demo -D 0 -r32 -c8 --led-multiplexing 0 https://vimeo.com/253975708

./demo -D 0 -r32 -c8 --led-multiplexing 1 https://vimeo.com/253975580

./demo -D 0 -r32 -c8 --led-multiplexing 2 https://vimeo.com/253975595

./demo -D 0 -r32 -c8 --led-multiplexing 3 https://vimeo.com/253975799

hzeller commented 6 years ago

Can you take pictures with the -D3 demo ? It might be easier to see what is going on as this just shows a static square.

Why are you choosing -r32, shouldn't this be -r16 as these are panels with 16 rows ? Also why did you choose a led-chain of 8 (-c3) ? In the picture above you only have two panels.

So testing with various led multiplexing of ./demo -D3 --led-rows=16 --led-cols=16 --led-chain=2 --led-multiplexing=<0,1,2,3> and taking pictures would be good. Also the same test, but with only --led-chain=1 and then a picture of the first panel in the chain.

It looks like it is mostly ok but then mirrored in the middle.

How does the 8x16 panel look like you mention. Is it 8 high and 16 long or 16 high and 8 long ? Can you send a picture of the back of the 8x16 panel in a way that the input connector and potential printings next to it are clearly visible ?

AraiHiroaki commented 6 years ago

Thank you for your instruction.

For -r32 - c8,because I seemed to be doing better.(I tried many combinations.) ex) ./demo -D 0 --led-rows=16 --led-cols=16 --led-chain=2 --led-multiplexing 0 r0056887

But now,I'll take your advice.

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=2 --led-multiplexing 0 r0056878

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=2 --led-multiplexing 1 r0056879

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=2 --led-multiplexing 2 r0056880

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=2 --led-multiplexing 3 r0056881

I try the same with a single panel.

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=1 --led-multiplexing 0 r0056882

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=1 --led-multiplexing 1 r0056883

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=1 --led-multiplexing 2 r0056884

./demo -D 3 --led-rows=16 --led-cols=16 --led-chain=1 --led-multiplexing 3 r0056885

AraiHiroaki commented 6 years ago

And the 8x16 panel is as following pictures.

r0056892 r0056894 r0056897 r0056895 r0056896

angelogoncalve commented 6 years ago

See this issue https://github.com/hzeller/rpi-rgb-led-matrix/issues/136.

hzeller commented 6 years ago

So if all the multiplex options [0..4] don't work, you might need to provide the mapping that works for your panel and send a pull request so that we can include it in the toplevel. You essentially need to add code to lib/multiplex-transformers.cc and need to wire it up around here.

AraiHiroaki commented 6 years ago

Thanks hzeller. I read issue # 136. over and over,and it improved.

sudo ./demo -D 2 runtext.ppm -L --led-parallel=2 --led-rows=8 --led-chain=16 --led-cols=16 Size: 128x32. Hardware gpio mapping: regular Read image 'runtext.ppm' with 500x32 Press to exit and reset LEDs

img_0085

angelogoncalve commented 6 years ago

Did you used any transformer Dear AraiHiroaki?

AraiHiroaki commented 6 years ago

Thank you, angelogoncalve. I used the following formula. (It is not complete yet....)

new_x=(1-(x/4 % 2))64+(x % 4)4+(y % 4)+(y/4 % 4)16+(y/16 % 2)128; new_y=x % 4 + 4*((x / 8));

angelogoncalve commented 6 years ago

Thanks my friend when you put the demo working with your finished formula (transformer) for the 16x16 panel, please share for the community. Thank you very much for your help Dear friend.

AraiHiroaki commented 6 years ago

Thanks dear angelogoncalve. I repeated the test many times, but I can't make much progress.

With the following transformer,

new_x=4((1-(x/4 % 2))16+(x % 4)+(y/4 % 4)4+(y/16 % 2)32)+(y % 4); new_y=x % 4 + 4*((x / 8));

sudo ./demo -D 1 runtext.ppm --led-parallel=2 --led-rows=8 --led-chain=8 --led-cols=32

https://vimeo.com/258464736

Because of my lack of understanding about lib,I don't know why "--led-rows=8 --led-chain=8 --led-cols=32".This Panel is 16x16 matrix. I think correctly "--led-rows=16 --led-chain=2 --led-cols=16". (??)

angelogoncalve commented 6 years ago

Yes the test is sudo ./demo -D 1 runtext.ppm --led-parallel=2 --led-rows=8 --led-chain=8 --led-cols=32 --led-pwm-bits=1 --led-slowdown-gpio=4