Multiplex 5x15 led matrix with push button increments

First of all I have no example code because I have no idea where to start, so ill do my best to explain, I am wanting a to have a 5 by 15 led matrix controlled directly, no shift registers or multiplexers, just transistors and arduino pins for multiplexing, the 15 columns will be the anodes, and the rows the cathodes, mono color. Each column represents a different item or sector on a panel I will make later, then each row will represent a status for that area, for example, Ill call column 1-table 1, then the 5 leds next to it have words like, customer here, drinks out, order in, food out, and bill out respectively. Then a push button will be there as well, once each step is completed, the button is pressed to increment the led status bar, (Rows). Following by a sixth button press, one more than there is less, to reset back to all status less off. if this was for one table that would be easy, but for 15 of them, all on different statuses, i need to multiplex all of it, and increment each individual section with a button. if that makes sense, please could someone help me out!!!
here is a pic of the panel so far if it helps

First of all I have no example code because I have no idea where to start, so ill do my best to explain, I am wanting a to have a 5 by 15 led matrix controlled directly, no shift registers or multiplexers, just transistors and arduino pins for multiplexing, the 15 columns will be the anodes, and the rows the cathodes, mono color. Each column represents a different item or sector on a panel I will make later, then each row will represent a status for that area, for example, Ill call column 1-table 1, then the 5 leds next to it have words like, customer here, drinks out, order in, food out, and bill out respectively. Then a push button will be there as well, once each step is completed, the button is pressed to increment the led status bar, (Rows). Following by a sixth button press, one more than there is less, to reset back to all status less off. if this was for one table that would be easy, but for 15 of them, all on different statuses, i need to multiplex all of it, and increment each individual section with a button. if that makes sense, please could someone help me out!!!
here is a pic of the panel so far if it helps

I think you need to start off with a schematic. With 15:1 multiplexing things will be dim so you need high efficiency LEDs.

(deleted)

Do you have the hardware? What you do in software will depend on the hardware.

Wouldn't be 5:1 because of the column being the anodes, therefore only 5 leds should be to the one source/pin?

I am using a stand alone atmega2560, I say not other drivers because most use SPI to communicate, I already have my SPI used on a daisy chain of Max7219 drivers to control my 15 seven segment displays, and yes the code is where id like help, I've looked up matrix multiplexing and tutorials, but none that I can find explain the requirements or how to of initializing the multiplexing code. I've tried picking it apart but with no luck. I'm using 3mm leds, with 2n3904 transistors, with 330ohm current limiting resisters.

Wouldn't be 5:1

Depends on how you write the software, see:- http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html

Thanks for that cool cross-eyed stereo view. :)

First of all, it doesn't matter if SPI is used up. It's nice, but it will work to bit bang a shift register interface.

Having said that, there is no mystery about how to scan a matrix. It's a brutally simple procedure. So your problem must be in translating ideas into code. For that, you just have to compartmentalize and solve problems one at a time.

You should create functions to do individual tasks, like setting the segments and selecting a digit. Actually, if you only do that, you've got 95% of it done.

Pseudocode: repeat for each of n digits { set the segments select a digit pause }

The pushbutton code requires that you sample the buttons, you can do that during the pause. If you want to maintain perfect timing, you would have to use something like this: Demonstration code for several things at the same time

Do not cross-post. Threads merged.

17c4c171121596df89c25311a3fdbaccc00753f8.png

morganjohan:
no shift registers or multiplexers, just transistors and arduino pins for multiplexing,

Sorry, that either makes no sense or is very unwise.

You are already using MAX7219s - clearly the only sensible way to do this is to use another five MAX7219s, chained to your present ones. The MAX7219s already include a “dummy” code in order to make it easy to load only specific ones in a chain if you wish to control one set separately from another.