Jump to content

RomeoKilo's Pit


romeokilo

Recommended Posts

  • Replies 353
  • Created
  • Last Reply

Top Posters In This Topic

Unfortunately one of my 20x2 OLEDs is damaged. You can see the line of dead pixels in it. My fault- it fell off my work bench.

 

008d3c71565145f8bbca72ce00262fd4.jpg

 

It seems these things are very hard to find nowadays so I will leave as is for now. I may have to redesign the panel to suit a 16x2 OLED later on if it bugs me too much...

 

Ive decided that i love these OLEDs enough that i will re cut my ILS and TACAN to suit some of the smaller ones.

 

Possible the radios as well depending on how easy the 7 segments connect up...

 

Sent from my SM-G900I using Tapatalk

Link to comment
Share on other sites

Hi

I searched high and low for a 20x2 display and came across these:

 

http://www.buydisplay.com/default/catalogsearch/result/?cat=&q=Arduino+20x2+LCD+Module+Display+

 

good price and fast delivery.

 

Neal

Desktop PC:

Intel i7 14700K, MSI Z790 MAG Tomahawk MOBO, 64Gb RAM , GPU Nvidia RTX 3080ti

Windows 11, VPC joystick, Crosswind rudder peddles, HP Reverb G2, VPC Collective, DOF Reality H2, Gametrix seat, WinWing panels.

Link to comment
Share on other sites

Hi

I searched high and low for a 20x2 display and came across these:

 

http://www.buydisplay.com/default/catalogsearch/result/?cat=&q=Arduino+20x2+LCD+Module+Display+

 

good price and fast delivery.

 

Neal

 

I rate buydisplay.com highly. I've purchased a few things from them, including the VGA LCD I ended up using for my CDU.

I've got one of those 20x2 LCD's, and didn't end up using it as they are MUCH larger I thought. There is just no way to use them and keep the panels at the right width.

I'll snap a photo of one of those LCD's and one of the OLED's i am using side by side and edit it into this post later on to explain.

 

 

Check if ebay item 191835417963 fit the need, a bit pricy though

Cant get the link working but ebay search get the correct item

 

That is the exact same as the ones I have- but be warned...

I have tried buying from that eBay seller before.

Paid in full. I never received it and I got no communication out of them at all.

eBay buyer protection didn't either and ended up refunding my money.

 

The manufacturer actually has there own ebay store- wide_hk.

As far as i can tell they are not making them in 20x2 anymore, only 16x2.


Edited by romeokilo
Link to comment
Share on other sites

Hi

That would be great.

 

I have also bought one of their VGA LCD screens for my CDU, although I have not made the faceplate yet. I agree the 20x2 is big, I have currently got a 16x2 working, which first pointed me to the fact I can't count; i forgot to factor in the spaces! I am trying to work up enthusiasm to re solder all of those damn wires!!!

 

Neal

Desktop PC:

Intel i7 14700K, MSI Z790 MAG Tomahawk MOBO, 64Gb RAM , GPU Nvidia RTX 3080ti

Windows 11, VPC joystick, Crosswind rudder peddles, HP Reverb G2, VPC Collective, DOF Reality H2, Gametrix seat, WinWing panels.

Link to comment
Share on other sites

That is the exact same as the ones I have- but be warned...

I have tried buying from that eBay seller before.

Paid in full. I never received it and I got no communication out of them at all.

eBay buyer protection didn't either and ended up refunding my money.

Backtracked my orders and found I bought a piece from both sellers. Both popped up in resonable time.

Biggest 'flaw' with this is I'm not able to change the I2C device ID on these so each has to live on a seperate bus.

 

... i forgot to factor in the spaces! I am trying to work up enthusiasm to re solder all of those damn wires!!!

Neal

 

Neal, (had the same problem) if your 2x16 is for the CMSP, one option is to swap strings to 3 Chars like:

...

newString.replace("CHAF","CHF");

newString.replace("FLAR","FLR");

newString.replace("OTR","OT");

newString.replace("PROG","PRG");

newString.replace("DISP","DSP");

newString.replace(" "," ");

...

 

Not as neat but save time

 

/Gus

- - - -

Link to comment
Share on other sites

Hi Gus

 

my sketch for CMSP is:

 

