miércoles, 2 de septiembre de 2026

CODE ARDUINO ACUAPONIC SYSTEM

 #include <ESP32Servo.h>


Servo valvulaServo;         // Objeto para controlar el servo que hace de válvula

const int turbidezPin = 34; // Pin analógico seguro del ESP32 (GPIO 34)

const int umbralSucio = 500;// Límite para decidir si el agua está sucia (ajustable)


void setup() {

  valvulaServo.attach(13);  // Conectamos el servo al pin GPIO 13 del ESP32

  valvulaServo.write(0);    // Iniciamos con la válvula cerrada (0 grados)

  Serial.begin(9600);       // Iniciamos la comunicación para ver los datos

}


void loop() {

  // 1. Leemos cuánta suciedad hay en el agua desde el pin 34

  int nivelTurbidez = analogRead(turbidezPin);


  // 2. Mostramos el valor en la pantalla de la computadora

  Serial.print("Nivel de turbidez: ");

  Serial.println(nivelTurbidez);


  // 3. Tomamos una decisión: si supera el límite, abrimos el tanque

  if (nivelTurbidez > umbralSucio) {

    Serial.println("¡Agua turbia detectada! Vaciando tanque...");

    valvulaServo.write(90); // Abrimos la válvula girando el servo a 90 grados

    delay(5000);            // Esperamos 5 segundos a que se vacíe

  } else {

    Serial.println("El agua esta limpia. Tanque cerrado.");

    valvulaServo.write(0);  // Cerramos la válvula volviendo a 0 grados

  }


  delay(1000); // Esperamos 1 segundo antes de volver a medir

}

No hay comentarios:

Publicar un comentario