Here is a simple approach, can be had from the 'shack
needed:
1 bag of 4
surface mount push button switches . Mine were $2 though the site says $4
1
general purpose dual pc board ~$2
Some hookup wore (cut open an old network cable or something).
Hot Glue gun
that really thin solder helps, especially inbetween the buttons. And sharpen up your iron first. Tin the iron with solder as soon as it can melt it, before it gets too hot and oxidizes.
Assembly:
Find a 12x3 group of copper circles on the board, by the edge but not on the edge. Score through the next row out in all 4 directions and snap off the extra. Tin the circles lightly that you will be using.
X=tinned
XOOXXOOXXOOX
OOOOOOOOOOOO
XOOXXOOXXOOX
Starting with the middle switch (leads touching one X each), surface mount the switches to the tinned copper spots, don't let the switch leads touch the other switches on the bottom, but do solder bridge them on the top. That That will be the ground.
Hold your breath, and (CAREFULLY) grind the top and bottom flush on the grinding wheel, bring in the sides to just outside the rings where the switches are connected.
Add the wires (and leave yourself plenty of wire for now). Pull them through the plain side and bend them over an appropriate switch leg and solder. Attach three signal wires and one for the ground.
grind the extra solder and wire off the top/bottom/
Straighten out the wires and run them to one end
Feed the wires through the top right hole in the lcd and position the buttons so the metal part is flush with the front of the lcd and they are straight, and the right side is flush with the right of the lcd board.
Pull the buttons back out just enough to put a thin layer of hot glue on the bottom of the buttons, and quickly but accurately put them in their final position. If your happy with their position and protrusion from the lcd, squirt in (caulk style) some hotglue to fill in behind the button boar.
coding:
In your code, you can use the internal pullup resistors via:
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors
then attachInterrpupt (pin, function, FALLING) and or with the "button has been pressed" flag.
Hookup, the ground goes to ground and the signals go to the pin they control.