Arduino RC coche con cámara FPV (6 / 15 paso)

Paso 6: C# aplicación Threading y el XBox 360 controlador entrada

El primer bit de software que escribí para este proyecto era para el controlador de XBox 360 (usted puede haber notado que el nombre original del proyecto de Visual Studio ha desarrollado a través de hasta el final!). Encontrará el código de controlador de XBox en la primera parte del archivo "Form1.cs". Como se mencionó en el paso anterior, este código sólo funciona si se ha configurado la envoltura de dotnet Xinput (es decir, como una referencia en el proyecto de C# se ha añadido "XInputDotNetPure.dll", y "XInputInterface.dll" está en la misma carpeta que el archivo .exe).

El código funciona varias veces la votación el controlador para recuperar el estado de los botones y controles analógicos. Debido a este sondeo, me di cuenta que el programa tendría varios subprocesos, para trabajar en todo. Esto fue un poco de un desafío, como en realidad no había escrito una aplicación de subprocesos múltiples antes de éste. Después de mirar algunos ejemplos y tutoriales, he decidido que habría un subproceso de aplicación principal de la interfaz gráfica de usuario (GUI), un subproceso independiente para manejar el controlador de XBox 360 y varios temas más para otras cosas. Varios subprocesos permiten todas estas cosas trabajar en paralelo, sin cualquier retraso sensible en la GUI.

En el subproceso de controlador de Xbox, el estado del controlador es encuestado a cerca de 50Hz, por lo que siempre tiene datos muy actuales. Datos de este regulador también se hizo eco en la GUI, y pulsar un botón se resaltan en color naranja. Para ello, entre subprocesos eran necesarias las transferencias de datos. Utilicé el concepto de "delegados" para permitir flujos que "afectan". También se dará cuenta de una serie de variables "shared_..." que se utilizan a través de varios subprocesos.

Esta sección del código también tiene un contador que sigue la pista de controlador "frames". En el contexto de mi código, los marcos se refieren a cuando el estado del controlador se ha leído. Los contadores "samplecount" y "oldsamplecount" se utilizan para que presiona el botón largo son manejados correctamente. Como ejemplo, he asignado algunos botones digitales, para que una prensa activa una función, y la prensa siguiente desactiva esa función. Si una pulsación larga no es manejada correctamente, el programa cambiará esa función enciende y apaga continuamente. El código maneja correctamente una pulsación larga como una sola vez comparando el valor de oldsamplecount contra samplecount. Si la diferencia entre las dos variables es demasiado pequeña, se detecta como una pulsación larga.

Artículos Relacionados

Autónoma de Arduino de coches con Sensor de proximidad infrarrojo

Autónoma de Arduino de coches con Sensor de proximidad infrarrojo

Este Instructable muestra cómo modificar un coche RC preloved para que puede ser controlado por un Arduino. Entonces el Instructable le mostrará cómo hacer el RC funciona que un código simple figura 8 desde allí el Instructable le mostrará cómo agreg
Arduino RC coche con el transmisor personalizada y de largo alcance.

Arduino RC coche con el transmisor personalizada y de largo alcance.

¡ Hola! Este es mi primer instructable.En él te mostraré como hacer un coche RC y el módulo inalámbrico nrf24l01 + Arduino, o cómo actualizar un coche RC de 27 MHz.El viejo coche del RC, que desde el chasis y el heli controlador, recibí de un amigo m
Control Arduino RC coche con teléfono android & 1Sheeld

Control Arduino RC coche con teléfono android & 1Sheeld

Si desea controlar coche del RC con el teléfono inteligente android sin utilizar el módulo Bluetooth y android aplicación de programación, puede utilizar 1Sheeld en lugar de ellos.1Sheeld consiste básicamente de dos partes. La primera parte es un esc
DIY Android Control remoto coche con Arduino

DIY Android Control remoto coche con Arduino

esta es una guía paso a paso sobre cómo construir un teléfono con Android o tablet controlada papel coche. Se puede modificar para construir cualquier otro tipo de vehículo que más te guste.Pasos incluyen a guía en:1. construcción de las piezas de au
1 º BM ARDUINO CONTROLÓ el coche con HC-SR04

1 º BM ARDUINO CONTROLÓ el coche con HC-SR04

Con este proyecto quiero mostrarte la manera en cómo convertir un coche RC en un coche automático controlado con Arduino Uno R3.Paso 1: Materiales requeridos: Coche del RC (con los motores separados de la rueda trasera)Arduino Uno R39V battaryCables
Arduino Bluetooth RC coche con LCD

Arduino Bluetooth RC coche con LCD

Pantalla LCD muestra donde el rumbo del coche (por ejemplo mover adelante, atrás,...)Yo sólo he modificado el código y conectar un LCDPaso 1: Lista de piezas Arduino unoMódulo Bluetooth HC06Controlador de Motor L293DPANTALLA LCD 16 * 2Chasis del auto
Construir un Quadcopter de cámara FPV de alto rendimiento

Construir un Quadcopter de cámara FPV de alto rendimiento

Este Instructable le mostrará en detalle, cómo construir un quadcopter de alta calidad para vuelo FPV y grabar fotos y videos aéreos.Todos sabemos los seres humanos no pueden volar. Nuestros huesos son demasiado densos y agitando los brazos no produc
Arduino Xbox coche RC Hack (Maisto Rock Crawler)

Arduino Xbox coche RC Hack (Maisto Rock Crawler)

En este proyecto que vamos a hackear un coche de RC (Maisto Rock Crawler) y reemplazar es stock placa de circuito con un Arduino Uno R3, el escudo del Motor y el módulo XBee. Vamos a utilizar otro Arduino para recoger e interpretar datos de un contro
Cuerpo de coche de 4WD DIY para proyectos de robótica arduino y coches RC

Cuerpo de coche de 4WD DIY para proyectos de robótica arduino y coches RC

Hola saludos de geeks de instructables de Egipto :) :)en este instructable le mostraré cómo diseñar y hacer un coche con ruedas 4 para robótica, arduino, coches del RC... etc. de forma fácil sólo tienes que seguirme ;): D >>>Paso 1: Diseñar el cu
Procesamiento de controles R/C coche con módulos XBee

