ESP8266 - joystick - servomotor
Un joystick está equipado con dos potenciómetros que son perpendiculares entre sí (conocidos como el eje X y el eje Y). Estos potenciómetros emiten valores analógicos (valor X y valor Y) en los pines VRX y VRY. Usaremos estos valores analógicos para controlar de forma independiente dos servomotores: el valor X controla el servomotor n.º 1 y el valor Y controla el servomotor n.º 2. Al usar un kit de paneo e inclinación, la combinación de los dos servomotores crea movimiento tridimensional.
Hay dos casos de uso:
- Caso de uso 1: Los servomotores giran de acuerdo con el movimiento de la palanca del joystick:
- Los ángulos de los servomotores son proporcionales a los valores del eje X y del eje Y del joystick.
- Cuando se suelta la palanca del joystick, todos los valores vuelven a los valores centrales y los servomotores vuelven automáticamente a la posición central.
- Caso de uso 2: Utilice el joystick para comandar servomotores (comandos arriba/abajo/izquierda/derecha)
- Cuando la palanca del joystick se empuje hacia la izquierda, mueva el servomotor n.º 1 en sentido horario.
- Cuando la palanca del joystick se empuje hacia la derecha, mueva el servomotor n.º 1 en sentido antihorario.
- Cuando la palanca del joystick se empuje hacia arriba, mueva el servomotor n.º 2 en sentido horario.
- Cuando la palanca del joystick se empuje hacia abajo, mueva el servomotor n.º 2 en sentido antihorario.
- Cuando se suelte la palanca del joystick, los servomotores no volverán a la posición central.
- Si se pulsa (se presiona) el joystick, los servomotores volverán a la posición central.
- Módulo Analógico a Digital:
- Puedes usar un convertidor analógico a digital externo (ADC) como el popular Módulo ADC ADS1115.
- Este módulo te permite conectar múltiples dispositivos analógicos, ampliando los pines de entrada analógica disponibles.
- Solución de multiplexación:
- Otra opción es implementar una solución de multiplexación. Esto implica alternar entre leer los ejes X e Y del joystick utilizando el único pin de entrada analógica disponible.
- Esencialmente, alternas entre las lecturas de X e Y, logrando la funcionalidad deseada mediante la multiplexación por división de tiempo.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del Joystick y del Servomotor
Si no estás familiarizado con el joystick y el motor servo (incluyendo la asignación de pines, funcionalidad, programación, etc.), los siguientes tutoriales pueden ayudar:
Como el ESP8266 solo tiene un pin de entrada analógica, y el joystick necesita dos, hay dos formas de resolverlo:
Sin embargo, ambas soluciones pueden resultar un poco costosas y complicadas. Para un enfoque más sencillo, recomendamos encarecidamente usar el ESP32 en lugar del ESP8266. Consulta el tutorial ESP8266 - Joystick para una implementación más fácil de usar.