So to elaborate further on my project, It is for my sisters model trains, I am using a UNO to control the switch points, thanks for the tip on using the analog pins but yes I am already doing that, the number of points the UNO is switching is 7, here is what the pins are being used for.
Pins 2 to 8 are used to switch the points as a pulsed output, pulse HIGH to switch one way and pulsed LOW to switch the other way.
Pin 9 is used for a button to write the current state of the points to the EEPROM, so when the power turn’s back on the preferred states are set, one led is used to indicate when the config is being saved.
Pins 10,11,12 are used to drive 2 shift registers that control red(7) and green(7) leds indicating which way the points are switched.
Pins 13 to 19 are for the momentary buttons to tell the Arduino which points and leds to change.
Hope this explains things in more depth, attached is a schematic of what I am hoping is correct, any and all advice is most appreciated