¿Cómo puedo emular dos joysticks analógicos (potenciómetros) con un Arduino?

1

Tengo un quadcopter (Syma X5C) que realmente quiero controlar con un Arduino. Ya que tengo la capacidad de escribir programas en mi Arduino para hacer que el quadcopter vuele de manera autónoma, quiero modificar mi "hack" del control remoto de mi quadcopter para permitir que el Arduino se interconecte con él.

Después de abrir el control remoto de mi quadcopter, me di cuenta de que la forma más rápida para que programe mi quadcopter es desoldar y quitar los dos joysticks existentes y reemplazarlos con potenciómetros digitales que serán controlados por Arduino.

Casi pensé que podía hacer esto, sin embargo, la mayoría de los potenciómetros digitales solo usan el protocolo SPI para hablar con el Arduino. Si necesito controlar los 4 ejes de los dos joysticks, necesitaría más de un potenciómetro digital SPI. Además, no estoy seguro de que mi Arduino funcione con más de un módulo SPI. Estaba intentando buscar un potenciómetro I2C, pero no pude encontrar ninguno disponible.

¿Hay alguna forma de controlar el control remoto de mi quadcopter sin necesidad de usar un potenciómetro digital? Por favor, dame sugerencias detalladas, preferiblemente con un diagrama.

    
pregunta solutionhacker

3 respuestas

1

Puede estar casi seguro de que los potenciómetros utilizados en la corriente están configurados como divisores de tensión. Si mide las tres patas, deben conectarse como fuente de alimentación, tensión de salida y tierra.

Si este es el caso, entonces puede inyectar un voltaje analógico usando un DAC controlado digitalmente si necesita una respuesta rápida, o usar un filtro RC para obtener una salida analógica de la salida PWM del Arduino si no lo necesita.

De cualquier manera, deberá asegurarse de que los voltajes de suministro coincidan para que el voltaje más alto que haya medido en las patas del potenciómetro sea el mismo que el rendimiento máximo del DAC. De forma predeterminada, un Arduino estándar, si está utilizando una salida PWM, generará hasta 5V. Es probable que la tensión de alimentación requerida sea de 5 V o 3,3 V

    
respondido por el D_Weight
4

El Arduino puede hablar con múltiples esclavos SPI. No al mismo tiempo exacto, pero más rápido que los tiempos de reacción humanos. Cada esclavo SPI tiene su propio pin CS (Chip Select), que cuando se activa, activa la interfaz SPI. Un pin digital Arduino por chip. Luego, todos los potenciómetros SPI utilizarán los mismos pines del bus SPI. Tu boceto requerirá que alternes la Selección de chip para cada Pot por separado, antes de enviar datos a través del puerto SPI.

    
respondido por el Passerby
1

En realidad, hay bastantes potenciómetros digitales I²C. El AD5243 es un bote I²C doble con 256 pasos, cada uno con 256 pasos, y viene con una escala completa resistencias de 2.5kΩ, 10kΩ, 50kΩ o 100kΩ. Cuesta $ 2.64 de Digi-Key .

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas