Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment   Page 3 of 16      Prev   1   2   3   4   5   6   Next   »
Bardan

Registered:
Posts: 2
Reply with quote  #31 
Wow, this looks amazing! Makes me doubt my idea.

I want to make engineering controls that will look similar to the game ones, with moving sliders and bar indicators. But there would be a PCB for each system with EFM8 to control everything and main board to communicate with PC. Problem is, I'm not sure how to make illuminated switches and bar indicators. Illuminated switch may be made with WS2812B LED and a keycap upon it, like https://www.aliexpress.com/item//32763713817.html, held by 2 buttons. Bar indicator could be 3mm RGB LEDs in a row, but they are too big. I'm gonna see how you make it.
Omovic

Avatar / Picture

Registered:
Posts: 4
Reply with quote  #32 
@Bardan

The module type you need is called "LED bar graph display" (see my link)

https://www.aliexpress.com/popular/led-bargraph-display.html

You will probably need several "port expanders in oder to control all of them since each Led on the module has a supply pin of it's own. ( 8 Systems x 10 Pins =  more Pins then your Controller has for general IO).

A portexpander is hooked up via SPI or I2C-Bus and provides multiple indivually controllable output pins.

http://www.ti.com/lit/ds/symlink/pcf8575.pdf

More circuitry, but smaller footprint on the top side.




__________________
My other sideproject: https://www.ulenspegel.net/grav/
Angel of Rust

Registered:
Posts: 238
Reply with quote  #33 
Quote:
Originally Posted by Bardan
Wow, this looks amazing! Makes me doubt my idea.

I want to make engineering controls that will look similar to the game ones, with moving sliders and bar indicators. But there would be a PCB for each system with EFM8 to control everything and main board to communicate with PC. Problem is, I'm not sure how to make illuminated switches and bar indicators. Illuminated switch may be made with WS2812B LED and a keycap upon it, like https://www.aliexpress.com/item//32763713817.html, held by 2 buttons. Bar indicator could be 3mm RGB LEDs in a row, but they are too big. I'm gonna see how you make it.

Thanks!

There are a few ways to solve the problem you describe. Omovic's solution is a good one. The bar indicator hardware is sharp-looking way to compress the LED hardware footprint. If you are looking for a more DIY option, you can also sand the sides of the LEDs to fit them closer together (no simple task with 3 mm LEDs!).

Regarding the number of pins, you also have a few options. Assuming that you are planning to have 10-LED bar indicators as Omovic suggests, you will indeed need to find a way to control 8 x 10 = 80 LEDs. I tried looking up the EFM8 controller you mentioned - it looks like there are many different implementations of this microcontroller, with I/O pins ranging from 10-30 or more. Using a multiplexer or port-expander that Omovic mentioned is one way to make up for the apparent gap in available pins.

A "native" solution is to drive the LEDs directly from the controller board in a matrix arrangement. A good explanation of how the matrix hardware is setup can be found here:
http://www.instructables.com/id/Multiplexing-with-Arduino-and-the-74HC595/step8/Current-Limiting-Resistors/
For my Helm panel I have 22 LEDs arranged in a 4x6 matrix (note I left 2 LEDs out!), allowing me to control 22 LEDs with 10 I/O pins. My favored matrix arrangement was to put the resistors on the row side of the matrix.
To drive an 80-LED matrix, you could arrange it as an 8x10 matrix or a 9x9 matrix. 8x10 would be easier to design since the rows would occupy the same position on each bar indicator. Either way, it means using 18 pins to drive the matrix - a big improvement on 80.

Here's how the overall pin assignment (for Teensy-LC) worked out for Helm:
Helm pin assignment - Copy.png 
Note that I also have the buttons arranged on a "keypad" matrix. The concept is nearly identical.
Here's the code that turns the LEDs on and off:

 // update the lights with the current pattern  ********************************************
      
  if (millis() - refresh_last > REFRESH_RATE) {
    digitalWrite(active_column, HIGH);  // Turn whole previous column off
    active_column++;
    if (active_column == 10) {
      active_column = 6;
    }
    for (int row = 0; row < 6; row++) {
      if (lights[row][active_column - 6] == true) {
        digitalWrite(row, HIGH);  // Turn on this led
      }
      else {
        digitalWrite(row, LOW); // Turn off this led
      }
    }
    digitalWrite(active_column, LOW); // Turn whole column on at once (for equal lighting times)
    refresh_last = millis();
  }    // end light update block

