There are a few problems with trying to read an encoder with standard digital inputs instead of a dedicated encoder interface:
- You'd have to write the encoder logic by hand (i.e. look at both A/B channels to determine current count and direction)
- The inputs may not be fast enough to register very high speeds
- you may need external circuitry depending on what kind of encoder you have (line driver, push-pull etc)
If you plan on running the LEDs at 12V, the InterfaceKit 8/8/8 is only able to provide 5V on the digital outputs so you'll need a dedicated LED board.
Here are the products I would recommend:
HUB0000 ($30)
2x
DAQ1200 ($12/ea)(This is cheaper than using 1xDAQ1301 and simpler to use for buttons and magnetic reed switches)
1x
LED1000 ($50)
1x
ENC1000 ($15)
The 3 buttons and 3 magnetic switches would connect to the DAQ1200s, The 7 12V LEDs would connect to the LED1000, the encoder would connect to the ENC1000, and the joystick would use the remaining two ports on the HUB0000, since each port can either connect to another VINT Phidget or can be opened as a digital input, digital output, or analog input.
You need a lot more pieces when you use the VINT Hub and devices, but it's newer technology and usually cheaper than our direct-to-USB options (e.g. 1018 + 1032 + 1057 = $208)