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.7k stars 1.17k forks source link

Long single chain of 22 panels 32x64 glitch on last 2 panels on raspberry pi 4 #1408

Open ignaciogaticarojas opened 2 years ago

ignaciogaticarojas commented 2 years ago

Hello again @hzeller ! I decided to continue my project with other panels than the ones i bought in china.

Im running a the program on 22 32x64 p5 panels with a raspberry 4 with adafruit bonnet with gpio:4 and it still glitching on the last two panels.

is there any recommendation on how to fix this?

(i also have a electrodragon hat but never learned how to make it work in one single chain of if this one would make any difference)

https://user-images.githubusercontent.com/99695299/155749121-e628939a-47e2-4a3c-805c-a3055f1150ca.mp4

davemaster commented 2 years ago

22 panels chained are too much. Try to splity that chain in half, 11-11 ie, two parallel or, three parallel of 7 each (one of 8 panels)

ignaciogaticarojas commented 2 years ago

Thanks @davemaster , can i ask you what are the parameters an changes i would have to do in order to achieve this with electrodragon instead of raspberry hat? also i do need a very long data cable for that right?

thanks a lot

davemaster commented 2 years ago

image

You have to build a large cable for the second half

add :

--led-parallel = 2; --led-chain=11 (if this is the half of panels)

The problem, is find out the way to use the mapping using the option of the rpi-rgb-led-matrix option, You check it out.

Best regards.

El vie, 25 feb 2022 a las 14:11, ignaciogaticarojas (< @.***>) escribió:

Thanks @davemaster https://github.com/davemaster , can i ask you what are the parameters an changes i would have to do in order to achieve this with electrodragon instead of raspberry hat? also i do need a very long data cable for that right?

thanks a lot

— Reply to this email directly, view it on GitHub https://github.com/hzeller/rpi-rgb-led-matrix/issues/1408#issuecomment-1051121613, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIGUX5ZH3GRE6XLKBQPIZ3U47H6RANCNFSM5PKV2SSA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

-- David Elias Flores Escalante TeleTracking SAC

ignaciogaticarojas commented 2 years ago

Thanks a lot @davemaster , Dear @hzeller is it possible you could suggest me what is the best option for mapping this long ticker chain?

Again thanks a lot

hzeller commented 2 years ago

If there is only a slight skew between the passed through clk signal and the output of the shift register, then you'll get artifacts such as that.

Parallel chains with 3x8 or 2x11 is recommended (--led-chain=11 --led-parallel=2 or --led-chain=8 --led-parallel=3 - in the latter case, you are not using two of the addressed panels, so maybe extending your number of panels to 24 might be cool). To arrange them all phisically in one line, use the V-mapper

In general, this will also increase your refresh rate.

hzeller commented 2 years ago

also gpio slowdown is probably a good first defense, but you guess you read the readme and have done that already.

ignaciogaticarojas commented 2 years ago

thank you for the quick reply @hzeller ( yes to gpio readme question) ---- now i step into a probably baby step problem, but following this instructions: i the electrodragon on my raspberry 4 plugged in the first left hub75 of the hat show me this

https://user-images.githubusercontent.com/99695299/155819134-fb11a407-8802-4473-87d9-2b32d124c2f7.mp4

this is the command im using sudo

python3 image-scroller.py --led-cols=64 --led-rows=32 --led-gpio-mapping=regular

Thanks again

hzeller commented 2 years ago

you might also need --led-gpio-slowdown=4 or so - the Pi4 might just be too fast for your panels. A single chain on the electrodragon should look like a single chain elsewhere with the difference of the led-gpio-mapping in parameter.

ignaciogaticarojas commented 2 years ago

thanks @hzeller feeling like im almost there , but now its looking like this

https://user-images.githubusercontent.com/99695299/155820117-68a13254-5359-400f-82d4-41c7e3393d97.mp4

at least i see something ahaha !

ignaciogaticarojas commented 2 years ago

is this a pin i have to solder in the electrodragon hat? @hzeller thanks again

hzeller commented 2 years ago

I don't know the electrodragon hat, you should follow their instructions

ignaciogaticarojas commented 2 years ago

@davemaster are you familiar with this kind of black horizontal lines?

ignaciogaticarojas commented 2 years ago

