Jump to content

Recommended Posts

Posted

Hallo Leute,

ich weiß nicht, wie ich mein Problem verständlich schildern soll, aber ich versuchs mal.

 

Ich versuche das ManualTrim-Panel der F-16 mit Alps-Motorpotentiometer (https://www.ebay.de/itm/264035904145) zu realisieren.

Mein Problem ist, dass das Motorpoti immer in der Position 512 gehalten wird, auch wenn sich der Pitch-Wert in DCS-BIOS ändert.

Ich muss dazu sagen, dass ich absoluter Arduino-Neuling bin und erst vor kurzem angefangen habe, mich mit der Programmierung zu befassen.

 

Irgendwie wird der Pitch-Wert, der von DCS-BIOS kommt nicht in den pitch-Wert des Sketches übertragen.

 

Was mache ich falsch? Wäre schön, wenn mir jemand weiterhelfen könnte.

 

 

//#define DCSBIOS_RS485_SLAVE 28
//#define TXENABLE_PIN 2
#define DCSBIOS_DEFAULT_SERIAL
#include "DcsBios.h"

const int input1 = 3; // Input1 L293D
const int input2 = 5; // Input2 L293D
const int motPitchPot = A0; // Poti Alps Motorpotentiometer

unsigned int pitch = 512;

void onPitchTrimChange(unsigned int newValue) {
  unsigned int pitch = newValue;
  map(pitch, 0, 65535, 0, 1023);
}
DcsBios::IntegerBuffer pitchTrimBuffer(0x4404, 0xffff, 0, onPitchTrimChange);

void setup() {
    DcsBios::setup();
    pinMode(input1, OUTPUT);
    pinMode(input2, OUTPUT);
    pinMode(motPitchPot, INPUT);
}

void loop() {
  if(analogRead(motPitchPot) > pitch)
{
  digitalWrite(input1, HIGH);
  digitalWrite(input2, LOW);
}

if(analogRead(motPitchPot) < pitch)
{
  digitalWrite(input1, LOW);
  digitalWrite(input2, HIGH);
}
  DcsBios::loop();
}

 

 

Viele Grüße

Markus

 

Posted

:dunno:

Intel i7-12700K @ 8x5GHz+4x3.8GHz + 32 GB DDR5 RAM + Nvidia Geforce RTX 2080 (8 GB VRAM) + M.2 SSD + Windows 10 64Bit

DCS Panavia Tornado (IDS) really needs to be a thing!

Tornado3 small.jpg

Posted

Ich leider auch nicht. Mach zwar woanders auch ein bisschen mit Arduino rum, aber da bin ich überfragt. Vielleicht mal im englischen Teil versuchen, da gibts glaub ich auch einen DCS Bios Threat. Der natürlich wesentlich stärker frequentiert wird.

Posted

hi,

soweit ich weiß musst du map in eine neue variable schreiben.

also newpitch = map(pitch, 0, 65535, 0, 1023);

und dann mit newpitch weiterarbeiten.

 

Posted

Hi,

 

vielen Dank für Eure Antworten, hat mich sehr gefreut.

Mit der neuen Variable funktioniert's perfekt. Habe ich wieder was dazu gelernt.

Vielen vielen Dank.

 

Viele Grüße

Markus

  • Recently Browsing   0 members

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