// SERVO MOTOR
// O servo motor funciona bem a 5V, mas a esp32 tem no máximo
// 3,3V (funciona, mas não tão bem). O servo motor realiza
// movimentos em um ângulo de 180°C (ele trabalha com ângulos
// em graus).
// *Mudar a cor do horn do servo motor no diagram.json
// para azul (encontrar na documentação).
// BIBLIOTECA PARA SERVO MOTOR:
// Library Manager -> + -> ESP32Servo -> importar
#include <ESP32Servo.h>
// Declarando uma variável do tipo servo:
Servo servo;
int pin_servo = 32;
void setup() {
// Equivalente a fazer o pinMode para o servo motor
servo.attach(pin_servo);
// Definindo um ângulo inicial para o servo motor
servo.write(90);
Serial.begin(115200);
Serial.println("Hello, ESP32!");
}
void loop() {
// Incrementando o ângulo do servo motor gradualmente:
for(int i = 90; i <= 180; i++) {
servo.write(i);
// delay para tornar o movimento visível
delay(15);
}
// PROJETO: para simular a cancela, coloca-se um delay
// (simulando o tempo que ficaria aberta para um carro
// passar).
delay(100);
// Decrementando o ângulo do servo motor:
for(int i = 180; i >= 90; i--) {
servo.write(i);
// delay para tornar o movimento visível
delay(15);
}
}