/*
 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"
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void onCmsp1Change(char* newValue) {
   lcd.setCursor(0,0);
   lcd.print(newValue);
}
DcsBios::StringBuffer<19> cmsp1Buffer(0x1000, onCmsp1Change);

void onCmsp2Change(char* newValue) {
   lcd.setCursor(0,1);
   lcd.print(newValue);
}
DcsBios::StringBuffer<19> cmsp2Buffer(0x1014, onCmsp2Change);

// set up the set button 1:
DcsBios::Switch2Pos cmspArw1("CMSP_ARW1", 6);

// set up the set button 2:
DcsBios::Switch2Pos cmspArw2("CMSP_ARW2", 7);

// set up the set button 3:
DcsBios::Switch2Pos cmspArw3("CMSP_ARW3", 8);

// set up the set button 4:
DcsBios::Switch2Pos cmspArw4("CMSP_ARW4", 9);

void setup() {
 DcsBios::setup();
 // set up the LCD's number of columns and rows:
 lcd.begin(16, 2);
 // Print a message to the LCD.
 lcd.clear();

}

void loop() {
 DcsBios::loop();
}

 

would I insert your suggested changes in the void setup?

 

Thanks

 

Neal

Desktop PC:

Intel i7 14700K, MSI Z790 MAG Tomahawk MOBO, 64Gb RAM , GPU Nvidia RTX 3080ti

Windows 11, VPC joystick, Crosswind rudder peddles, HP Reverb G2, VPC Collective, DOF Reality H2, Gametrix seat, WinWing panels.

Link to comment
Share on other sites

Hi. A QnD copy/paste of my setup. Must be a nicer way to script it. Got the Mode rotary inside it and some other junk but please ignore.

Hope it be of some help.

 

 

 

 

 

#include <DcsBios.h>

#include <Servo.h>

#include <Wire.h>

#include <LiquidCrystal.h>

#include <"OLedI2C.h">

// RS RW D4 D5 D6 D7

LiquidCrystal lcdCMSP(12, 11, 5, 4, 3, 2);

OLedI2C.h lcdCMSC

/**** Make your changes after this line ****/

void onCmsp1Change(char* newValue) {

String newString = newValue;

newString.replace(" "," ");

lcdCMSP.setCursor(0, 0);

lcdCMSP.print(newString);

}

DcsBios::StringBuffer<19> cmsp1Buffer(0x1000, onCmsp1Change);

void onCmsp2Change(char* newValue) {

String newString = newValue;

newString.replace("CHAF","CHF");

newString.replace("FLAR","FLR");

newString.replace("OTR","OT");

newString.replace("PROG","PRG");

newString.replace("DISP","DSP");

newString.replace(" "," ");

// newString.replace(" "," ");

lcdCMSP.setCursor(0, 1);

lcdCMSP.print(newString);

}

DcsBios::StringBuffer<19> cmsp2Buffer(0x1014, onCmsp2Change);

const byte cmspModePins[5] = {6, 7, 8, 9, 10};

DcsBios::SwitchMultiPos cmspMode("CMSP_MODE", cmspModePins, 5);

//CMSC CHAFF & FLARE AMOUNTs

void onCmscTxtChaffFlareChange(char* newValue) {

/* your code here */

}

DcsBios::StringBuffer<8> cmscTxtChaffFlareBuffer(0x108e, onCmscTxtChaffFlareChange);

//CMSC JMR Status Display

void onCmscTxtJmrChange(char* newValue) {

/* your code here */

}

DcsBios::StringBuffer<8> cmscTxtJmrBuffer(0x1096, onCmscTxtJmrChange);

//CMSC MVS Status Display

void onCmscTxtMwsChange(char* newValue) {

/* your code here */

}

DcsBios::StringBuffer<8> cmscTxtMwsBuffer(0x12b0, onCmscTxtMwsChange);

/*

DcsBios::RotaryEncoder cmspBrt("CMSP_BRT", "-3200", "+3200", PIN_A, PIN_B);

// prepared Pot port A3

*/

/**** In most cases, you do not have to change anything below this line ****/

/* Instantiate a ProtocolParser object to parse the DCS-BIOS export stream */

DcsBios::ProtocolParser parser;

