LED Matrix with buttons?


This is going to sound pretty uninformed, I know. I’m really new to using Arduinos, and I’ve been taxed with doing some coding for a school project with hardware someone else designed. Anyway:

I have a 16x8 grid (sixteen columns of eight) of LEDs, each controlled by a button. It’s all connected to a TLC5940, and we’re controlling it with an Arduino Mega. I also understand that we’re using a shift register, but I don’t know a specific name for it (if a name for a shift register is even a thing?). I’ve attached the schematic for our hardware, as well. When you press a button, I want it to leave the corresponding LED on until the button gets pressed again.

I pretty much have no idea how to do any of this…if anyone can help me, I would really appreciate it!

Well that is not going to be very bright due to the 8 to 1 multiplexing going on. Read about multiplexing here:- http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html

Using a TLC to multiplex means you are going to have to synchronise your reading of the buttons with the multiplexing. This means hacking into the multiplexing library to read all those inputs when ever one of the P-channel FETs is turned on.

Not an easy task for a beginner. I would go and kick the person who designed that hardware.

However it is very close to my project:- http://www.thebox.myzen.co.uk/Hardware/Econo_Monome.html and http://www.thebox.myzen.co.uk/Hardware/Hexome.html But I suspect the TLC driving library is different to that which I used.