Comments: Button Pad Hookup Guide


Comments 9 comments

  • Would it make sense to use common anode LEDs instead, with + connected to the “LED-GND” pins, so that the RGB pins can be connected to a constant-current sink PWM controller like your LED Driver Breakout?

    Though I’d put in a vote for a NeoPixel version as well.

  • I just finished soldering mine. I am wondering is there any way to control this with a Raspberry Pi instead? I am much more comfortable in that environment but don’t know how would the wiring be? Any advice here is appreciated…

    • You should be able to just connect each LEDs row & column to any GPIO pin of the Raspberry Pi. The same goes for the button if you are using the internal pull up resistors on the Pi. You could also use an I/O expander [ ] or multiplexer to control the LEDs.

  • Hi, I have problem with exercise 1 and 2. I hooked button pad up as You showed. Now everytime I copy and compile your code to mega 2560 or uno everything works as it should but, some of RGB LEDs shine in blue or green despite the fact green and blue pins are not connected. I’ve tried with different pcb and still got same problem. How can I fix it ?

  • Hi, thanks so much for this tutorial. I would like to use four of the Button Pads instead of just one. My guess is that the Arduino Mega can’t handle this.. because there are not enough pins. How would I get started on this? Thanks!

    • There are a number of ways you can add more I/O pins using some external logic chips.

      The SX1509 is a 16-channel I/O expander, that interfaces using I2C. It has a mode that can scan an 8x8 matrix all by itself. They also have configurable addresses, so you can chain up to four of them on the same I2C bus.

      A little more primitive than that, you can use various discrete logic solutions to tack on more I/O. A 4-to-16 multiplexer can turn 4 outputs bits into 16 one-hot bits. Shift registers, like the 47hc165 and 74hc595 can add 8 digital inputs or outputs. With a little glue logic, you can tie them to the processor using SPI. For driving the LEDs, a high-power shift register, like the TPIC6B595 would work better than plain CMOS.

      • Webby / yesterday / 1

        I can confirm the use of the SX1509 is a great solution to driving the LED array via I2C, I have a Pro micro driving one SX1509 for all the LEDs doing the multiplexing and colour fading and a second SX1509 to run the button array. Next is to add either the Musical Instrument shield or MP3 player shield to have myself a mini Launchpad (still working out which will be the best option to go with).

  • How about replacing the RGB LEDs with NeoPixels?

If you've found a bug or have other constructive feedback for our tutorial authors, please send us your feedback!