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

Paso 9: Coche acelerador y dirección

El acelerador y la dirección en el coche son "analógico", lo que significa que utilizando el controlador de XBox, el coche puede moverse en un rango de velocidades y girar en una gama de ángulos de dirección. La derecha trigger se utiliza para el remite, el gatillo izquierdo se utiliza para retroceder y el stick izquierdo se utiliza para el manejo (estos son los controles estándar para XBox juegos de carreras). Para transmitir estas entradas "analógicas" del controlador de XBox para el coche, los datos viajan a través de los programas como sigue:

Acelerador de datos - C#:

1. el estado del controlador de XBox se lee. Se guardan los valores de la izquierda gatillo como flotadores

2. una comparación se hace entre los valores de dos gatillo. Se utiliza el valor mayor y el menor valor se omite (por ejemplo, si ambos hacia adelante y hacia atrás se presiona, el valor más grande "gana")

3. el valor es multiplicado por 100 y manipulado para que velocidad 0 es el valor 500. Esto significa que la velocidad máxima es equivalente al valor "400", y remite toda velocidad es el valor "600". Esto se hizo para evitar la necesidad de usar números negativos, y la opción de 500 como el punto era completamente arbitraria.

4. el nuevo valor de la aceleración se convierte en una cadena (como 3 dígitos).

5. la secuencia del acelerador es añadida a la cadena de salida de C# y envió a Arduino cuando sea necesario.

Acelerador de datos - Arduino:

1. el Arduino recibe la cadena completa y guarda los caracteres del acelerador en una matriz de caracteres.

2. la matriz de caracteres del acelerador es convertida a un int

3. utilizando la función de "mapa", el valor de la aceleración se convierte en un valor compatible para la ESC. La ESC acepta las mismas señales de control como servomotores, así que el tipo de Servo se utiliza para escribir un valor de "grado" en el pin de salida. La ESC ha sido calibrada tal que 0 grados es toda velocidad inversa y 180 grados es toda velocidad remite. 90 grados es 0 velocidad.

4. el valor se escribe en la ESC.

En el código de C#, también verás algunas funciones extras que manipulan el acelerador. Éstos incluyeron a cambiar las características de conducción, pero no he encontrado les que útil. Una de estas funciones implica un modo de acelerador lineal/cuadrado/en cubos. Modo lineal proporciona una relación de 1:1 entre la posición de disparo y la velocidad. Por lo tanto, presionar los resultados a mitad de camino del gatillo remite en el coche en movimiento en la mitad de su velocidad máxima. Modo de cuadrados consiste en cuadratura el valor sin formato, por lo que pulsando el disparador hasta la mitad los resultados en el coche en movimiento en un cuarto de su velocidad máxima. Esto ofrece más variedad de control a velocidades más bajas, y menos en mayores velocidades. Estos modos del acelerador pueden seleccionarse usando el cuadro en el programa de C# GUI (usando un ratón).

La otra función consiste en la capacidad de activar/desactivar el "modo lento", pulsando el botón B en el controlador XBox. Modo lento limita la velocidad máxima del coche a la mitad de su velocidad máxima. Por lo tanto, podría utilizar la gama completa de los factores desencadenantes para controlar velocidades más bajas. Este modo realmente viene práctico a veces - es ideal para un control preciso a velocidades lentas.

La dirección es bastante similar del acelerador. La forma de los datos viaja es:

Manejo de datos - C#:

1. el estado del controlador de XBox se lee. El valor del eje x del stick izquierdo se guarda como un flotador

2. el valor se multiplica por 100, y 500. Esto significa que la izquierda completa es equivalente al valor "400", y es de pleno derecho el valor "600". Como el acelerador, esto se hizo para evitar la necesidad de usar números negativos, y la opción de 500 como el punto era completamente arbitraria.

3. el nuevo valor de dirección se convierte en una cadena (como 3 dígitos).

4. la cadena de manejo es añadida a la cadena de salida de C# y enviada a la Arduino cuando sea necesario.

Manejo de datos - Arduino:

1. el Arduino recibe la cadena completa y guarda los dirección caracteres en una matriz de caracteres.

2. la dirección matriz de caracteres es convertida a un int

3. utilizando la función de "mapa", el valor de dirección se convierte en un valor compatible para el servo de dirección. Tenga en cuenta que el servo de dirección no tiene toda la gama de 0 a 180. En mi coche, izquierda completa es de 133 grados y derecho completo es de 60 grados, con un valor de centro de 96 grados

4. el valor se escribe en el servo de dirección.

Como el acelerador, la dirección puede configurarse en modo lineal/cuadrado/en cubos en el programa C#. Encontré que mi coche era un poco inútil, debido a la gama relativamente pequeña en el ángulo de dirección. Ya que las ruedas no giran mucho, es fácil de conseguir que el ángulo recto en el modo lineal.

Nota sobre las bibliotecas de Arduino Servo:

Cuando estuve desarrollando el sketch de Arduino, utilicé la biblioteca estándar de Arduino Servo para la ESC y servo de dirección. Una vez que introduje el palo de NeoPixel, la librería Servo no podía utilizar más (ver https://learn.adafruit.com/neopixels-and-servos). La biblioteca de TiCoServo funciona igual de bien en mi coche del RC, pero existen límites - sólo dos servos pueden utilizarse al mismo tiempo, sólo un pequeño conjunto de pines se puede utilizar (incluso en un Arduino Mega), y pares sólo específicos de esos pines pueden trabajar juntos. La última de ellas fue descubierta a través de ensayo y error...

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