is this usually related to some gpio thing?

maksun commented 2 years ago

Hello,

The electrodragon hat seems identical to the "hzeller" one, I think they did a hat with the instructions we can find here. That's interesting as someone reported me kind of the same issue:

image

He also told me it works with another hat (joy-it) but from what I saw it is also a clone of "hzeller" hat. I'm waiting for more information to understand what is going on, I will inform you here if I have something interesting.

Regards,

ignaciogaticarojas commented 2 years ago

@maksun i found this in the electrohat website

Matthew The problem is on the board. See channel D. It’s grounded. I have seen this problem on my boards. Cut the track and solder a wire between pin 12 on panel 0 to pin 12 on panel 1.

ignaciogaticarojas commented 2 years ago

8c1c5113-bcc8-490e-b618-218539a64210 531643f9-1b70-45fe-87f8-4a5a2c2883db

i hope this help some electrodragon users... now im going to proceed with the surgery

ignaciogaticarojas commented 2 years ago

if there is any suggestion on how to cut this would be highly appreciated @hzeller @davemaster @maksun

davemaster commented 2 years ago

Look, when I still not have the electrodragon HAT for the raspberry, I used JUST CABLEs, those female-male cables to wiring to the rgb panel INPUT. Do as I did, use just cables, for TWO chains; as THE "regular" connection.

Details: https://github.com/hzeller/rpi-rgb-led-matrix/blob/master/wiring.md

Best regards

maksun commented 2 years ago

@ignaciogaticarojas Great you find this info, thank you :) You can take any sharp and thin blade (like the one for surgery or a little cutter with a new blade). Please tell us if it is OK after the "surgery" :)

Thanks for the suggestion @davemaster.

maksun commented 2 years ago

@ignaciogaticarojas @davemaster @hzeller Just for your information - if someone is asking how to fix - it looks like removing only the two "holes" is enough then put a little bit of nail polish to avoid future corrosion:

Before: image

After (the nail polish has not been put on this picture): image

Then it works ;)

ignaciogaticarojas commented 2 years ago

thats cool @maksun

I ended up building the active adapter that @hzeller designed . Chain hub 1 working perfectly.

but i have a new question @hzeller ,

what is the correct mapping line to make it scroll horizontal right to left?

sudo python3 image-scroller.py --led-cols=64 --led-rows=32 --led-gpio-mapping=regular --led-slowdown-gpio=4 --led-chain=3 --led-parallel=2

any lead on how to make them work would help ,here some pics of my recently built active adapter

WhatsApp Image 2022-02-26 at 5 27 03 PM

WhatsApp Image 2022-02-26 at 5 26 58 PM s

ignaciogaticarojas commented 2 years ago

would i need to build a custom mapper for i want to try to achieve? @davemaster @hzeller is this something i should be looking at?

Taki75 commented 2 years ago

Hello,

The electrodragon hat seems identical to the "hzeller" one, I think they did a hat with the instructions we can find here. That's interesting as someone reported me kind of the same issue:

image

He also told me it works with another hat (joy-it) but from what I saw it is also a clone of "hzeller" hat. I'm waiting for more information to understand what is going on, I will inform you here if I have something interesting.

Regards,

if this fault occurs on the electrodragon panel, there is a switch on the panel, it must be switched and then the problem will disappear.

problem1

bonnet3

maksun commented 2 years ago

@Taki75 The switch is here to use port 3 OR the RTC clock, the problem we are talking about is not linked, even electrodragon says: "Yes indeed there is a problem, The line D (pin12 ) is failed and grounded by a design mistake, please cut the line as in the attached image, if you need a replacement please contact us".

ignaciogaticarojas commented 2 years ago

Hi David i read it many times and been working on this program for more than a year and still finding interesting issues ! anyways thei figured out and what you suggested works. Thanks again everyone ![image: WhatsApp Image 2022-02-28 at 1.25.52 PM.jpeg]

El lun, 28 feb 2022 a las 10:27, David Elias @.***>) escribió:

The problem, the REAL problem is that the hobbysts doesn't read the manuals, try to do the things in few minutes, even those more complicated.

PLS, fist, read the repository README.md, in this, is full detailed (wiring included, schematics included)

