Foro x-plane.es
Foro General
»
X-Plane 11
»
USO DE ENCODERS PARA XPLANE 11
Usuario:
Recordar
Contraseña:
Inicio
Ayuda
Tags
Ingresar
Registrarse
Páginas: [
1
]
Ir Abajo
« anterior
próximo »
Imprimir
Autor
Tema: USO DE ENCODERS PARA XPLANE 11 (Leído 2567 veces)
0 Usuarios y 1 Visitante están viendo este tema.
03 Agosto, 2022, 23:10:26
Uriel_jisa
Usuario reciente
Desconectado
Mensajes: 3
En línea
USO DE ENCODERS PARA XPLANE 11
Buen dia, quiero hacer uso de un encoder conectado a un Arduino Uno en los pines 2 y 3 (pin A y Pin B respectivamente) para la modificacion de comandos en xplane con el plugin XPLDirect. Quisiera saber si me pueden ayudar con el codigo, ya que he hecho el mío pero no puedo ya que se activan dos comandos (altitud en alto y bajo al mismo tiempo).
#include <arduino.h>
#include <XPLDirect.h>
#include <stdio.h>
XPLDirect Xinterface(&Serial);
const int PinA = 2;
const int PinB = 3;
float horizUp;
float horizDown;
const int timeThreshold = 50;
long timeCounter = 0;
const int pasosMax = 255;
volatile int ISRCounter = 0;
int contador = 0;
bool giroCW = true;
void setup()
{
pinMode(PinA, INPUT_PULLUP);
pinMode(PinB, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(PinA), doEncodeA, CHANGE);
attachInterrupt(digitalPinToInterrupt(PinB), doEncodeB, CHANGE);
Serial.begin(XPLDIRECT_BAUDRATE); // start serial interface. Baudrate is specified in the header, dont change
Xinterface.begin(\"Xplane Demo\");
//Xinterface.registerCommand(\"sim/instruments/barometer_down\", XPL_READ, 100, 0, &verticalSpeed);
Xinterface.registerCommand(\"sim/instruments/barometer_down\", &horizDown);
Xinterface.registerCommand(\"sim/instruments/barometer_up\", &horizUp);
}
void loop()
{
Xinterface.xloop();
if (contador != ISRCounter)
{
contador = ISRCounter;
Serial.println(contador);
}
delay(100);
}
void doEncodeA()
{
if (millis() > timeCounter + timeThreshold)
{
if (digitalRead(PinA) == digitalRead(PinB))
{
giroCW = true;
if (horizUp + 1 <= pasosMax) horizUp++;
}
else
{
giroCW = false;
if (horizDown - 1 > 0) horizDown--;
}
timeCounter = millis();
}
}
void doEncodeB()
{
if (millis() > timeCounter + timeThreshold)
{
if (digitalRead(PinA) != digitalRead(PinB))
{
giroCW = true;
if (horizUp + 1 <= pasosMax) horizUp++;
}
else
{
giroCW = false;
if (horizDown - 1 > 0) horizDown--;
}
timeCounter = millis();
}
}
«
Última modificación: 04 Agosto, 2022, 17:34:48 por Uriel_jisa
»
04 Agosto, 2022, 09:09:48
#1
bokepacha
Moderador Global Foro
Superusuario
Desconectado
Mensajes: 7601
liberate tute me ex inferis
En línea
Re: USO DE ENCODERS PARA XPLANE 11
YO en arduino solo he hecho un script (y suerte que me salió bien...) así que dudo que pueda ser de mucha ayuda, pero si no compartes el código poco podemos decir
04 Agosto, 2022, 17:35:21
#2
Uriel_jisa
Usuario reciente
Desconectado
Mensajes: 3
En línea
Re: USO DE ENCODERS PARA XPLANE 11
Muchas gracias, ya lo he modificado y enviado el código
Tags:
Páginas: [
1
]
Ir Arriba
Imprimir
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
INSTRUCCIONES Y NORMAS DEL FORO
-----------------------------
=> Normas del foro
=> Instrucciones
-----------------------------
FAQ DEL FORO - X-PLANE.ES
-----------------------------
=> Preguntas frecuentes
=> Preguntas frecuentes - Usuarios X-Plane10
-----------------------------
Foro General
-----------------------------
=> Zona de presentaciones.
=> X-Plane 12
=> X-Plane 11
=> X-Plane10
=> X-Plane
=> Zona de consultas
=> Complementos de X-Plane, aviones, escenarios, plugins...
===> El rincón de nuestro corresponsal Luis Angel.
===> Boeing B737-800X ZIBO mod
=> WorldEditor (WED) & Overlay Editor
=> Aircraft-Plane-Maker
=> Helis
=> Hardware
=> Imágenes y Videos.
===> Capturas x-plane - concurso mensual
=> Sugerencias-Tablón anuncios
=> Vuelo On-line
=> International room
-----------------------------
Tutoriales y manuales
-----------------------------
=> Escuela de vuelo
-----------------------------
Taller de proyectos
-----------------------------
=> Proyectos Escenarios
=> Proyectos Aeropuertos
=> Proyectos Aviones
-----------------------------
Aviación civil y militar
-----------------------------
=> El mundo de la aeronáutica.
=> Aviación militar
=> Aviación civil
=> Imágenes y videos relacionados con la aviación.
Loading...