miércoles, 19 de agosto de 2026

CODE ACUAPONIC SYSTEM

#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