The "lights" array is changed by the animation code, which is in turn triggered by various user actions. The key thing here is that an LED that appears to be "on" is actually flickering at a very fast rate -- too fast to tell that it isn't on continuously. Since my Helm panel has 4 columns (pins 6 through 9), each LED is on for 1/4th of the time.

For my Engineering panel, I am also planning to have 8 sliders. I am not planning to have bar indicators, though. My idea is to have two status lights above each slider that will communicate various conditions such as "selected", "out-of-preset", ">100% power", etc. via different combinations of continuous and blinking states.

The design is not complete yet, but here is the current work-in-progress:
Panel Layout Engineering rev B 20170204 - Copy.png

The LEDs are in a 4x5 array. I am not multiplexing the analog inputs, so they occupy a full 10 pins (8 sliders + 2 axes on the thumbstick). Here is the current planned pin assignment (for Teensy-LC):
Engineering pin assignment - Copy.png

Angel of Rust

Registered:
Posts: 238
Reply with quote  #34 
Quote:
Originally Posted by Thompsolonian

For LED projects on our Artemis bridge build (check facebook for HMS Artemis Bridge Simulator for photos) I primarily use superbrightleds.com

BangGood.com has also been a great source for components, you justhave to wait for them to get in from China.

Thanks again for the sourcing, I found a 10k slider for a couple bucks on Ebay, may order a few NOW...

 

Thanks again!


Thanks for the tips! These projects are indeed quite thirsty for LEDs!

