Hi as Im a total noob please excuse any lack of understanding. I have a project in mind and would appreciate some guidance on first of all if it is possible. What I want to achieve as a proof of concept is the following:
A matrix of LEDs , columns and rows.
One LED on at a time.
The ability to move the active LED in the matrix by means of an arrow system, UP, DOWN,LEFT,RIGHT. Essentially lighting up different positions in the matrix by means of up, down, left, right buttons.
Is this possible and what would the code look like? If I can achieve this simple model it will help me to move on to the next stage in my project. I hope the above makes sense. Thanks in advance for your thoughts on this.
It's more common to have rows or columns of serially addressed LEDs. They can be addressed as one long string, or each row/column can be addressed separately.
There are "smart" serially addressable that Adafruit calls NeoPixels. They don't require any additional hardware so they are super-easy to use. The software is complicated but there are libraries to handle the hard part.
Or, see this tutorial for how to use a shift register. (There are also special LED drivers that are essentially shift registers.)
As always, work on the input (reading buttons) and output (controlling LEDs) separately.
Once you can do what you want with the LEDs and you can read buttons the software to "connect" those two should be fairly simply.
Here is my attempt at an LED matrix, without shift registers. I needed 12 pins to address 27 LEDs. Theory (Charlieplexing) says I could get more LEDs, but I could not understand Charlieplexing.
For more LEDs in a matrix, you will want to look at "shift registers" which need only 3 pins to control 128 (?) LEDs.