#include <Servo.h>
#define SERVO_PIN 21 // ESP32 pin GIOP26 connected to servo motor
#define BUTTON_PIN 2 // ESP32 pin GIOP2 connected to button
Servo servoMotor;
int buttonState; // Trạng thái của nút nhấn
int lastButtonState = LOW; // Trạng thái của nút nhấn lần trước đó
int servoPos = 0;
void setup() {
servoMotor.attach(SERVO_PIN); // attaches the servo on ESP32 pin
pinMode(BUTTON_PIN, INPUT_PULLUP); // set button pin as input with pull-up resistor
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(BUTTON_PIN); // read button state
if (buttonState != lastButtonState && buttonState == HIGH) {
servoPos = (servoPos == 0) ? 90 : 0; // Đổi góc của servo tương ứng với trạng thái mới
servoMotor.write(servoPos); // Điều khiển servo quay đến góc mới
}
lastButtonState = buttonState; // Lưu trạng thái của nút nhấn lần trước đó
if(servoPos==0){
Serial.print("0\n");
}
if(servoPos==90){
Serial.print("90\n");
delay(100);
}
}