Ejemplo 2

Uso de un joystic en el ESP32

Descripci贸n

En el siguiente ejemplo se conecta un joystick para prender a la placa ESP32. El firmware descargado en la placa imprime en el monitor serial las coordenadas x, y y z (valor digital que indica si el joystic fue presionado o no).

Componentes

La siguiente tabla muestra los componentes principales del circuito a montar:

ComponentesCantidadObservaciones

ESP32

1

Joystick Module (Elegoo)

1

Tambien se puede emplear el KY-023 Joystick module (Landzo) el cual se encuentra disponible en el laboratorio

Conexi贸n

La conexi贸n entre el joystick se muestra en la siguiente tabla:

ESP32DTH11

GND

GND (pin 1 - izquierda)

3.3

+5 (pin 2)

P2

VRx (pin 3)

P4

VRy (pin 4)

P15

SW (pin 5 - derecha)

Esquematico

La siguiente figura muestra el esquematico:

Conexi贸n

A continuaci贸n se muestra la conexi贸n entre los componentes:

Archivo Fritzing

Programa

A continuaci贸n se muestra el programa que se ejecuta en el ESP32, el cual basicamente es el mismo programa implementado para el Arduino UNO pero empleando otros pines:

/**
   Hardware Connections:

    | ESP32	| DTH11 |
    |---|---|
    |GND   |   GND (pin 1 - izquierda) |
    |3.3   |   +5 (pin 2) |
    |P2    |   VRx (pin 3) |
    |P4    |   VRy (pin 4) |
    |P15   |   SW (pin 5 - derecha) |
*/

const int pinX = 2;    //  P2 (GPIO02 - ADC11)
const int pinY = 4;    //  P4 (GPIO04 - ADC12)
const int pinSW = 15;  //  P15 (GPIO15)
int valueX = 0;        //  Analog
int valueY = 0;        //  Analog
int valueZ = 0;        //  Digital

void setup() {
  Serial.begin(9600);
}

void loop() {
  valueX = analogRead(pinX); 
  Serial.print("X:");
  Serial.print(valueX, DEC); 
  valueY = analogRead(pinY); 
  Serial.print(" | Y:"); 
  Serial.print(valueY, DEC); 
  valueZ = digitalRead(pinSW);
  Serial.print(" | Z: "); 
  Serial.println(valueZ, DEC); 
  delay(100);
}

Simulaci贸n

Para comprender el funcionamiento del programa, puede seguir el siguiente link donde hay una simulaci贸n del programa.

Last updated