Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment   Page 1 of 15      1   2   3   4   Next   »
Angel of Rust

Registered:
Posts: 221
Reply with quote  #1 
Hi all -- this is my first post to the forum.

I have really enjoyed some of the topics here. There are some great ideas and excellent-looking hardware that people have put together! I am posting some photos of a recent control-panel building project. I have drawn inspiration from a number of ideas I saw here first.

For this project, I had a few specific goals I wanted to achieve:
1) create some control panels for Artemis that plug in and are good to go with minimal setup
2) relatively small, flat design so they easily travel
3) draw graphical inspiration from a certain sci-fi movie so we can LAN party like it's 2285!

Here's how the weapons panel turned out:
IMAG0651 - Copy.jpg 

IMAG0653 - Copy.jpg 

All of the panels are 3/4-inch (19 mm) thick, so they stack nicely when not in use and lay flat on table surfaces for use. They use a Teensy-LC microcontroller configured for mouse-keyboard-joystick use via standard USB-A plug (no additional power supply needed). Therefore, windows recognizes them instantly and Artemis receives the input like any other mouse/keyboard combination. Some buttons (such as "CAM") have been programmed to snap the mouse to a particular location on the screen since there is no keyboard shortcut equivalent. The "ARM" and "LOCK" buttons enable tubes to fire and disable unloading, respectively. The thumbstick operates the mouse pointer to allow the weapons officer to select targets on the screen without breaking immersion with the panel.

The edge-lit panels are constructed in four layers (from bottom to top):
1) an edge-lit acrylic light transmission layer also used to mount all of the buttons, thumbstick hardware, and 2-4 high-intensity LEDs
2) a semi-transparent acrylic light diffusion layer
3) a transparency film layer with the panel design printed on it
4) a clear acrylic top layer to protect the film and give the shiny finished appearance

The outside housing is MDF board painted gray iron and top coated with a clear protection layer.

Here's how the science panel turned out:
IMAG0655 - Copy.jpg 

IMAG0657 - Copy.jpg

The backside of the transmission layer looks like this:
IMAG0643 - Copy.jpg   

I hope you enjoy these progress photos. Helm, Engineering, and Communications are next!

notsabbat

Avatar / Picture

Registered:
Posts: 1,196
Reply with quote  #2 
Wow! Really great work! What kind of board are you using to run it? Arduino? Somethjng else? Would love to get a closer look at how the layers work and how the lights are attached.
__________________
-Captain of the TSN Gungnir JN-001
-Eastern Front online group member
-My continuing bridge build:
http://artemis.forumchitchat.com/post/immersion-bridge-build-in-progress-7335195?pid=1290158413
Angel of Rust

Registered:
Posts: 221
Reply with quote  #3 
Thanks for the positive feedback!

All panels use a Teensy-LC control board:
https://www.pjrc.com/teensy/teensyLC.html

They are Arduino compatible and really small, which is convenient for projects like this.

Here is a closer view of the control board being prepared for installation (the connector at left is a micro-B USB and the wire is 22-gauge, for scale):
IMAG0635 - Copy.jpg 
I don't have a photo of the LED mounts at the edges of the panel. I will take one and post it later.

Kalid0r

Registered:
Posts: 23
Reply with quote  #4 
That look fantastic, nice work!!
RockStar

Avatar / Picture

Registered:
Posts: 34
Reply with quote  #5 
These are great. Tactile controls and DMX really do set Artemis apart. Does the Arduino handle the mouse-positioning buttons?
__________________
Have a good time all the time.
-Viv Savage
Angel of Rust

Registered:
Posts: 221
Reply with quote  #6 
Quote:
Does the Arduino handle the mouse-positioning buttons?


The controller can transmit keyboard, mouse, and joystick inputs to the PC essentially simultaneously. Here is some code from the weapons panel to illustrate how the buttons work:

                     case 41:                    // fire 4
                      if (keypad.key[i].kstate == PRESSED && armTubes) {
                        Keyboard.set_modifier(MODIFIERKEY_SHIFT);
                        Keyboard.press(KEY_4);
                        Keyboard.release(KEY_4);
                        Keyboard.set_modifier(0);
                      }
                break;
                    case 34:                    // Lock torpedo tubes
                      if (keypad.key[i].kstate == PRESSED) {
                        if (lockTubes == false) {
                          digitalWrite(16, HIGH);
                          lockTubes = true;
                        }
                        else {
                          digitalWrite(16, LOW);
                          lockTubes = false;
                        }
                      }
                break;
                    case 63:                    // load 1
                      if (keypad.key[i].kstate == PRESSED && lockTubes == false) {
                        Mouse.moveTo(45, 695);
                        Mouse.click();
                      }
                break;


