TheSkywise - Captain's Controller
See my post titled “TheSkywise - Check Out My EE Starship Bridge Setup” for an overview of the entire project. https://bridgesim.net/discussion/529/theskywise-check-out-my-ee-starship-bridge-setup#latest
The Captain does not do too much. He barks out orders, hopes the crew follows them, and then takes responsibility when the mission fails dramatically. It’s a tough job being a captain.
While the Captain does not have a station, per se, he does need to know what’s going on around him. Not just on the bridge, but also in space. To assist the Captain, I built a controller for the main view screen(s). Here is a picture of my setup for the Captain. You can see there is a large TV labelled “Main Screen” and a spot for the “Radar” screen. We were unable to run the Radar screen due to EE limitations. The Captain's controller is circled in red (not the best picture), and the PC client is underneath the science station just in front and to the right of the Captain's chair.
And here is my controller I built for the Captain position. As you can see, it looks like a big TV remote, which it kind of is. The final product will have both USB cables coming out of the top side of the controller.
Basic Concept – Have a controller that the Captain can use to adjust the Main Screen and the Radar screen. The controller will have two USB cables, each which will act as a USB keyboard. One USB cable will provide the external view commands (Main Screen) and the other will provide the radar commands (Radar screen). Each cable can be connected to two separate clients, one for each monitor, or both can be connected to the same client for a single monitor.
Materials – To complete this project, you will need the following items:
- Buttons (4 Red and 7 Black) – You need some kind of basic Momentary Push Button Switches for this controller. I bought two packages of “Clyxgs Momentary Push Button Switches” for $8.99 each, one black and one red. Each package came with 20 buttons. So, I ended up with 20 red buttons and 20 black buttons.
- Two Micro USB Cables (10ft) - You need two Micro USB cables of 10 feet in length. The ten feet of cable allows more freedom of movement; a short cord requires the Captain to be closer to the Main Screen computer. I bought a pack of three online for $8.99.
- Two Arduino Atmega32U4 Control Boards – There are many different types of Arduino boards. While I can program them, it can be quite confusing at first and I am no expert. I bought the “Pro Micro Atmega32U4 5V 16MHz Bootloadered IDE Micro USB Pro Micro Development Board Microcontroller Compatible with Pro Micro Serial Connection with Pin Header” online. It came with four boards for about $25. Essentially, each board can act as a USB keyboard, mouse, and/or joystick.
- Arduino IDE – The software used to upload your program onto the Arduino boards. Its free. It is beyond the scope of this post to teach you how to program in Arduino, but there are some really good tutorials out there. I highly recommend Paul McWhorter’s tutorials on YouTube. That’s how I learned Arduino. (https://www.youtube.com/watch?v=fJWR7dBuc18)
- Wooden Box and tools – Some kind of wooden box and tools to cut holes for the buttons and cords. I used some small 2x3 wood for the sides and smooth wood panel for the top.
- Photo printer paper and Mod Podge – You will print the label on printer paper and use mod podge to glue it to the wooden box.
- Primer and paint – For the wooden box.
- Wires, solder, soldering iron, etc – I am not going into detail here.
Technical Design – Here is how the electronic box will work:
External Controls – The eight buttons that control the “External View” will be controlled by one of the Atmega32U4 boards. This board will act as both a USB keyboard and a USB mouse and will connect to the client computer using one of the 10 foot Micro USB Cords. When a button is pushed, it will send the proper keyboard command to the client.
View Forward = Up arrow key
View Left = Left arrow key
View Right = Right arrow key
View Backwards = Down arrow key
View Lock-On Target = 't'
Toggle 1st Person View = 'f'
Ship View Counter-Clockwise = Left mouse button
Ship View Clockwise = Right mouse button
Radar Controls – The three buttons that control the “Radar” screen will be controlled by the other Atmega32U4 board. This board will also act as both a USB keyboard and a USB mouse and will connect to the client computer using one of the 10 foot Micro USB Cords. When a button is pushed, it will send the proper keyboard command.
View Tactical Radar = Tab key
View Long Range Radar = 'q'
Tactical Long Range Radar Toggle = Middle mouse button
Building the controller - I will not go into great detail here, but basically build a box that has enough room inside it for all the wires and boards. I suggest at least 6 inches wide, 10 inches long and 2 inches tall. Then, sand the surfaces, prime it and paint it. Next, print out the label using the photo paper and affix it to the box using Mod Podge. Drill your holes as shown on label. I will include my label graphic if you want to use that. Install the buttons, solder the wires to the buttons and the boards, connect the usb cables to the boards and your done.
I’ll post the code for the Arduino boards below.
- I used some black zip ties inside the box to keep the USB cables from pulling out of the Arduino boards.
- I also put some clear rubber bumper pads on the bottom so the box won’t scratch a table surface.
I hope this has been helpful. If you build one using my code or techniques, post it here. I’d love to see it!