Buenas tardes amigos, verán estoy haciendo mis actividades practicas de la carrera técnica en Mecatrónica básica. Aquí me encargaron un sistema de riego automatizado, la idea era que los datos se enviaran vía wifi (tengo un módulo WIFI ESP8266) no conozco como enviar datos.
Por ahora tengo mi programa que por medio de un sensor de humedad de suelo y un sensor de lluvia, este apaga cuando detecta lluvia, y si baja a menos de 30 la humedad del suelo se apaga la bomba de agua (la bomba es de 1/2 Hp, modelo BOAP-1/2P) el programa el valor de la luz por medio de una foto-resistencia…
Materiales:
-Tarjeta arduino UNO
-1 relé
-1 foto-resistencia
-3 sensores de humedad de suelo
-1 sensor de lluvia
-1 modulo wifi
*Mi duda es como hago que el valor de apagado y encendido de la bomba diga “si la humedad está de 33-25 no arranca, si la humedad es menos de 25 apagada”, quiero que me dé rango, ya que creo puede reducirse la vida útil del relé y la bomba encendiendo y apagando variando en 30,29,31… llevo un mes con el proyecto
*Otra duda, cómo unir los otros 2 sensores de H al programa dándome un valor general de los 3
*Otra duda, es como envio los datos vía wifi.
Les dejo el programa:
int luzValue = 0;
int lluvValue = 0;
int humeValue = 0;
int lluvia;
int luz;
int humedad;
int regarPin = 2;
int sensorHumedad = A5;
int sensorLuz = A4;
int sensorLluvia = A3;
void setup() {
pinMode(regarPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
luzValue = analogRead(sensorLuz);
lluvValue = analogRead(sensorLluvia);
humeValue = analogRead(sensorHumedad);
delay(2000);
// ----------------------------------------------------
// Imprimir valores
// ----------------------------------------------------
lluvia = (100 * lluvValue * 100.0) / 1024;
Serial.print(“Lluvia:”);
Serial.print(lluvia);
Serial.println("&");
luz = (100.0 * luzValue) / 1024;
Serial.print(“Luz:”);
Serial.print(luz);
Serial.println("%");
humedad = (100.0 * humeValue) / 1024;
Serial.print(“Humedad:”);
Serial.println(humedad);
Serial.println("=======================================================================");
// ----------------------------------------------------
//Checar si riega
// ----------------------------------------------------
if(lluvia <= 100){
digitalWrite(lluvia,LOW);
digitalWrite(regarPin,LOW);
Serial.println(“NO ESTA LLOVIENDO, DEBE REGAR”);
}
else{
digitalWrite(lluvia,HIGH);
digitalWrite(regarPin,HIGH);
Serial.println(“ESTA LLOVIENDO, NO DEBE REGAR”);}
if(humedad <=30){
digitalWrite(regarPin,HIGH);
Serial.println(“NO DEBE REGAR”);
}
}
//Programa hecho por Asael Fernández Sánchez