#include <ESP32Servo.h> | Importa la librería externa necesaria para que la ESP32 controle servomotores mediante señales PWM. |
Servo dispensadorServo; | Crea un objeto virtual llamado dispensadorServo para controlar físicamente el motor. |
const int pinServo = 18; | Define una constante numérica indicando que el cable de señal del servo está conectado al pin 18. |
void setup() { | Inicia el bloque de configuración inicial que se ejecuta una sola vez al encender la tarjeta. |
Serial.begin(115200); | Configura la velocidad de comunicación a 115200 baudios para ver mensajes en el Monitor Serie. |
dispensadorServo.attach(pinServo, 500, 2400); | Conecta el servo al pin 18 configurando sus pulsos mínimos y máximos en microsegundos. |
Serial.println("Sistema de alimentacion listo..."); | Imprime un mensaje en el Monitor Serie indicando que el sistema arrancó con éxito. |
void loop() { | Inicia el bloque de código principal que se repetirá en un bucle infinito de forma continua. |
Serial.println("Abriendo compuerta..."); | Muestra un aviso en pantalla informando que la compuerta está a punto de abrirse. |
dispensadorServo.write(180); | Envía la orden para que el eje del servomotor gire a 180 grados y abra el paso. |
delay(2000); | Detiene el programa por 2 segundos para permitir que el alimento caiga por gravedad. |
Serial.println("Cerrando compuerta..."); | Muestra un aviso en pantalla indicando que la compuerta se va a cerrar. |
dispensadorServo.write(0); | Envía la orden para que el servomotor regrese a 0 grados y cierre la compuerta. |
delay(2000); | Mantiene el sistema en pausa por 2 segundos para asegurar la estabilidad del cierre. |
Serial.println("Esperando próximo ciclo..."); | Imprime un mensaje indicando que el sistema entrará en su periodo de espera. |
delay(10000); | Realiza una pausa simulada de 10 segundos antes de volver a repetir todo el proceso. |
No hay comentarios:
Publicar un comentario