#include
<ESP32Servo.h> // Librería necesaria para controlar servomotores con el
ESP32
Servo servoDispensador;
const int PIN_SERVO
= 18; // Pin donde se conecta la señal del servomotor
// Variables
ajustables para los grados y los tiempos
int anguloReposo = 0; //
Posición inicial (tapa cerrada)
int anguloAccion = 90; //
Posición de apertura (arrojando comida)
int tiempoEspera =
3000; // Tiempo que pasa el dispensador abierto (ms)
int tiempoPausa = 5000;
// Tiempo entre cada comida (ms)
void setup()
{
Serial.begin(115200);
delay(1000);
// Inicializar y asignar el pin del servo
en el ESP32
servoDispensador.attach(PIN_SERVO);
servoDispensador.write(anguloReposo);
// Iniciar en posición de reposo (cerrado)
Serial.println("===
DISPENSADOR DE COMIDA PARA PECES (SIMULADOR) ===");
Serial.println("Sistema
listo. Observa el movimiento y el Monitor Serie.\n");
}
void loop()
{
// 1.
Accionar el dispensador (Girando a los grados de apertura)
Serial.print("[DISPENSADOR]
Abriendo compuerta a ");
Serial.print(anguloAccion);
Serial.println("
grados... ¡Soltando comida!");
servoDispensador.write(anguloAccion);
delay(tiempoEspera);
// Tiempo que dura abierto
// 2.
Regresar a reposo (Cerrar compuerta)
Serial.print("[DISPENSADOR]
Cerrando compuerta a ");
Serial.print(anguloReposo);
Serial.println("
grados.\n");
servoDispensador.write(anguloReposo);
// 3.
Esperar al siguiente ciclo de alimentación
Serial.println("---
Esperando para la próxima ración de comida ---\n");
delay(tiempoPausa);
}
No hay comentarios:
Publicar un comentario