HMS Artemis Bridge Simulator is an impressive setup. Looks like a lot of fun! (as long as you don't blow any impeller nodes!)
Bardan

Registered:
Posts: 2
Reply with quote  #35 
I should've described the architecture better to save you guys some writing. Those were the only problems I've encountered, except motor for potentiometers, which has high torque and it's hard to rotate in by hand. Rotor's diameter is exactly 3mm, maybe freezing the gear and then drilling it will give a little bit bigger hole to ease rotation.

@Omovic

Bar indicators lack color flexibility. I've thought of it, but independent LEDs worth a try. There could be a demo mode with some pattern crossing through them.

There'll be a controller for each system, which communicates with the main board via I2C. Still there are too many ports to handle, so my thought was cascade of shift registers, but your variant is better and about 2 times more expensive. I've found 24-port extender with almost the same price per port as registers. Thanks.

eu.mouser.com/ProductDetail/Texas-Instruments/TCA6424ARGJR/

@Angel of Rust

Not sure if sanding 100 LEDs from sides is good idea. I'll try it with a few and see if it looks better.

I'm going to use the smallest IC with 13 pins.

There will only be 30 LEDs per chip if they're RGB. Thanks for the matrix idea, 8x4 could be enough, but it means maximum duty is reduced to quarter, as you've mentioned. Ones that I use appear quite dim, as their rated current is only 20mA.

Won't you add coolant buttons later? Two indicators are interesting, but it may be difficult to predict when system will overheat. Also there can be some extra buttons for every system, like reset it(100% power, no cooling) or move all coolant to it. And I've forgot about DamCon, never have dispatched them manually.


Edited: there was a strange bug, text in this post was a big column with width of 2 characters.
Angel of Rust

Registered:
Posts: 238
Reply with quote  #36 
Quote:
Originally Posted by Bardan


@Angel of Rust

Not sure if sanding 100 LEDs from sides is good idea. I'll try it with a few and see if it looks better.

I'm going to use the smallest IC with 13 pins.

There will only be 30 LEDs per chip if they're RGB. Thanks for the matrix idea, 8x4 could be enough, but it means maximum duty is reduced to quarter, as you've mentioned. Ones that I use appear quite dim, as their rated current is only 20mA.

Won't you add coolant buttons later? Two indicators are interesting, but it may be difficult to predict when system will overheat. Also there can be some extra buttons for every system, like reset it(100% power, no cooling) or move all coolant to it. And I've forgot about DamCon, never have dispatched them manually.

Another option would be to use an array that takes analog input, such as this one: https://learn.sparkfun.com/tutorials/dotbar-display-driver-hookup-guide
That way, you could even drive the bar graph directly off of the sliders, as long as you don't need a programmable display.

I am planning to use the thumbstick as a multi-function control -- left/right to select systems, up/down to increase/decrease coolant in coolant mode and left/right/up/down to control the mouse pointer in damcon mode. Science and Helm have similar capabilities. I am also planning to have the controller automatically select the system that the power slider has changed last. That way, I can dramatically reduce the number of user actions required to make changes to power and coolant.

Thanks for the suggestions. I had thought about having the special-purpose buttons similar to the ones you mentioned. I have decided for this iteration that I will leave those play-style decisions in the hands of the engineer and use the control panel to supplement rather than replace the user feedback presented on the screen. Using the two together I think will be a fairly rich experience.

Good luck!

eurobusker

Registered:
Posts: 108
Reply with quote  #37 
This is the the most incredible setup I've ever seen! so proffesional and beautiful.
I'd buy these if they were for sale, but then again, your consoles are better than factory made stuff! youre an artist!
JSpaced

Avatar / Picture

Registered:
Posts: 115
Reply with quote  #38 
I love these builds! It's going to be great seeing them in action!
Keep up the amazing work.

__________________
"Universal law is for lackeys. Context is for kings."
Angel of Rust

Registered:
Posts: 238
Reply with quote  #39 
UPDATE:

I finally got to cut out the pieces for Engineering. Here's how they look:
IMAG0840 - Copy.jpg 
Looks like Engineering will be the last of the control panels. I haven't come up with a layout for Communications that is any better than just touching or clicking the buttons on-screen. The controls that benefit the most from having a hardware control panel are Helm and Engineering. Weapons is good. Science is fun, but does not benefit as much from the hardware as the others.

Angel of Rust

Registered:
Posts: 238
Reply with quote  #40 
UPDATE:

I am nearing the finish line. The wiring on engineering is done and I am in the middle of coding the controls. The plan for engineering is for the control panel to remember the power and coolant states and provide feedback via the status lights regarding the comparison of the current slider states versus the programmed preset and overload.

Here is the right panel:
IMAG0859 - Copy.jpg 
Here is the completed wiring:
IMAG0855 - Copy.jpg

Hyperion Engineer

Avatar / Picture

Registered:
Posts: 91
Reply with quote  #41 
Please tell me this is coming to Armada!  I'd love to see it.  
__________________
Executive Officer and Chief Engineer of the TSN-Hyperion (Concord, NC)

TSN-Hyperion in dry dock at Hephaestus shipyards.
https://artemis.forumchitchat.com/post/tsnhyperion-bridge-build-8068440?pid=1291924499
Angel of Rust

Registered:
Posts: 238
Reply with quote  #42 
That is the plan. My hotel and registration is squared away. I have the following items on my punch list:

- tidy up the coding for Helm, Weapons, Science, and Engineering
- assemble portable screen for main viewscreen (planned dimensions are 82" x 46")
- make retro-themed training video for control panels. My panel designs draw heavily from late '70s futurism, so the plan is to make a '70s themed sci-fi corporate promo video/slideshow illustrating how to use the controls.

Looking forward to talking shop with the TSN gang!
notsabbat

Avatar / Picture

Registered:
Posts: 1,200
Reply with quote  #43 
Dang, man. An Engineering console is super tough for physical controls. Definitely want to take a few to chat at Armada.
__________________
-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: 238
Reply with quote  #44 
UPDATE:

Engineering is finally done. Here are some photos of the completed console plus some different angles on Weapons, Science, and Helm for comparison. Time to clean up the controller code and get ready for Armada.

IMAG0860 - Copy.jpg  IMAG0861 - Copy.jpg  IMAG0868 - Copy.jpg  IMAG0873 - Copy.jpg  IMAG0874 - Copy.jpg  IMAG0875 - Copy.jpg  IMAG0876 - Copy.jpg  IMAG0881 - Copy.jpg

MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,867
Reply with quote  #45 
Woah. Seriously, that is awesome! Can't wait to see it at Armada!
__________________
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.
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.