ESP8266 - Joystick
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre el joystick de dos ejes
Es posible que hayas visto un joystick en varios lugares, como en un mando de videojuegos, un mando de juguete o incluso en una máquina grande, como el controlador de una excavadora.
El joystick está compuesto por dos potenciómetros dispuestos de forma perpendicular entre sí y un pulsador. Así, produce las siguientes salidas:
- Un valor analógico que oscila entre 0 y 1023 y que corresponde a la posición horizontal (conocida como la coordenada X)
- Un valor analógico que oscila entre 0 y 1023 y que corresponde a la posición vertical (conocida como la coordenada Y)
- Un valor digital del pulsador (ya sea HIGH o LOW)
Por lo tanto:
- Dos valores analógicos pueden combinarse para formar coordenadas 2D
- El centro de las coordenadas es la posición de reposo del joystick
- Un código de prueba (presentado en la siguiente sección) puede determinar la dirección real de las coordenadas
Algunas aplicaciones pueden usar las tres salidas, mientras que otras pueden usar solo un subconjunto de ellas.
ESP8266 y joystick
Como el ESP8266 solo tiene un pin de entrada analógica y el joystick necesita dos, hay dos formas de abordar esto:
- Módulo Analógico a Digital:
- Puedes añadir un dispositivo externo llamado Convertidor Analógico a Digital (ADC), como el Módulo ADS1115 ADC.
- Este práctico dispositivo te ofrece más pines de entrada analógica, permitiéndote conectar varios dispositivos analógicos, incluido el joystick.
- Solución de Multiplexación:
- Otra opción es usar una solución de multiplexación, donde tomas turnos para leer los ejes X e Y del joystick usando ese único pin de entrada analógica.
- Esto implica alternar entre los ejes X e Y en diferentes momentos, utilizando una técnica llamada multiplexación por división de tiempo.
Sin embargo, ambas opciones pueden ser un poco caras y algo complicadas. En su lugar, recomendamos optar por el ESP32 en lugar del ESP8266. Consulta el ESP8266 - Joystick tutorial para una forma más simple y más eficaz de hacerlo.