Jump to content

WhoMadeWho

Members
  • Posts

    77
  • Joined

  • Last visited

Posts posted by WhoMadeWho

  1. I have some PCB designs for 8 pin DIP's that might be of some help. Send me your email address and I’ll send you what I have.

     

    Btw, your RWR, what is the overall width and height of your front plate. I wasn’t hopefull of finding a display that would fit within the available space. To bad no one makes a square 3” display.

     

    Thanks Warhog, I'll PM you my email address.

     

    Here's the dimensions of my RWR. Very tight getting the monitor to fit, but it works. Since using screws would put holes thru the screen, I ended up using strong double-sided tape to stick the entire assembly to my panel.

     

    Width (X) = 73.138 mm

    Height (Y) = 78.89 mm

     

    Capture.png

  2. WOW... and I thought my pit was a rats nest of wires:lol: But the end result is excellent, to say the least.

     

    As to your wanting to go with RS-485, You should not be purchasing the RS-485 chip, but instead, buy the RS-487. That was what Ian intended we use for our networks.

     

    Thanks Warhog for the RS-487 advice! I have RS-487 8 pin DIPs on order along with sockets for them. I've not been able to find any ready made boards that have RS-487 chips for Arduinos for some reason - only ones with 485s. My RS-487 chips were ordered from Digikey and not eBay, so hopefully I won't run into issues with counterfeit chips running hot or not working at all. I recall reading more than a few threads on here with folks having multiple issues with the 485s.

  3. Looks excellent WhoMadeWho!

     

    Love all the gauges but what screen did you use for the RWR? I've been struggling to find something good for it.

     

    Hi Boltz,

     

    I had trouble finding small display as well. I ended up using a 3.5 inch screen which only has a composite input. Due to this, I'm using a VGA to composite converter I got off Amazon. The monitor itself is from Adafruit - https://www.adafruit.com/product/913

     

    Here are a few photos showing how it went together. The monitor is mounted in portrait orientation in a box I made on my CNC. The screws on the face are fake (just screw heads glued on) due to space issues. The target reticle was done with neon green acrylic on my CNC. Hope this info helps!

     

    911-04.jpg

    20180611-202104.jpg

    20180614-163544.jpg

    20180616-142026.jpg

  4. Beautiful work @WhoMadeWho :thumbup: With your skill level you will have no issue figuring out RS485 but in case you got questions just let me know Sir.

     

    Cheers

    Hans

     

    Thanks Hans! I'll be sourcing some RS485 chips/boards tonight. I found a few threads on here to get me started. My poor USB bus! :smilewink::smilewink:

  5. Fantastic work so far WhoMadeWho!

     

    If I might ask, how does the attitude indicator work? That is one instrument I could not figure out a simple way of making work mechanically.

     

     

    Hi jrsteensen, I've not yet tackled the attitude indicator. This is an actual instrument out of a Blackhawk helicopter. Its electrically driven and has no gyros inside. I believe it was a backup indicator incase the gyro indicator on the pilots side went inop.

     

    My plans for it are to see if I can drive the original (24-volt I believe) motors with an Ardunio. For this, I believe I'll need something to step-up the voltage. For centering I've been using an IR light sensor on my DG indicator, however this has been somewhat unreliable. Of course if anyone has done a real attitude indicator with DCS-BIOS, I'd love to see it. I've seen many folks using LCD displays, but for me I want the real mechanical indicator.

  6. Thought I'd share some photos of my A10C cockpit build progress. The front panel is partial and on a test stand.

     

    DSC1843.jpg

    DSC1847.jpg

    DSC1853.jpg

    DSC1858.jpg

    DSC1873.jpg

    01room01.jpg

    ard01.jpg

    ard02.jpg

    ard03.jpg

    head01.jpg

    DSC1896.jpg

    DSC1825.jpg

     

    I REALLY need to figure out RS485/RS487. 23 COM ports are being used... Sometimes I have issues with them going read-only (per SOCAT).

     

    :pilotfly:

  7. Hi all,

     

    I've been searching around, reading posts (some 9+ years old) trying to figure out if there is a way to set the default view when you first click the Fly button.

     

    I want to see the ALT-F1 viewpoint on start without pressing keys. Is this possible without running a macro program?

     

    Thanks!

  8. Thanks again to Blue73 for the code! After adding his custom Switches.h and modifying my sketch, I was finally able to get DCS-BIOS to reflect the state of my switches at startup.

     

    Code from my sketch (Master Arm panel from the A10)

     

    /*
     Tell DCS-BIOS to use a serial connection and use interrupt-driven
     communication. The main program will be interrupted to prioritize
     processing incoming data.
     
     This should work on any Arduino that has an ATMega328 controller
     (Uno, Pro Mini, many others).
    */
    #define DCSBIOS_IRQ_SERIAL
    #include "DcsBios.h"
    
    //// WARNING
    //// WARNING - using custom Switches.h so switch init reflects current switch positons at init
    //// WARNING 
    
    
    // GUN/PAC GUNARM - SAFE - ARM
    DcsBios::Switch3Pos ahcpGunpac("AHCP_GUNPAC", 2, 3);
    // GND = Gray, 2 = White, 3 = Blue
    
    // Master Arm TRAIN - SAFE - ARM
    DcsBios::Switch3Pos ahcpMasterArm("AHCP_MASTER_ARM", 4, 5);
    // GND = Green + Purple, 4 = White, 5 = Orange
    
    // Laser Arm TRAIN - SAFE - ARM
    DcsBios::Switch3Pos ahcpLaserArm("AHCP_LASER_ARM", 6, 7);
    // GND = Purple + White, 6 = Blue, 7 = Orange
    
    // TGP OFF - ON
    DcsBios::Switch2Pos ahcpTgp("AHCP_TGP", 8);
    // GND = Brown, 8 = Yellow
    
    // Altimeter Source RADAR - DELTA - BARO
    DcsBios::Switch3Pos ahcpAltSce("AHCP_ALT_SCE", 9, 10);
    // GND = Gray, 9 = Blue, 10 = Purple
    
    // Hud Mode NIGHT - DAY
    DcsBios::Switch2Pos ahcpHudDaynight("AHCP_HUD_DAYNIGHT", 11);
    // GND = Green, 11 = Orange
    
    // Hud Mode STBY - NORM
    DcsBios::Switch2Pos ahcpHudMode("AHCP_HUD_MODE", 12);
    // GND = White, 12 = Yellow
    
    // CICU OFF - ON
    DcsBios::Switch2Pos ahcpCicu("AHCP_CICU", 14);
    // GND = White, 14 = Purple 
    
    // JTRS OFF - ON
    DcsBios::Switch2Pos ahcpJtrs("AHCP_JTRS", 15);
    // GND = Orange, 15 = White
    
    // IFFCC OFF - TEST - ON
    DcsBios::Switch3Pos ahcpIffcc("AHCP_IFFCC", 16, 17);
    // GND = Brown + Green,  16 = Yellow, 17 = Blue
    
    unsigned int g_iCounter = 0;
    void PollAllControls()
    {
     ahcpGunpac.pollInputCurrent();
     ahcpMasterArm.pollInputCurrent();
     ahcpLaserArm.pollInputCurrent();
     ahcpTgp.pollInputCurrent();
     ahcpAltSce.pollInputCurrent();
     ahcpHudDaynight.pollInputCurrent();
     ahcpHudMode.pollInputCurrent();
     ahcpCicu.pollInputCurrent();
     ahcpJtrs.pollInputCurrent();
     ahcpIffcc.pollInputCurrent();
    }
    
    void setup() {
     DcsBios::setup();
    
    
    }
    
    void loop() {
     DcsBios::loop();
     if (++g_iCounter > 60000)
     {   g_iCounter = 0;
         PollAllControls();
     } 
    }
    
    

  9. Thanks Blue73 for the reply! I tried inserting your code but get an error at compile time - "Expected class-name before '{' token".. Can you tell me where I went wrong? Sorry, I'm probably missing something really obvious..:helpsmilie:

     

    #define DCSBIOS_IRQ_SERIAL
    
    #include "DcsBios.h"
    
    // Start class from Blue73
    class Switch2Pos : PollingInput {
           private:
               const char* msg_;
               char pin_;
               char lastState_;
               bool reverse_;
               void init_(const char* msg, char pin, bool reverse) {
                   msg_ = msg;
                   pin_ = pin;
                   pinMode(pin_, INPUT_PULLUP);
                   lastState_ = digitalRead(pin_);
                   reverse_ = reverse;
               }
               void pollInput() {
                   char state = digitalRead(pin_);
                   if (reverse_) state = !state;
                   if (state != lastState_) {
                       if (tryToSendDcsBiosMessage(msg_, state == HIGH ? "0" : "1")) {
                           lastState_ = state;
                       }
                   }
               }
               
               
           public:
               Switch2Pos(const char* msg, char pin, bool reverse) { init_(msg, pin, reverse); }
               Switch2Pos(const char* msg, char pin) { init_(msg, pin, false); }
    
               void pollInputCurrent() 
               {
                   char state = digitalRead(pin_);
                   if (tryToSendDcsBiosMessage(msg_, state == HIGH ? "0" : "1")) {
                           lastState_ = state;
                       }
               }    
               
           };
    // End class from Blue73
    
    // TGP OFF - ON
    DcsBios::Switch2Pos ahcpTgp("AHCP_TGP", 8);
    // GND = Brown, 8 = Yellow
    
    void setup() {
     DcsBios::setup();
    
    ahcpTgp.pollInputCurrent();
    
    }
    
    void loop() {
     DcsBios::loop();
    
    }
    
    

  10. Hello,

     

    I'm wondering if anyone has found a way to sync **current** switch positions into DCS-BIOS. Problem is I need to cycle switches back and forth before DCS-BIOS knows where my switch is set.

     

    I recall reading something would be added into DCS-BIOS v2 but I know the author is busy with school.

     

    Any ideas? Thanks all! :)

     

    /*
     Tell DCS-BIOS to use a serial connection and use interrupt-driven
     communication. The main program will be interrupted to prioritize
     processing incoming data.
     
     This should work on any Arduino that has an ATMega328 controller
     (Uno, Pro Mini, many others).
    */
    #define DCSBIOS_IRQ_SERIAL
    
    #include "DcsBios.h"
    
    // GUN/PAC GUNARM - SAFE - ARM
    DcsBios::Switch3Pos ahcpGunpac("AHCP_GUNPAC", 2, 3);
    // GND = Gray, 2 = White, 3 = Blue
    
    // Master Arm TRAIN - SAFE - ARM
    DcsBios::Switch3Pos ahcpMasterArm("AHCP_MASTER_ARM", 4, 5);
    // GND = Green + Purple, 4 = White, 5 = Orange
    
    // Laser Arm TRAIN - SAFE - ARM
    DcsBios::Switch3Pos ahcpLaserArm("AHCP_LASER_ARM", 6, 7);
    // GND = Purple + White, 6 = Blue, 7 = Orange
    
    // TGP OFF - ON
    DcsBios::Switch2Pos ahcpTgp("AHCP_TGP", 8);
    // GND = Brown, 8 = Yellow
    
    // Altimeter Source RADAR - DELTA - BARO
    DcsBios::Switch3Pos ahcpAltSce("AHCP_ALT_SCE", 9, 10);
    
    void setup() {
     DcsBios::setup();
    }
    
    void loop() {
     DcsBios::loop();
    }
    

     

    20181228-220047.jpg

  11. Here is my progress with the panel. I received it from ebay and noted the back has a standard DB37 connector. These cables are common and were used in old PC networking equipment. So I bought one off Amazon.com and cut the end off and soldered Dupont ends on each of the 37 wires. Right now I'm doing a pinout of each wire (note color labels) with my Multimeter. Once this is done I should be able to attach to an Arduino w/DCS BIOS. I believe I'll need to do a matrix type setup, but I haven't gotten that far yet. :)

     

    20180812_142746.png

     

    20180812_143111.png

  12. Hello, I found a Rockwell Collins FMS/CDU keypad on EBay and it is very similar to the A-10C. It unfortunately has no documentation for the 37 pin connector on the rear. I thought an email to Rockwell or Korry might produce a schematic but no answers from those companies. Is there a way to determine the pin out functions. I am operating from the assumption that the pins are creating a matrix. I would like to interface the panel using an Arduino and DCS Bios. I am unfortunately an electronics neophyte. I have a multi-meter, an assumption and no idea how to move forward. Any thoughts on how to decipher the pin outs on the connector would be appreciated. Trust me I am already kicking myself for buying before researching. If anyone has interest these are still available on EBay.

     

     

    Thanks for posting this! I just bought one off ebay. I think this would be pretty easy to adapt to an Arduino Mega /w DCS-BIOS. As I get to it, I'll post info.

  13. Here you go -

     

    Behr - Silver Screen / Flat Matte (Ultra White). Home Depot paint #1050. 1 Gallon

    Behr - Black / Flat Matte. Home Depot paint #1300. 1 Quart

    Behr - Dark Pewter / Semi-Gloss. Home Depot paint #5400. 1 Quart

     

    Mix all three approx as.

    2l Silver Screen

    250ml Black Matte

    200ml Dark Pewter

     

    I mixed the paints in a new/clean/empty 1gal bucket using a paint mixing drill attachment.

     

    For a darker screen, mix in more Black Matte. After mixing I applied with a quality paint roller and achieved excellent results with only one application.

  14. Thanks for all the info... To be honest I was first thinking to make the frame by my self using bosh profiles 20X20 and laser cutted wooden parts. I can make it open able in middle and easy transportable... Problem is the black projection screen that I will probably need to order from simpit if the guy will want to sell it independent...Or I will use classic black polycarbonate and than I will paint it with special black projection paint for example like this ....Problem is to find the polycarbonate with 4 meter lenght....:music_whistling:

     

    Forget that special 'projector paint'.. total ripoff. I used a recipe I found online to re-paint my screen. The 'black screen' that Simpit sells is actually dark grey.

     

    If you are in the USA - I have a paint recipe from Home Depot that works great. Its a mix of three paints. I used a quality paint roller and the results were great.

  15. I bought the 180 avenger from SimPit. My advise - stay away. After payment the communication with the seller/owner stopped for weeks. I had to open a paypal dispute due to no communication. He eventually shipped and said the delay was due to him re-designing it and it wasn't able to fit into the box... When I finally received it I found the assembly instructions didn't match what I received..! He promised an updated manual but never sent it. I Had to figure out how to assemble myself. Also note the wood is very prone to warp and will move around if you bump it in the least. I ended up having to re-enforce the whole setup with L-brackets and machine screws and had to create a 1 peice stand for the whole thing because the legs wobbled. The assembly screws provided were wood screws - which means you'd never be able to disassemble if you ever needed to relocate it.

     

    Also be advised they re-sell the projector software from fly.elise and brand it as their own - calling it SimPitWarp. You can buy the projector warping software directly from the developer @ https://fly.elise-ng.net/index.php/products/immersive-display-pro

     

    If you buy, just beware of lots of headaches.

     

    Hope this helps.

  16. Hello,

     

     

    I bought these off ebay and was hoping someone could advise me on how to wire them up and hopefully if I can use DCS Bios.

     

     

    The are rotary encoders with a push button operation (key switch):

     

     

    https://www.ebay.com.au/itm/10pcs-12mm-switch-rotary-encoder-with-key-switch-L3I5/192315940922?epid=1881244434&hash=item2cc6ec603a:g:y~sAAOSwb7NZyG6E

     

     

     

    I want them to drive the up front controller in the F/A-18C so volume up and down, radio channels, brightness and probably also take off trim.

     

     

    HmSdjjL.jpg

     

     

    xPcylQq.jpg

     

     

    Thanks in advance for any help.

     

    I'm using the same rotary encoders. Here is my code. I'm using an OLED display so ignore that part... :smilewink:

     

    #define DCSBIOS_IRQ_SERIAL
    
    #include "DcsBios.h"
    #include <SPI.h>
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    #include <Fonts/dl/digital_counter_717pt7b.h>
    
    //Good fonts - FreeMono12pt7b  FreeMonoBold12pt7b FreeSerif12pt7b
    
    #define OLED_RESET 4
    Adafruit_SSD1306 display(OLED_RESET);
    
    DcsBios::RotaryEncoder hsiCrsKnob("HSI_CRS_KNOB", "-1000", "+7000", 7, 8);
    
    void setup()   {                
     display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3C (for the 128x32)
     // init done
     
     // Show image buffer on the display hardware.
     // Since the buffer is intialized with an Adafruit splashscreen
     // internally, this will display the splashscreen.
     display.clearDisplay();
     display.display();
     display.setFont(&digital_counter_717pt7b);
     display.setTextColor(WHITE);
    // display.setTextSize(2);
     display.setCursor(52,28);
     display.print("123");
       display.display();
     delay(0);
     DcsBios::setup();
    
    
    }
    
    void onHsiCrsKnobChange(unsigned int newValue) {
     display.clearDisplay();
     display.setFont(&digital_counter_717pt7b);
     display.setTextColor(WHITE);
     display.setCursor(52,28);
     display.print(newValue / 182);
     display.display();
    }
    DcsBios::IntegerBuffer hsiCrsKnobBuffer(0x115a, 0xffff, 0, onHsiCrsKnobChange);
    
    
    
    void loop() {
     DcsBios::loop();
    }
    

  17. That is so awesome. I like the engraving touch that adds to the authenticity. I’m hoping to build something similar. I’m hoping it works with a vga to USB adapter as I’m trying to do video over usb using display link.

     

    I have several of the Display Link USB 2.0 adapters. I found they work quite well for screens that don't have a lot of updates. The overhead on the CPU is minimal - around 3% on my PC. I most likely will use them to drive the RWR, Clock, and possibly other displays.

×
×
  • Create New...