void setup() {

Serial.begin(500000);

lcdCMSP.begin(16, 2);

lcdCMSP.print("Ready");

lcdCMSC.init();

lcdCMSC.sendstring("Ready,0,0);

}

 

 

/*

Your main loop needs to pass data from the DCS-BIOS export

stream to the parser object you instantiated above.

It also needs to call DcsBios::PollingInput::pollInputs()

to detect changes in the state of connected controls and

pass them on to DCS.

*/

void loop() {

// feed incoming data to the parser

while (Serial.available()) {

parser.processChar(Serial.read());

}

 

// poll inputs

DcsBios::PollingInput::pollInputs();

}

/*

You need to define

void sendDcsBiosMessage(const char* msg, const char* arg)

so that the string msg, followed by a space, the string arg

and a newline gets sent to the DCS-BIOS import stream.

In this example we send it to the serial port, so you need to

run socat to read the data from the serial port and send it

over UDP to DCS-BIOS.

If you are using an Ethernet Shield, you would probably want

to send a UDP packet from this subroutine.

*/

void sendDcsBiosMessage(const char* msg, const char* arg) {

Serial.write(msg);

Serial.write(' ');

Serial.write(arg);

Serial.write('\n');

}

/*

This subroutine gets called every time a message is received

from the export stream (you need to define it even if it

does nothing).

Use this to handle outputs which are not covered by the

DcsBios Arduino library (e.g. displays).

*/

void onDcsBiosWrite(unsigned int address, unsigned int value) {

}

 

 

 

 

- - - -

Link to comment
Share on other sites

Question for you RK, how did you make or where did you purchase the buttons for the CDU? JW cause I'm doing the same thing but I cant seem to find buttons anywhere other than keyboard ones. Thanks

Know and use all the capabilities in your airplane. If you don't, sooner or later, some guy who does use them all will kick your ass.

 

— Dave 'Preacher' Pace, USN.

Link to comment
Share on other sites

You need to search using "tactile switch" or "mom push button"

 

try this link for a good assortment :thumbup:

 

http://www.ebay.com/sch/sis.html?_nkw=20+x+4+Pin+Tactile+Push+Button+Switch+With+Light+for+Digital+Camera+12+x+12mm&_id=181390250058&&_trksid=p2060353.m2749.l2658

Regards

John W

aka WarHog.

 

My Cockpit Build Pictures...



John Wall

 

My Arduino Sketches ... https://drive.google.com/drive/folders/1-Dc0Wd9C5l3uY-cPj1iQD3iAEHY6EuHg?usp=sharing

 

 

WIN 10 Pro, i8-8700k @ 5.0ghz, ASUS Maximus x Code, 16GB Corsair Dominator Platinum Ram,



AIO Water Cooler, M.2 512GB NVMe,

500gb SSD, EVGA GTX 1080 ti (11gb), Sony 65” 4K Display

VPC MongoosT-50, TM Warthog Throttle, TRK IR 5.0, Slaw Viper Pedals

Link to comment
Share on other sites

I found plenty of those but the actual button caps or covers is what I'm looking for.

 

Sent from my SM-G900W8 using Tapatalk

Know and use all the capabilities in your airplane. If you don't, sooner or later, some guy who does use them all will kick your ass.

 

— Dave 'Preacher' Pace, USN.

Link to comment
Share on other sites

I found plenty of those but the actual button caps or covers is what I'm looking for.

 

Sent from my SM-G900W8 using Tapatalk

 

Gotta make those yourself... or pay for custom engraving.:(

Regards

John W

aka WarHog.

 

My Cockpit Build Pictures...



John Wall

 

My Arduino Sketches ... https://drive.google.com/drive/folders/1-Dc0Wd9C5l3uY-cPj1iQD3iAEHY6EuHg?usp=sharing

 

 

WIN 10 Pro, i8-8700k @ 5.0ghz, ASUS Maximus x Code, 16GB Corsair Dominator Platinum Ram,



AIO Water Cooler, M.2 512GB NVMe,

500gb SSD, EVGA GTX 1080 ti (11gb), Sony 65” 4K Display

VPC MongoosT-50, TM Warthog Throttle, TRK IR 5.0, Slaw Viper Pedals

Link to comment
Share on other sites

Question for you RK, how did you make or where did you purchase the buttons for the CDU? JW cause I'm doing the same thing but I cant seem to find buttons anywhere other than keyboard ones. Thanks

 

I found the buttons were actually one of the easiest parts to make once I decided to make them as simply as possible.

 

I tried cutting them from one piece of 6mm acrylic and engraving the lip in them with the laser. That worked well but took a much longer amount of time that I and my laser tube do not have.

 

Please note that all the buttons pictured were found in my scrap bin. The ones I have used for the final panels are much cleaner cuts.

 

So I ended up doing them like this-

Capture_zpsnwkn4k6t.jpg

Number 1 is the button top cut out of 3mm Solid White Acrylic.

Number 2 is the bottom of the button cut out of 2mm Solid White (I prefer clear for this but i ran out of material and though testing I found that the difference when back lit is negligible)

 

 

1 and 2 two get glued together with a solvent cement and painted in grey which result in number 3. Leave the bottom protective layer on when painting to allow back lighting.

 

4 is the end result.

 

I learned some things on the way-

 

Round buttons should have a square backing to stop them from spinning in the panel-

Left is the wrong type- Right is the one I'm replacing them with.

DSC_0715_zpsgxlqxuqg.jpg

 

My rockers look like this to keep it simple. Remember not to have a lip on these ones so they can actually rock and not be trapped in the panel. Because of that design the back light bleeds around them a little more than normal push buttons.

DSC_0717_zps5ckscpah.jpg

 

 

 

All my buttons in the pit are of the same design and size and are interchangeable.

 

The Panels that require these buttons are built so the lip on the buttons sit in without falling out and back light bleed is minimized.

 

And all I did to engrave each button for the CDU is place them in the panel, put the panel in the laser and engrave the entire CDU in one hit. Took about 15 minutes and one run to have every button for the CDU done.

 

The pit (and the laser) is currently in pieces and all packed up as I am moving into a new house.

Good news is the pit will finally be out of the garage and back into the house, in a dedicated room where i can finally start on that curved projector setup! :thumbup:

  • Like 1
Link to comment
Share on other sites

RK, I love your pit, your way to solve problems and I thank you so much for let us peep behind the scenes :)

So I want to add my personal share to this:

I glued all my CDU-Buttons row-by-row on stripes of thin transparent film (as used for sales packaging - here called blisters).

 

This brings three benefits: It prevents the buttons from falling to the floor (and jumping into unreachable corners), prevents the round buttons from spinning and not least makes mounting the panel much easier.

Glueing them together is not a problem due to the very little stroke of the momentary SMD-buttons. So actuating one button doesn't affect its neighbors.

Maybe this helps others.

 

While tinkering my next panel (just IF I do) I will combine both methods :)

