I've recently started building a physical control panel for NoLimits 2, using the same Allen-Bradley 800T buttons that are used on real coaster control panels. I'm buying them used from eBay, as they're VERY expensive new. I decided to go with 8 controls, this is more than enough for all the station controls, including two Dispatch buttons that must be pressed simultaneously. The last of the controls and the enclosure just arrived today, this is what it looks like so far:
The Control Power switch came with its legend plate (got lucky there!) and the legend plates for the rest are on their way. These are all the controls and how I plan for them to work, from left to right and top to bottom:
Top row:
CONTROL POWER OFF/ON: 2-position selector switch. On switches the current coaster in NL2 to Manual dispatch, and enables all the green and amber buttons. Off switches the current coaster to Auto dispatch, and disables all the green and amber buttons. Should really be a keyswitch, but I didn't want to bother with a key.
TROUBLE/RESET: Red guarded illuminated pushbutton. Flashes when any yellow messages appear in NL2's messages panel, illuminates when any red messages appear (i.e. coaster crash). Pressing it activates the Reset function on NL2's ingame control panel.
SEATS/FLOOR RAISE/LOWER: Amber guarded illuminated pushbutton. Active only for Flying, Floorless, and Floorless Dive coasters. Flashes when seats/floor are in dispatch position and can be moved to loading position, illuminates when seats/floor are in loading position.
EMERGENCY STOP: Red mushroom-head push-pull illuminated button. Push to activate NL2's E-stop function, pull to disable it. Illuminates when activated.
Bottom row:
DISPATCH: Green guarded illuminated pushbutton. Push both Dispatch buttons to dispatch train. Flashes when train can be dispatched, illuminates when a train is moving in the station.
GATES OPEN/CLOSE: Amber guarded illuminated pushbutton. Press to open and close gates. Flashes when gates are closed and can be opened, illuminates when gates are open.
RESTRAINTS LOCK/UNLOCK: Amber guarded illuminated pushbutton. Press to open and close restraints. Flashes when restraints are closed and can be opened, illuminates when restraints are open.
DISPATCH: Same as other Dispatch button. They'll be wired in series so that both need to be pressed together to dispatch the train.
Now, the hard part is the wiring and programming. This part I haven't really started yet, I'm still in the research stage. I have very little experience with this, but from what I've read from other people who have made these, an Arduino Leonardo is the way to go. I'm hoping to use NL2's Telemetry Server to keep the state of the panel synced to NL2, but if that turns out to be unfeasible, I can always just make it send keystrokes. The most problematic control to implement will likely be the Trouble/Reset button, as there seems to be no way to activate the Reset function through either a keybind or telemetry. I'm definitely looking for any suggestions or recommendations from anyone experienced in Arduino programming, particularly in how to make it send and receive TCP/IP messages over USB to the computer to which it's connected.
Oh, and as for the button lighting, I'm using these in place of the 24v incandescent bulbs included with the buttons. The 6v versions will be able to run off the 5v power provided by an Arduino.