Vamos a programar un Joystick Elegoo con Micropython.
Usando el rete-conocido microcontrolador Nodemcu esp-8266 de Expressiff
Fotos y pinouts diferentes modelos esp8266 para referencia
Tomado de este excelente blog Orion Robots y adaptado al espanol para Micropython
EL diagrama basico del joystick es el siguiente.
Joystick X y Joystick Y Son dos potenciometros que envian datos analogos al mismo tiempo. Pero el esp-8266 tiene la limitacion de que solo tiene una entrada analoga (ADC(0)) Una solucion seria usar un esp-32 que tiene 15 entradas analogas disponibles, un desperdicio si solo vamos a usar dos. Ver este tutorial
Pero si el microcontrolador que tenemos es esp-8266 pues no tenemos otra opcion que dividir las entradas de cada potenciometro y registrarlas por separado, dando la impresion de que se esta leyendo la data analoga por dos entradas distintas cuando solo tenemos una disponible.
Una brillante solucion fue la que encontre en Orion Robots y funciono a la perfeccion, como mi idioma de programacion favorito es Python, y Micropython decidi hacerlo y subirlo para ustedes.
La configuracion es la misma de las figuras que estan en Orion Robots.
Elementos usados:
1-Board Nodemcu esp-8266
2-Joystick Elegoo
3-(2) transistores pnp 2n2222
4-(2) resistencias de 2k
5-Bread board
6-Jumpers varios
En mi caso la prueba se hizo con el voltaje suministrado por el USB y solo se uso 3.3v.