@CinnamonTheCat
Take a look at some keyboard matrix designs.
This is a reasonable guide:
https://www.baldengineer.com/arduino-keyboard-matrix-tutorial.html
Hope that helps :)
Make it, Fix it, Renovate it, Rehabilitate it - as long as you’ve done some part of it yourself, share!
Especially for gardening related or specific do-it-yourself projects, see also the Nature and Gardening community. For more creative-minded projects, see also the Creative community.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
@CinnamonTheCat
Take a look at some keyboard matrix designs.
This is a reasonable guide:
https://www.baldengineer.com/arduino-keyboard-matrix-tutorial.html
Hope that helps :)
Thank you so much this helps a ton!
Can we get some context of voltages, and the project?
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.
The arcade ones look kinda meh however I was thinking of making large panels to press
If you want something simple to set up, I've used the Adafruit Trellis Neo in the past, you can solder many many boards together in a grid and communicate over I2C or USB to a microcontroller. The only hitch is that control requires CircuitPython, which can be a pain to install.
No python allowed in this project. The point is for me to code a microcontroller to do something on my own
I2C is a simple standard, you can manually control it if you want.