— Reply to this email directly, view it on GitHub https://github.com/hzeller/rpi-rgb-led-matrix/issues/1408#issuecomment-1054371434, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXYTVQ6SC3WPQUAIDQDHRQTU5OH7HANCNFSM5PKV2SSA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

-- Ignacio Gatica

www.ignaciogatica.com

www.edicionespopolet.com http://www.fundacionpopolet.com

Bano310 commented 2 years ago

-- David Elias Flores Escalante TeleTracking SAC

Mi código está parpadeando, ¿cómo puedo eliminar este parpadeo?

este es mi código importar json desde samplebase importar SampleBase desde rgbmatrix importar gráficos importar RPi.GPIO como GPIO importar tiempo importar sys

GPIO.setmode(GPIO.BCM) GPIO.setup(21, GPIO.IN) GPIO.setup(24, GPIO.IN) GPIO.setup(18, GPIO.OUT, initial=0)

cont =100 plazas =100 clase PruebaGráfica(SampleBase): def init (self, *args, *kwargs): super(GraphicsTest, self). init (args, **kwargs) def run(self): canvas = self.matrix font = graphics.Font() font.LoadFont("../../../fonts/texgyre-27.bdf")

green = graphics.Color(0, 255, 0)
graphics.DrawText(canvas, font, 83, 24, green,str(cont))

blue = graphics.Color(0, 0, 255)
graphics.DrawText(canvas, font, 1, 23, blue, "plazas")
time.sleep(1)

while cont <= 100: inputValue = GPIO.input(21) inputValue1 = GPIO.input(24) if (inputValue == True): cont = cont - 1 print("Choche entrada " + str(cont)) time.sleep (.01) class GraphicsTest(SampleBase): def init (self, *args, *kwargs): super(GraphicsTest, self). init (args, **kwargs) def run(self): canvas = self.matrix font = graphics.Font() font.LoadFont("../../../fonts/texgyre-27.bdf")

        green = graphics.Color(0, 255, 0)
        graphics.DrawText(canvas, font, 83, 24, green,str(cont))

        blue = graphics.Color(0, 0, 255)
        graphics.DrawText(canvas, font, 1, 23, blue, "plazas")
        inputvalue = False
    time.sleep(3)       

time.sleep(1)

if (inputValue1 == True): cont = cont + 1 print("Salida" + str(cont)) time.sleep(.01) class GraphicsTest(SampleBase): def init(self, *args, *kwargs): super(GraphicsTest, self).init(args, **kwargs) def run(self): canvas = self.matrix font = graphics.Font() font.LoadFont("../../../fonts/texgyre-27.bdf")

        green = graphics.Color(0, 255, 0)
        graphics.DrawText(canvas, font, 83, 24, green,str(cont))

        blue = graphics.Color(0, 0, 255)
        graphics.DrawText(canvas, font, 1, 23, blue, "plazas")
        inputvalue1 = False
    time.sleep(1)       

time.sleep(1)
if (cont == 0): GPIO.output(18, 1) print ("parking lleno" + str(cont)) class GraphicsTest(SampleBase): def init(self, *args, *kwargs): super(GraphicsTest, self).init(args, **kwargs) self.parser.add_argument("-t", "--text", help="The text to scroll on the RGB LED panel") def run(self): canvas = self.matrix font = graphics.Font() font.LoadFont("../../../fonts/texgyre-27.bdf") LedChain = 4

        red = graphics.Color(255, 0, 0)
        graphics.DrawText(canvas, font, 0.5, 23, red,"completo")
    time.sleep(.3)

time.sleep(2)

if name == "main": graphics_test = GraphicsTest() if (not graphics_test.process()): graphics_test.print_help() tiempo.dormir(5)

https://user-images.githubusercontent.com/101106566/161740632-51aa649a-86bd-4fa2-b94e-b2d238db09b0.mp4

maheeeetaaa commented 2 years ago

sudo python3 image-scroller.py --led-cols=64 --led-rows=32 --led-gpio-mapping=regular --led-slowdown-gpio=4 --led-chain=3

THANK YOU!!

Monishamacharla commented 2 years ago

I had the same issue before but now it is working fine, I connected 16 panels 32x32 with single chain, and u mapper and raspeberry pi 4, just try with gpio slow down = 5, which you can configure in the led matrix.cc file.

