ESP32 - Button - Servo Motor
This tutorial instructs you how to use ESP32 with button and servo motor. In detail, we will learn how to do:
That process is repeated.
Or you can buy the following sensor kit:
Disclosure: some of these links are affiliate links. We may earn a commission on your purchase at no extra cost to you. We appreciate it.
We have specific tutorials about servo motor and button. Each tutorial contains detailed information and step-by-step instructions about hardware pinout, working principle, wiring connection to ESP32, ESP32 code... Learn more about them at the following links:
This image is created using Fritzing. Click to enlarge image
If you're unfamiliar with how to supply power to the ESP32 and other components, you can find guidance in the following tutorial: How to Power ESP32.
Why need to debounce for the button? ⇒ see ESP32 - Button Debounce tutorial
#include <Servo.h>
#include <ezButton.h>
#define BUTTON_PIN 21
#define SERVO_PIN 26
ezButton button(BUTTON_PIN);
Servo servo;
int angle = 0;
void setup() {
Serial.begin(9600);
button.setDebounceTime(50);
servo.attach(SERVO_PIN);
servo.write(angle);
}
void loop() {
button.loop();
if (button.isPressed()) {
if (angle == 0)
angle = 90;
else if (angle == 90)
angle = 0;
Serial.print("The button is pressed => rotate servo to ");
Serial.print(angle);
Serial.println("°");
servo.write(angle);
}
}
Install ezButton library. See
How To
Click to the Libraries icon on the left bar of the Arduino IDE.
Type ServoESP32 on the search box, then look for the servo library by Jaroslav Paral. Please be aware that both version 1.1.1 and 1.1.0 are affected by bugs. Kindly choose a different version.
Click Install button to install servo motor library for ESP32.
Copy the above code and paste it to Arduino IDE.
Compile and upload code to ESP32 board by clicking Upload button on Arduino IDE
Press the button several times
See the servo motor's rotation
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.