8x64 Led Matrix

0 views
Skip to first unread message

Sean Vaidhyanathan

unread,
Aug 5, 2024, 1:04:16 AM8/5/24
to neumendiaga
Hithere.

I'm new to this and need some advice. I've managed to connect 8 led matrix and have a message scrolling on them but it is scrolling vertically on the display. I need it to come from right to left not top to bottom.



Is there an easy fix or have I missed something big?

Thanks for any help offered.


Thank you for your response. I'm looking at that and completely lost. Some of it makes sense but I think I've bitten off more than I can chew.

I have a code that does exactly what I want but it scrolls in the wrong direction.


The fundamental issue is that the code is moving columns and you should be moving rows. It comes down to the way the matrix is wired up is probably different from the assumptions made in the LedControl library.


Rookie error. I've made it public now.

Thanks so much for getting back to me. I'll keep searching and hunting.

I think I'll need to start from scratch and learn to program it. Was trying to cheat and take a short cut.


You don't need to have the FONT_ADJUST turned on at all, that is an engineering function, and you should not need any transformations. FONT_ADJUST is removed in the next version as it seems to be confusing quite a few people.


With the modules that you have you will need to make sure that they are oriented so that the IC is at the TOP (ie, it looks upside down from the picture you have at the beginning of this thread), and you should be ok.


Just wanted to drop a line and say a huge thank you for pointing me in the right direction. Didn't realise that I had to change the code in the MD_Parola.h and MAX72xx.h files. I was reading them as just text and instruction files. The display is working amazingly now and I can't wait to see how far I can take this.

You guys are amazing . Thank you XD XD XD


I would like to building a 8x64 RGB Matrix and connect it to my Arduino.As this form factor does not really exist I would need to build one myself but now I am wondering if I should use addressable LEDs like WS2813 or APA107 and use FastLED or rather use 'dumb' LEDs and just multi-/charlieplex them using a MAX7221 or comparable chip.


What are some pros and cons I should consider with each one? I read that to many WS2813 can make problems but APA107 seem to fix that. But on the other hand most bigger matrices just use multiplexing........


The smart RGB LEDs will be brighter. Each device has its own control chip that controls the 256 PWM level for each of the 3 LEDs. So for an 8x64 array, you send in 3 bytes/device, 8x64x3 = 1535 btyes, pause a few microseconds, and the array updates itself.


hi, im really new to arduino programing.

i try to make a 8x64 scrolling text using led matrix using max7219. The displayed text will be send via serial from php. and as the server i'm using raspberry. i have done the php and the raspberry pi configuration. and able to send the serial data. but at arduino side, i'm really clueless about the programing. i'm using maxmatrix library,


so i would really apreciate if someone could help me on this, i have working on this for about 2 month, i made by my self the 8x8 led matrix . now i have finish the led wiring , configuring php and raspberry pi, but i'm stuck with arduino coding. So please i really need help here.


That would be correct. The loop is the part in the arduino code that is called continuously. If you put the serial read outside the loop, it would only get called once at startup and never again, so while you were typing, it would not be reading the serial port. You must have the serial read somewhere inside your loop.


the result it the text is still displayed with shifting, but unable to scroling/ do looping. can anybody explain to me why i can't use serial data to make the text scolling? it will only shifting and when it reach the last character, the movement will stop.

but if use the data from char string , to like this :


hi , thank for your help. but it seem using this way, i'm not able to get the data form serial, but yes it will scroll when i used data from "char string1[32]="test 1234567890". and it will scroll even when i dont send any serial to arduino.


the result it the text is still displayed with shifting, but unable to scroling/ do looping. can anybody explain to me why i can't use serial data to make the text scolling? it will only shifting and when it reach the last character, the movement will stop.

but if use the data from char string


The scrolling is working fine for both string and string1. The problem is getting characters into string from the serial port. If you print the variable string out of the serial port for debugging you will understand the problem better.


Your "printStringWithShift" function finishes with the string to the left, and is a long delay (a few seconds probably) where nothing else can happen. Also, when you read in serial characters, the way it is written, it overwrites any previous serial characters, instead of appending them. This is probably not what you want to do.


