I am drawing out diagrams for a project I want to do to involve loads of buttons in a 8x8 grid but… I don’t know how to go about driving them, if someone could show a simple way to not use a lot of pins to accomplish this I’d be happy as then I’d be able to continue drawing out my plans.

This is my first electrical project, so loads of learning to do

  •  flame   ( @flame@beehaw.org ) 
    link
    fedilink
    English
    11 year ago

    How big do you want the buttons to be? If they’re small, you can look into making lighted buttons using mechanical keyboard keys that have a hole for a SMD LED. If you want bigger buttons, arcade LEDs buttons will work.

    As for driving them, I suggest getting neopixels which can be daisy chained and controlled via I2C which is only 2 pins from an MCU. There’s no way an MCU can power 64 LEDs though, so the neopixels would need to be directly powered.

    As for determining which of the 64 buttons was pressed, if only one should be pressed at a time, the other comment mentioning keyboard multiplexing works which requires 16 digital pins. If you really want to use the absolute minimum amount of pins though, you can feed 4 rows into a resistor ladder DAC and send the output into single analog pin which would then only require 4 analog pins for 64 buttons. You might be even be able to go with sending all 8 rows and all 8 columns into 2 analog pins since Arduino ADCs are 12 bits if your resistor values are accurate enough.