ESP32 - Botón - servomotor

Este tutorial te enseña cómo usar el ESP32 con un botón y un servomotor. En detalle, aprenderemos cómo hacerlo:

Ese proceso se repite.

Acerca del servomotor y del botón

Tenemos tutoriales específicos sobre el servomotor y un botón. Cada tutorial contiene información detallada y instrucciones paso a paso sobre la disposición de pines de hardware, principio de funcionamiento, conexión de cableado al ESP32, código ESP32... Obtén más información sobre ellos en los siguientes enlaces:

Diagrama de Cableado

Diagrama de cableado del servomotor con botón ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Código ESP32 - Control del servomotor con un botón

¿Por qué es necesario hacer debounce en el botón? ⇒ ver ESP32 - Tutorial de debounce de botón

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-button-servo-motor */ #include <ESP32Servo.h> #include <ezButton.h> #define BUTTON_PIN 21 // ESP32 pin GPIO21 connected to button's pin #define SERVO_PIN 26 // ESP32 pin GPIO26 connected to servo motor's pin ezButton button(BUTTON_PIN); // create ezButton object that attach to pin 7; Servo servo; // create servo object to control a servo // variables will change: int angle = 0; // the current angle of servo motor void setup() { Serial.begin(9600); // initialize serial button.setDebounceTime(50); // set debounce time to 50 milliseconds servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); } void loop() { button.loop(); // MUST call the loop() function first if (button.isPressed()) { // change angle of servo motor if (angle == 0) angle = 90; else if (angle == 90) angle = 0; // control servo motor arccoding to the angle Serial.print("The button is pressed => rotate servo to "); Serial.print(angle); Serial.println("°"); servo.write(angle); } }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Instala la librería ezButton. Consulta Cómo hacerlo
  • Haz clic en el icono de Librerías en la barra izquierda del IDE de Arduino.
  • Escribe ESP32Servo en la caja de búsqueda, luego busca la librería de servomotores de Kevin Harrington y John K. Bennett.
  • Haz clic en el botón Instalar para instalar la librería de servomotores para ESP32.
Biblioteca de servomotores para ESP32
  • Copie el código anterior y péguelo en el IDE de Arduino.
  • Compile y suba el código a la placa ESP32 haciendo clic en el botón Subir del IDE de Arduino.
  • Presione el botón varias veces.
  • Observe la rotación del servomotor.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!