Sparkfun’s 4×4 Button & LED Matrix – Part 2 – Connecting to an Arduino Mega

I described, in a previous post, how to assemble a 4×4 Sparkun’s button and led matrix. Let see how to connect it.

Because of the (quite) large number of leds and button, I will be using an Arduino MEGA. That will allow to drive RGB leds and button without any additionnal  component. Well… almost : we’ll still need

  • 12 150Ω resistor for the RGB leds
  • a few jumper wires
  • 3 small breadboards
  • an Arduino MEGA of course

RGB led and Arduino

RGB LED detailsAn RGB led is actually… 3 leds : 1 Red, 1 Green and 1 Blue (thus RGB). They all share a common cathode and have 3 anodes, 1 per color.

Choosing the voltage applied to each color allows to choose the brightness of each color, allowing, in turn, to display a broad range of colors.

An Arduino does not have analog outputs. Only digital ones. So we’ll use digital output to “simulate”  analog ones using a technique called PWM. For more details on PWM see here.

Wiring the button & led matrix

Without the matrix, we would need 3×16=48 PWM pins… that’s a lot. With the matrix, we only have 4 rows, each row being connected to 4 leds. This implies some limitations but we now only need 3×4=12 PWM pins and Arduino MEGA 2560 has… 15 of it. Phew…

In addition of connecting the anodes to PWM pins, we also need to connect the cathodes to  simples digital pins. We only need 4 of them because we have 4 columns, each column being populated with 4 leds sharing the GND.

And then, we’ll need 4 digital pins for button GND (cols) and 4 more for signal (rows)

button pad connection

You’ll find an interresting article about about keyboard matrix here.

And put it in a box !

I used the box in which my netatmo thermostat was provided : a nice cube with the perfect size ! I’ve done a bit of cut in the box and the spacers and here is the final result :

In the box closedIn the box opened

 A simple test program

We’we wired evrything up, we can start programming the gizmo and see what it can do. You will find a test program here.

As you see, it is quite simple : at startup, it senquentially lights up all leds then, on each button press, it light up the corresponding led, changing color each time.

It is just for testing. I’ll work on some more interresting programs and post them !

One thought on “Sparkfun’s 4×4 Button & LED Matrix – Part 2 – Connecting to an Arduino Mega

  1. Pingback: Sound Box | Introduction | Interacting Objects

Leave a Reply

Your email address will not be published.