Thank you.


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

RK, I love your pit, your way to solve problems and I thank you so much for let us peep behind the scenes :)

So I want to add my personal share to this:

I glued all my CDU-Buttons row-by-row on stripes of thin transparent film (as used for sales packaging - here called blisters).

 

This brings three benefits: It prevents the buttons from falling to the floor (and jumping into unreachable corners), prevents the round buttons from spinning and not least makes mounting the panel much easier.

Glueing them together is not a problem due to the very little stroke of the momentary SMD-buttons. So actuating one button doesn't affect its neighbors.

Maybe this helps others.

 

While tinkering my next panel (just IF I do) I will combine both methods :)

Thank you.

Tx RK. People mostly put up the final product. But how they got there is the intresting part.

 

Sent from my SM-N910G using Tapatalk

Link to comment
Share on other sites

 

--snippage --

 

 

1 and 2 two get glued together with a solvent cement and painted in grey which result in number 3. Leave the bottom protective layer on when painting to allow back lighting.

 

 

RK,

You mean leave the protective sheet on to help with diffusing the LED, yes?

 

I was just playing with diffusers today, and realized "hey, the protective sheet works pretty well as well."

hsb

HW Spec in Spoiler

---

 

i7-10700K Direct-To-Die/OC'ed to 5.1GHz, MSI Z490 MB, 32GB DDR4 3200MHz, EVGA 2080 Ti FTW3, NVMe+SSD, Win 10 x64 Pro, MFG, Warthog, TM MFDs, Komodo Huey set, Rverbe G1

 

Link to comment
Share on other sites

No. Hansangb.

I mean, it's to protect button's bottom from paint while painting (spray e.g.).

After paint is dryed peel the film off and there is a clean inlet for the light (from the rear).

 

For glueing the layers you HAVE to remove the film where the adherends are :)

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Ah, I got you. My top (where the switch/button holes will be) will not be glued. It'll sit inside the switch box, and I'm trying to come up with a cover for the LED/lettering so I can interchange it with Huey, etc.

hsb

HW Spec in Spoiler

---

 

i7-10700K Direct-To-Die/OC'ed to 5.1GHz, MSI Z490 MB, 32GB DDR4 3200MHz, EVGA 2080 Ti FTW3, NVMe+SSD, Win 10 x64 Pro, MFG, Warthog, TM MFDs, Komodo Huey set, Rverbe G1

 

Link to comment
Share on other sites

Another one of my impulse eBay purchases arrived.

 

Obviously not the right one for an A10 but for 25 bucks it should look the part.

And looks very easy to convert to a 12V LED with a simple $1 eBay led bulb swap.

 

806bc80c9d9a8ef306d660f9258866be.jpg


Edited by romeokilo
Link to comment
Share on other sites

Some Day you will add some legs and wings to your pit and go on excursion over the Outback :D


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...