ignaciogaticarojas commented 2 years ago

Thank you @hzeller @marcmerlin @davemaster https://user-images.githubusercontent.com/99695299/183772462-0174f387-7c7f-47d8-8a68-ba1e6fa3a1d1.mp4

ignaciogaticarojas commented 1 year ago

Hello and happy new year community @hzeller . I found a problem that im guessing it could be power one building a 14 screen display powered by an 5v 70 amp power supply using the adaptor . Half of the panel chain glitches after a while being powered, Im guessing it could be because of the thickness of the cables that power the pi?

It would be great to get some input on this. 2023-01-04 17 18 39 2023-01-04 17 18 33 2023-01-04 17 18 29 2023-01-04 17 18 24

Here i attach images of the set up

anandrajgupta commented 1 year ago

FRC of the Panel from where the Glitch starts 🤔

ignaciogaticarojas commented 1 year ago

No its not the data cable. We changed it and still has the same problem... :/ but there is a long and then a regular short one. Maybe both should be same length?

anandrajgupta commented 1 year ago

Yes ideally it should, but that should not be the actual reason behind this glitch.

Can you diagrammatically show the arrangement of Panels you have established, and also the matrix configurations corresponding to it, specially the GPIO SLOWDOWN parameter?

ledvinap commented 1 year ago

Can you test that only half connected by longer cable is glitching?

Try installing jumper on P7-P8 first - ground line near RGB data may help.

ignaciogaticarojas commented 1 year ago

Try installing jumper on P7-P8 first - ground line near RGB data may help. where is this? @ledvinap in adaptor or panels?

@anandrajgupta here is a diagram of the set up

and configuration is app.py led-cols=448 --led-slowdown-gpio=5 --led-gpio-mapping=regular --led-rows=32 --led-chain=1 --led-pixel-mapper=V-mapper --led-parallel=2 --led-brightness=70

setup la.pdf

anandrajgupta commented 1 year ago

Breakdown this setup into smaller one and debug one by one to get an idea what actually is causing the issue

i suggest you to not use "V-mapper" use 2 straight chains and instead of using "V-mapper", use blank i.e. ""

1st make a single chain of 3, 4, ..., 7 panels and see if everything is working fine then append the 2nd chain and observe the result

also i suggest to initially put brightness=100 and pwm-bits=1 just for observation purpose

ledvinap commented 1 year ago

@ignaciogaticarojas : It's on adapter, unpopulated header in bottom of your picture. The jumpers select E signal or GND, set it to GND.

ignaciogaticarojas commented 1 year ago

@ledvinap I think thats not for the problem since my panels are not E panels. it seems to me that probably has to do that i built a adaptor missing the third chain chip and resistor. Would not adding this affects the clock signal of the middle chain? @hzeller

Thanks a lot

davemaster commented 1 year ago

looks crazy, but, test chains of two, I mean, two by two... from the beginning to the end. If they works fine, is a power supply issue, don't believe in the nominal power in the sticker on power supply.

Try this, if all panels are right, at the input and output, test power supply, start with one, two, three, etc, then find when the glitch appears, ADD another power supply, not before you test its nominal power.

Best regards

ignaciogaticarojas commented 1 year ago

@davemaster Thanks Dave, i tried what you suggested but i saw no improvement. It also seems that the flicker get worst within time. Is maybe because i did not fully complete the active adapter with the third chain chip and resistor, so this week i will build one and try it again. just wondering if anyone had build an active adaptor with just two or one outputs...

Hope everyone had a great weekend

Best

anandrajgupta commented 1 year ago

can you try

--led-pwm-bits=<1..11>

just to check it's not the computational power limitation by default this value is 11, but for your use case the value 8 should also work fine and for debugging purpose i recommend doing this 1 also and run a scrolling text in a single color

davemaster commented 1 year ago

@davemaster Thanks Dave, i tried what you suggested but i saw no improvement. It also seems that the flicker get worst within time. Is maybe because i did not fully complete the active adapter with the third chain chip and resistor, so this week i will build one and try it again. just wondering if anyone had build an active adaptor with just two or one outputs...

Hope everyone had a great weekend

Best

Greetings,

What about add one-two additional power supplies ...