//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///// PROGRAMA CONTROL REGO XARDÍN con interruptor accionamento e sensor de humidade do chan ////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /*Neste programa controlaremos o funcionamento da bomba de rego do xardín en función dun sensor de humidade do chan que nos informará se está seco ou húmido, e o funcionamento dun motor paso a paso que recollería o toldo exterior controlado cun sensor de choiva e un final de carreira que indica se está totalmente recollido*/ //definición dos pins de arduino que conectamos ós sensores const int pinsensorhumidadechanxardin = 22; //Conectamos o pin dixital deste sensor. Se quixésemos empregar o analóxico teríamos que modificar no loop a lectura const int pininterruptoraccionamento = 23; //Conectamos o pin dixital deste sensor. Se quixésemos empregar o analóxico teríamos que modificar no loop a lectura //definición dos valores dos sensores como enteiros int valor1=0; int valor2=0; //definición do pin de arduino que conectamos á electroválvula de auga //en realidade non conectamos a electroválvula directamente ó arduino, senón que o facemos a través do contacto NO de cadanseu relé const int pinelectrovalvularego = 7; // Declaramos o bucle de inicio do programa void setup() { Serial.begin(9600); //inicializamos o porto serie pinMode(pinsensorhumidadechanxardin, INPUT_PULLUP); //definimos o pin do sensor de humidade do chan do xardín como entrada pinMode(pininterruptoraccionamento, INPUT_PULLUP); //definimos o pin do interruptor de accionamento como entrada //declaramos o pin da electroválvula de rego como saída pinMode(pinelectrovalvularego, OUTPUT); } // Inicializamos o bucle de traballo void loop(){ // Comprobamos o valor de humidade do chan no xardín. Se está seco regamos, e se está húmido non regamos valor1 = digitalRead(pinsensorhumidadechanxardin); //lectura digital do pin do sensor de humidade do chan // O sistema só funcionará de maneira autónoma se activamos o interruptor de accionamento do sistema automático valor2 = digitalRead(pininterruptoraccionamento); //lectura digital do pin do interruptor de accionamento //mandamos unha mensaxe ó porto serie en función do valor lido if ((valor1 == HIGH)&& (valor2 == HIGH)) { Serial.println("O xardin esta seco, temos que regalo"); //Activamos a electroválvula de rego digitalWrite(pinelectrovalvularego, HIGH); delay(1000); // mantémola encendida un segundo } else if ((valor1 == LOW)&& (valor2 == HIGH)){ Serial.println("O xardin esta humido, non fai falla regar"); digitalWrite(pinelectrovalvularego, LOW); } else if (valor2 == LOW) { Serial.println("O sistema está deshabilitado"); digitalWrite(pinelectrovalvularego, LOW); } // Repetimos 1 vez por segundo (cada 1000ms) delay(1000); }