Joystick analógico - javierre/nodemcu GitHub Wiki

Se trata de un Joystick con dos ejes (X e Y) controlados mediante dos potenciómetros y un pulsador en el centro del Joystick. El pulsador es digital (on/off) pero el control de los ejes es analógico, por lo que en principio sólo se podría conectar uno de los ejes a NodeMCU, al tener éste sólo una entrada analógica (salvo que añadamos algo de electrónica como aparece al final de esta entrada o incluyamos un multiplexor).

Para esta conexión el código sería:

#define X_axis A0
#define ButtonP D6

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(ButtonP, INPUT_PULLUP);
  pinMode(X_axis, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  int value=analogRead(X_axis);
  Serial.println(value);
  
  if(digitalRead(ButtonP)==LOW) Serial.println("Button Pressed!");

}

Cuando el Joystick esté en reposo nos dará una lectura cercana a 512, ya que mide entre 0 y 1023 (valores mínimos y máximo del Joystick).

Ver código

Para conectar más entradas analógicas puedes consultar este link.