so what should i do to make serial data to be output like 4th sketch. it will output the text as one line after the looping done, and repeat the looping again. what methode should i use to store the serial data,


The last code I sent you was designed to scroll the text only after you send a Carriage Return/Enter character on the serial port. The idea would be you type some text you want displayed, then hit enter. I don't think you tried that code and sent a carriage return. For example, "testing" where is the carriage return/enter key.


You are still misunderstanding the symptom. When you say "when it gets to the left, it stops", what is actually happening is it returns from the call to printStringWithShift, then re-enters the loop() function. At this point, string reads the serial port again, and if there are no characters, the new "string" variable is empty. In other words, you keep emptying the string variable. It's not that the print is not looping, it's that your code keeps clearing out the string variable. That is why it works with string1. String 1 never changes, so the printing works with every loop. In the case of string, it gets cleared every time you come into loop. That's the difference.


However, because the print takes so long, I don't know that you want to just read the serial port in again after the shift has finished. That's why I added the "wait for the enter character before displaying the string". But, maybe that's not what you want to do. I'm not sure.


what i want to do is to make a 8x64 scrolling led matrix using max7219. the text that i want to display is came from serial data.

ah ic, so that is why the if i use data from serial the looping is stop, coz there is no data to read after the last character.

so how could i store the serial data so the printstringwithshift would read it as a static data?


Let's assume for now that it takes 5 seconds to scroll the text once. During that 5 seconds, you cannot read the serial port, and the text will not change. At the end of that 5 seconds, we come back into the loop to read more characters.


how can i display the whole text, without need to loop it one by one first. what method should i use to wait until the serial finish send the data, and strcat the full data/text, so it would display the whole text at time.


hi, the first method is what i want it to be. but using the sketch with hasReturn, doesnt give me anything at the output printwithShift function, i put serial.println under strcat command, the ouput is


about how to change the displayed text, when using php, everytime it send new serial,look like the connection was reset, and then create new connection and send new data to arduino. coz i can see something has interupt the connection looking how the led matrix blinking when i run the php script to send new data (same thing happen when i close or open serial monitor), and it will clear the matrix from old text. then display new text from php or serial monitor.


Normally, this is done by sending "test1234" followed by the carriage return character (ASCII 0x0D). Do you know what I mean by the carriage return character? That is very important. It's like "test1234\r" in the C++ language. You could even use "test1234\n" if you wanted and test for the ASCII Newline character (0x0A). Do you know what I mean here? It's like hitting "Enter" on your keyboard. It tells the computer that that is the end of the text line.


Try this: Use my earlier code which has the "0x0D" things in it. In the serial port connection, type the letters "test1234" and hit enter. Don't use your PHP code. Just use a serial port and a communications program, and type the characters in by hand. When you hit "enter", the text should start to scroll. Then when you start typing a new line on your serial port, the text will stop until you hit enter again. Hopefully doing that will help you understand what you need to do.


hi , friend i think i just solved how make the text to displayed without needed to loop it one by one, looking arround and found a discussion about convert string to chararray. and applied it to my sketch. and the result is like what i want.

here is the sketch :


First problem (with the first part of code):

When MaxinUse is > 4, on the right, after 4 characters displayed there on the first and second matrix some lines and not the following characters.


I have an easy-to-repeat DIY Matrix LED project.

Project is based on Pixelblaze LED driver and Pixel LED matrix.

It is WiFi but 100% local control and of course, integrated with HE.

Matrix could be any size but I am using 8x64 (2 cascaded 8x32) LED panels.

It capable to display scrolling text and/or static messages. I am using both on

the same marix.


Advanced Wi-Fi LED Controller and Live-Coding Pattern Development Engine Pixelblaze is great for anyone making LED art large or small, costumes and wearables, or decorating cars and houses inside and out! Pixelblaze makes it fast and fun to write new...


OK, since you already have Pixelblaze units I assume you know how to connect LEDs

(strips and/or matrixes) plus how to configure and run Pixelblaze projects.

For the HE integration you will need to install Pixelblaze driver available through HPM:



3a8082e126
Reply all
Reply to author
Forward
0 new messages