The keypad matrix driving the buttons populates a small array with the number codes for any of the buttons that have changed state (pressed, held, released). "41" in the code above is the code for the Fire Tube 4 button. The instructions for a pressed button are to signal that the shift key is pressed, signal that the '4' key is pressed, signal that the '4' key is released, and signal that the shift key is no longer pressed. All of these signals happen in the blink of an eye, so from the perspective of the weapons officer, the tube will fire the instant they press the button.

"34" in the code above is the code for the "Lock" button on the panel. It toggles a variable to indicate that the load/unload buttons are active or not. It also toggles the yellow "LOCKED" light on the torpedo panel.

"63" in the code above is the code for the Load Tube 1 button. It only works if the tubes are not locked. The code moves the mouse to the position on the screen where the load/unload button is and signals a mouse click. I programmed the panel to work with a 1280x720 screen, but the relative references work for a few other resolutions as well (needs more testing). Again, from the perspective of the weapons officer, the mouse pointer moves and clicks instantaneously when they press the button. This was a great idea that I saw in this forum and plan to implement for the helm panel to allow a radial encoder to operate as a heading selector.

To provide a clearer picture of the button mapping, here are the codes to all of the weapons panel buttons:

weapons code - Copy.png 
The rows and columns are pin numbers on the controller that form the matrix. The codes for the buttons that the program uses are on the bottom. The names of each of the buttons are at the top.

Quote:
Would love to get a closer look at how the layers work and how the lights are attached.


I am waiting for some parts to arrive for Helm. However, I am cutting the acrylic for the "MAIN SCREEN" section and will take photos of the layers as they are assembled to illustrate this part.

I am glad that there is interest in this project. I will post some progress photos once I have some work done on Helm.

MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,860
Reply with quote  #7 
Absolutely gorgeous! Thanks for sharing these, can't wait to see the rest! Good luck in your continuing enterprises [biggrin]
__________________
Note - this is in no way intended to be an official position of Thom or Artemis, as I am not an official representative of the creator or game.
El Phantasamo

Avatar / Picture

Registered:
Posts: 13
Reply with quote  #8 
Angel of Rust, are you going to Armada this year? Id love to see these in person.
ryleyra

Registered:
Posts: 2,888
Reply with quote  #9 
That is quite beautiful. I like the style a lot, and I like to see something beyond the usual inspirations.
Angel of Rust

Registered:
Posts: 221
Reply with quote  #10 
Quote:
Good luck in your continuing enterprises [biggrin]

Thanks -- looking forward to boldly going ahead with this project.

Quote:
Angel of Rust, are you going to Armada this year? Id love to see these in person.

I am new to the Artemis SBS community, so I didn't know anything about Armada going into this project. The time and location are very convenient for me, so I am planning to go! It looks like a lot of fun. We can bring three laptops and a projector, which isn't enough to setup a full bridge. However, I should have controls for Helm, Weapons, Science, Engineering, and Communications done by then. Since they function as USB mouse/keyboard/joysticks, I would be able to accommodate other people's laptops as well.

Angel of Rust

Registered:
Posts: 221
Reply with quote  #11 
I cut the acrylic pieces for the Main Screen section of the Helm panel today. I took some photos of the individual layers to show how they go together.

Here are all the pieces next to each other:
IMAG0658 - Copy.jpg 
Here is the back of the bottom layer ("transmission" layer). It is painted white to reflect light from the two LEDs at the edge up to the surface.
IMAG0660 - Copy.jpg 

Here is the front of the transmission layer with the tactile buttons installed. The LEDs get taped into place in the two notches at the edges of the layer. They are high-intensity LEDs with a narrow angle of maximum illumination at the front. By aiming them into the edges of the clear acrylic sheet, I can use these LEDs to illuminate the entire layer.
IMAG0665 - Copy.jpg 

Here is a closer view of where the buttons enter the top of the sheet:
IMAG0667 - Copy.jpg 
The pins reach the other side to allow me to solder them into the keypad matrix during wiring.
IMAG0684 - Copy.jpg 

Next is the diffusion layer, a semi-transparent acrylic sheet:
IMAG0669 - Copy.jpg 

Above that is the transparency film with the panel design printed on it. The parts of the design that I want to illuminate are clear to allow the light through from the diffusion layer.
IMAG0674 - Copy.jpg 

On top of the film is the top protective layer, also clear acrylic:
IMAG0676 - Copy.jpg 

