hy-fye1 Posted August 1, 2021 Posted August 1, 2021 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
QuiGon Posted August 3, 2021 Posted August 3, 2021 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!
Sofapiloz Posted August 3, 2021 Posted August 3, 2021 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.
triscan Posted August 3, 2021 Posted August 3, 2021 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.
hy-fye1 Posted August 3, 2021 Author Posted August 3, 2021 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
Recommended Posts