ESP8266 - servomotor
Este tutorial te enseña cómo utilizar el ESP8266 para controlar un servomotor. En detalle, aprenderemos:
- Cómo conectar un servomotor al ESP8266
- Cómo programar el ESP8266 para controlar un servomotor
- Cómo controlar la velocidad de un servomotor usando ESP8266
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del servomotor
Un servomotor es un componente capaz de hacer girar su eje (normalmente dentro de un rango de 0 a 180 grados) para controlar la posición angular de un objeto.
Pinout del servomotor
El servomotor tiene tres pines:
- Pin VCC (usualmente rojo) debe conectarse a VCC (5V)
- Pin GND (usualmente negro o marrón) debe conectarse a GND (0V)
- Pin de señal (usualmente amarillo o naranja) que recibe la señal de control PWM desde un pin del ESP8266.

ESP8266 - Servomotor
Algunos de los pines del ESP8266 pueden programarse para generar una señal PWM. Conectar el pin de señal del servomotor a un pin del ESP8266 y programarlo para generar PWM en el mismo pin nos permite controlar el servomotor.
Gracias a la biblioteca ESP8266 Servo, controlar un servomotor es fácil. No necesitamos entender cómo funciona el servomotor o cómo generar una señal PWM. Todo lo que necesitamos hacer es aprender a usar la biblioteca.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.
A modo de simplificación, el diagrama de cableado anterior se utiliza para pruebas o fines de aprendizaje, y para un servomotor de bajo par. En realidad, recomendamos encarecidamente utilizar una fuente de alimentación externa para el servomotor. El diagrama de cableado que se muestra a continuación ilustra cómo conectar el servomotor a una fuente de alimentación externa.

This image is created using Fritzing. Click to enlarge image
Cómo programar para un servomotor
El núcleo Arduino-ESP8266 ya viene con su biblioteca de servomotores integrada, por lo que no es necesario instalarla.
- Incluir la biblioteca:
- Crear un objeto Servo:
Si tienes más de un servomotor, simplemente declara objetos Servo adicionales:
- Asignar el pin de control del ESP8266 al pin de señal del servomotor. Por ejemplo, el pin D7:
- Por último, gire el servomotor al ángulo requerido. Por ejemplo, 90°
Código ESP8266
Pasos R\u00e1pidos
Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:
- Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
- Conecta los componentes como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu computadora usando un cable USB.
- Abre Arduino IDE en tu computadora.
- Elige la placa ESP8266 correcta, como (por ejemplo NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
- Conecta tu ESP8266 al PC usando un cable USB.
- Inicia Arduino IDE, selecciona la placa y el puerto correctos.
- Copia el código proporcionado y ábrelo en el Arduino IDE.
- Haz clic en el botón Subir en el Arduino IDE para compilar y cargar el código al ESP8266.

- Mira el resultado: el servomotor se mueve en sentido horario y antihorario.
Explicación del código
¡Consulta la explicación línea por línea que se encuentra en los comentarios del código fuente!
Cómo controlar la velocidad de un servomotor
Utilizando las funciones map() y millis(), podemos regular la velocidad del servomotor de forma suave sin entorpecer el resto del código.
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.