Finally, the tops of the buttons can go on:
IMAG0680 - Copy.jpg 
Once assembled, everything goes into the frame, as for the Weapons Panel:
IMAG0688 - Copy.jpg 
Here it is with the LEDs powered:
IMAG0689 - Copy.jpg 
. . . and with the lights out:
IMAG0691 - Copy.jpg

MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,860
Reply with quote  #12 
Looks so good, seriously. I'll PM you about some Armada stuff.
__________________
Note - this is in no way intended to be an official position of Thom or Artemis, as I am not an official representative of the creator or game.
AurelTristen

Registered:
Posts: 15
Reply with quote  #13 
Inspiring work! I'm a bit embarrassed that I have access to so many cool machines (3D printer, CNC Router, vinyl cutter) and yet I'm not able to come close to this quality.  Thanks for sharing your breakdown with us!
RogerW37

Registered:
Posts: 70
Reply with quote  #14 
I don't think I've ever texted or responded with these three letters ever, so here goes:  OMG!

Okay, now with that out of my system lol...

I don't have a 3D printer, CNC router or vinyl cutter so I'd order this as a buildable kit if you consider doing so.
Angel of Rust

Registered:
Posts: 221
Reply with quote  #15 
Thanks everyone for the positive feedback about the control panels! I really wanted this project to be something special and I am happy to see it working out.

I feel like I should say a bit more about the tools and materials I used to make these controls to set the record straight and to encourage others who want to attempt something similar. I hope people who are interested in doing a project like this will find something useful here. Here is a list of everything I used to make these panels. I look forward to sharing more progress photos to illustrate the process.

Outer frame materials:
1/8" MDF board (for the top and back panel)
1/2" MDF board (for the sides and between acrylic panes)
Wood glue
1/2" #4 wood screws (to hold the back panel on)
black vinyl electrical tape (to cover the screw heads - don't want to mar the furniture)
drywall joint compound (to fill in the gaps in the MDF - I had a bucket from some home repairs that changes color as it dries -- really handy)
metallic gray paint
clear matte paint

Outer frame tools:
table saw (to cut the MDF - other saws would work also)
coarse sandpaper (to clean up the MDF and drywall mud)
stack of books (to clamp the MDF when gluing)
putty knife (to place the drywall mud)
*drill press with assorted bits (easily the most important tool on the list - used to drill and countersink the screw holes)
screw driver

Control pane materials:
0.090" clear acrylic sheet (top and bottom layers)
0.125" semi-transparent acrylic sheet (diffusion layer)
laser printer transparency film (from Staples - pricier than I would have liked, but the final effect is worth it)
multi-color plastic binder divider tabs (used to cut out the color filters behind some of the lights)
Scotch tape (to hold the film together - I need to double them up or the printer toner is not opaque enough)
paper drilling templates (printed from Inkscape to help me cut and drill the acrylic)
masking tape (to hold the drilling templates to the acrylic)
white paint

Control pane tools:
reciprocating saw with acrylic blade (not the best way to cut, but it works)
hand held belt sander stuck in a bench vice (to square up the acrylic after cutting)
*drill press with assorted bits
side cutting bit (to cut square-ish holes -- look closely at the diffusion layer in an earlier post -- you'll see what I mean)
scrap lumber and C-clamps (to back-up the acrylic to allow me to drill it without shattering -- learned that the hard way)
laser printer (to print the drilling templates and transparency film)
scissors (to cut out the drilling templates and transparency film)
X-acto knife (to cut holes in the transparency film)

Electronic materials:
22-guage hookup wire (stranded and solid - the solid was easier to press into the holes in the acrylic; the stranded much better for flexibility wiring the control board)
rosin-core solder
white LEDs (illumination kind)
small tactile buttons
small thumbstick
easy-to-cut perf board
Teensy-LC microcontroller
15-ohm and 100-ohm resistors
micro-B USB cable
black vinyl electrical tape (insulates the LED wires and helps me keep the wiring organized)
aluminum foil tape (holds the LEDs in place -- probably not needed, but I saw a post elsewhere about using this kind of tape for edge lighting and it seemed like a good idea -- plus I had some left over from another repair)

Electronic tools:
40-watt soldering iron (with holder and sponge)
lineman's pliers (to cut and strip wires)
multimeter (to check connections)
desoldering bulb (to clean-up mistakes)
stand-on-desk magnifying glass with light (the connections are very small)
cell phone/tablet charger (to plug in the board and see if the LEDs are working)

other parts:
The multi-function lights on the science panel were made by hot-gluing LEDs into 1/8" MDF that was drilled in a grid pattern. Because hot glue has a similar refraction index to the LED housing, it does a decent job of making the lights look square.


* TL;DR: drill presses let you do a lot of things well
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.