Procesamiento de controles R/C coche con módulos XBee

este instructable es una modificación de mi presentación a la comunidad de Chicago de procesamiento en el laboratorio de visualización electrónica (EVL), Universidad de Illinois en Chicago el 01 de octubre de 2012. En el tema de laSerie de la bibliot
Pinewood derby video del coche (con suspensión)

Pinewood derby video del coche (con suspensión)

este año mi hijos mayores Cub Scout pack tuvo una división abierta. Creo que los coches que la carrera de los niños debe ser su propia creación. Así que después de servir como un monitor de seguridad para la creación del coche verdadero. He creado un
Popup Faro guiño con el tablero de arduino y relé con mi miata.

Popup Faro guiño con el tablero de arduino y relé con mi miata.

cableado hasta los interruptores para hacer miata faros wink es un dolor, no te preocupes este es un poco menos dolorosa.mi objetivo de este proyecto era hacer los faros de guiño o hacen otras cosas con la fábrica de interruptor. Pensé que sería cier
Solucionar problemas de la batería de coche con ATtiny.

Solucionar problemas de la batería de coche con ATtiny.

El invierno pasado he experimentado algunos problemas con la batería de mi coche. Sabía que se trataba de la hora de cambiar asi de que fui a comprar uno nuevo. Este hecho me recordó a un viejo artículo sobre un coche carga de la batería/sistema kit
Autónoma de Arduino de coche

Autónoma de Arduino de coche

mis preguntas para hacer de aprender juventud concurso :)¿Lo que?Este objetivo de este proyecto era tomar equipos electrónicos comúnmente disponibles y crear un vehículo barato, auto controlado. En términos más sencillos, se trata de un intento de au