Huerto e Invernadero automatizados con web de control remota

Y has visto los al menso 10 ejemplos que hay en este foro de cosas parecidas a esta? Donde? en proyectos, y solo hay que buscar.

Tambien hay en hardware y Software con preguntas relacionadas.

Si, si he leído mucho de los mensajes pero para alguien nuevo en este mundo no es fácil hacerse una imagen final de todo lo necesario. Hay muchos post que se meten con cosas especificas, sensores de humedad, comunicaciones, placas solares, etc, pero es un océano de información abrumadora.

Siguiendo con mi investigación creo que para cada estaca necesitaría lo siguiente:

  • Arduino micro +- 20E
  • Modulo inalámbrico (NRF24L01) +- 2E
  • Sensor temperatura y humedad ambiente DHT22 +- 3E
  • Sensor humedad suelo FC-28 +- 2E
  • Bateria 6000 mia 3m7v +- 6E
  • Placa solar 3w 5v +- 10E
  • Convertidor Lipo rider +- 12E

El calculo de la bateria y panel solar lo he realizado basándome en otros proyectos, no tengo nada y no puedo realizar pruebas para saber el consumo, por eso pedía ayuda.

La idea es que mida la temperatura. humedad, cada media hora y lo envié al Arduino master, Mientras este el riego encendido el se medirá cada 30 segundo, para ello desde el master notificara a los esclavos que lean cada media hora.

He intentado buscar piezas de calidad y lo mas baratas posibles (AliExpress etc) y me sale un presupuesto de unos 55E cada estaca.

hay alguna alternativa al lipo rider mas económica?, mi idea es tener unas 12 estacas medidoras y con este presupuesto se me va de precio.

He visto alternativas al Arduino micro en AliExpress por 3 - 4 E, son fiables?, funcionan?

Por ultimo como veis la parte de bateria y panel, creéis que me puede funcionar 3 días sin sol?, siento no poder dar mas información sobre consumos ya que todo se basa en teoría.

Gracias y un saludo

Te aconsejo que leas mi trabajo "Control remoto de calefacción", que es el sistema que necesitas para controlar las unidades arduino, incluso también tendrías hecho los sensores de temperatura y humedad. Te faltaría el sensor de humedad del suelo y la alimentación mediante energía solar. Te faltaría en la lista poner un router 4G.

Espero que te sirva de ayuda, si necesitas alguna información mi correo es ayudadomotica@gmail.com. No me cuesta ayudarte ya que yo también quiero hacer algo parecido para un huerto que voy a montar.

Buenas,

Siguiendo mi búsqueda para minimizar costes he encontrado 2 opciones:

  • trabajar con modulos ESP8266 wifi, como hace @jscarr2, donde me quitaría 2 piezas, el Arduino micro y el transmisor, tendría la ventaja de ser wifi pero como desventaja el alto consumo.

  • trabaja con los modelos RFM69W, que van por radiofrecuencia, en este caso también me quitaría el Arduino y el modulo de transmisión, la ventaja es el mínimo consumo.

Entiendo que para lo que los necesito me pueden servir los 2, necesito que una red de ellos se conecten con el master y cuando sea necesario el master se conecte con ellos para recibir información.

Alguna idea para sustituir el Convertidor Lipo rider por algo mas económico?, es la único pieza que dispara un poco el presupuesto

Un saludo y gracias

Me apunto, estoy haciendo justo un proyecto muy similar. Has mirado a usar node mcu, es muy similar a arduino y permite conexión wifi

mavicente: Has mirado a usar node mcu, es muy similar a arduino y permite conexión wifi

Te respondo con esta respuesta del propio autor del hilo

  1. trabajar con modulos ESP8266 wifi, como hace @jscarr2, donde me quitaría 2 piezas, el Arduino micro y el transmisor, tendría la ventaja de ser wifi pero como desventaja el alto consumo.

O sea.. va a atrabajar con nodemcu.

Me quedo por aquí para ver cómo progresa el proyecto... estoy interesado en algo similar...

surbyte: Te respondo con esta respuesta del propio autor del hilo

Perdón no lo había visto.

Buenas,

Efectivamente he descartado el uso de wifi por el alto consumo, quiero que el proyecto sea lo mas barato posible y una buena parte se va a ir en placas solares y baterías. Trabajare con modulo RFM69W

Para ir empezando me he centrado en lo que mas urgente me es, poder abrir y cerrar la ventana del invernadero dependiendo de la humedad y la temperatura. He comprado las siguientes piezas y estoy a la espera de que me lleguen:

  • Arduino uno
  • Motor paso a paso (Todavia no se cual elegir)
  • Sensor DHT22
  • L293D
  • Tornillo roscado de impresoras CNC
  • Potenciometro (Regular velocidad del motor)

Tengo una ventana abatible y mi idea es fijar el motor al marco superior, fijarle la varilla al eje del motor y en la parte de abajo realizar algún tipo de estructura fija que soporte la tuerca.

Cuando se quiera bajar la ventana accionare el motor y el giro de este ira enroscando la varilla dentro de la tuerca haciendo que la ventana se abra.

Cuando se quiera cerrar la ventana se realizara el proceso contrario. Dibujo muy mal pero sino se entiende podría intentar dibujarlo.

He desarrollado una primera versión del código:

// Stepper - Version: 1.1.2
#include 

// DHT - Version: Latest 
#include 

// Arduino Low Power - Version: 1.2.0
//#include 

#define STEPS 200
#define NUNVUELTAS 100
#define DHTTYPE DHT22

const int POT = A0;
const int DHTPin = 5;   
const float maxTemperature = 35 ;
const float maxHumidity = 70 ;
const int minRpm = 30 ;
const int maxRpm = 150 ;
const int openDirection = STEPS * NUNVUELTAS ;
const int closeDirection = STEPS * NUNVUELTAS * -1 ;
String stepperStatus = "" ;

DHT dht(DHTPin, DHTTYPE);
Stepper stepper(STEPS, 8, 9);

void setup() {
  Serial.begin(9600);
  Serial.println("Ventana");
  dht.begin();
}

void loop() {
// Apagamos 15 x 8 segundo, que es limite de tiempo
// for (int i = 0 ;  i  <  16 ; i++)
//   LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); 

  //Coprobamos la temperatura y humedad
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();
  
  if (isnan(temperature) || isnan(humidity)) {
    //Failed to read from DHT sensor!
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.println(" %\t");
  
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" *C ");
  
  //Lectura potenciómetro
  int potenciometer = analogRead(POT); 
  //Establecemos la velocidad
  int velocity = map(potenciometer, 0, 1023, minRpm, maxRpm); 
  
  if (isnan(velocity)) {
    //Failed to read Potencimeter
    Serial.println("Failed to read Potencimeter!");
    return;
  }
  
  Serial.print("Velocity: ");
  Serial.print(velocity);
  Serial.println(" RPM ");


  Serial.print("Posicion: ");
  Serial.println(stepperStatus);
  
  if (temperature > maxTemperature || humidity > maxHumidity) {
    if(stepperStatus != "Open") {
      Serial.println("Open Window!");
      move(velocity, openDirection);
      stepperStatus = "Open";
      delay(6000);
    }
  } else {
    if(stepperStatus != "Close") {
      Serial.println("Close Window!");
      move(velocity, closeDirection);
      stepperStatus = "Close";
      delay(6000);
    }  
  }
  Serial.println("End");
  delay(60000);
}

void move(int velocity, int direction) {
  Serial.print("Move engine: ");
  Serial.print(direction);
  Serial.println(" Direction ");
  stepper.setSpeed(velocity);
  stepper.step(direction); 
  return;
}

que tal lo veis?

Segun me vayan llegando los componentes are avanzando.

PD: Sigo buscando una alternativa barata para el convertidor Lipo rider

Buenos dias:

Mientras espero que me vengan los componentes estoy intentando ajustar al máximo el presupuesto de las estacas, he descubierto que el modulo RFM69W necesita de un Arduino, ósea que ese gasto no lo quito.

tengo en mente lo siguiente:

  • Arduino Nano pro
  • Modulo
  • Panel solar 1w 6v
  • Bateria 6000 mah
  • convertidor: Convertidor Es valido para lo que necesito?

  • Sensor DHT22

  • Sensor humedad Suelo

He calculado que con ese panel solar y quitando un 20% la bateria se podría cargar en 4,5 horas de luz solar. Como veis el dimensionamenito de la bateria, me quedo corto?

Gracias y un saludo

Has pensado usar un esp32 + LoRa??

Pues no lo he pensado por desconocimiento, la verdad que son novatillo en esto y no sabia que existían estos módulos, si he entendido bien el ESP32 es como un Arduino + comunicación Wifi + bajo consumo y que se puede programar igual que Arduino, cierto?

De esta forma puedo prescindir del Arduino y del modulo RFM69W con las ventajas de la comunicación Wifi, cierto?

Gracias

Si, se puede programar con el IDE de arduino, es muy fácil de configurar y hay muchos tutoriales. si buscas un poco por china ni llegan a 10€ y lo tienes todo ahi (los esp8266 son parecidos, son los predecesores).

Y si ves que el wifi te puede dar jaleo por alguna razón o vives a <10km monta LoRa y lo puedes ver directamente desde casa. Lo malo es que la trama de datos que puede mandar es mucho mas pequeña que la de Wifi, pero para mandar los datos de los sensores te sobra!

Pufff, que jaleo, con tanta información. El tema del wifi lo descarte por consumos, mi idea es ahorrar en la placa solar y la bateria.

Por otro lado no se que montar si un mesh network, si usar lora, si solo wifi, si comunicación bidirectional, cada vez lo veo mas complicado y con menos ejemplos en internet

Mi primera idea era:

  • 15 clientes y 1 servidor,
  • cada 15 minutos leen la temperatura y la enviar al servidor
  • cuando el servidor activa el riego comunica a los clientes que deben leer la humedad cada 10 segundos
  • cuando la humedad media alcanza la mínima detiene el riego
  • comunica a los clientes que vuelvan a enviar las lecturas cada 15 minutos

Esto me implica comunicación bidireccional, e implementar algún tipo de websocket para comunicar el servidor con los clientes.

Ahora estoy pensando esto:

  • 15 clientes y 1 servidor
  • cada 15 minutos leen la temperatura y la enviar al servidor
  • cada x tiempo pedirle al servidor la humedad mínima
  • Si la humedad esta por debajo de la mínima leer y enviar cada 10 segundos, aquí puedo devolver el estado del riego
  • cuando la humedad media alcanza la mínima detiene el riego
  • cuando el estado del riego paso a enviar cada 15 minutos

De esta forma me evito tener que implementar la comunicación del servidor con los clientes, pero tengo que implementar un nuevo endpoint para que lea la temperatura mínima. También podría darse el caso de que este leyendo cada 10 segundo y el riego no este activo

El servidor y los sensores estarán a manos de 50 metros unos de otros.

que os parece?

Te voy a dar una idea, basada en un proyecto en el que estoy trabajando.

Conectas todos los clientes que quieras por wifi y los programas para que cada 15 min te manden un string con los datos que necesites. El resto del tiempo puedes programar que se duerman... el consumo medio es de 80mA, en procesamiento <150mA y dormido unos 2.5uA.

No se que batería le quieres poner pero con una de 2000mA te da para un día entero (sin contar la energía que produce el panel)

la idea es ponerle una bateria de 6000ma, osga que tenderia para 3 días mas lo que da el panel.

Pero necesito que cuando se active el riego la medición sea mas continua para poder cortar el riego cuando llegue a la humedad deseada, con ese planteamiento en el peor de los casos podría estar regando 15 minutos de mas y el agua que tengo es de depósitos, de ahí que quiera optimizarla al máximo

Gracias

Metele un if que condicione que si esta regando se haga una lectura cada 5min ( o menos, lo que consideres) y el resto del tiempo cada 15 min. y quizas otro if para q por la noche solo te tome una lectura cada hora o cada 2h para ver temperatura y poco mas, realmente no vas a regar por la noche.

El problema es que el que riega y que lee la temperatura y humedad no son el mismo Arduino, de ahí que necesite un mecanismo para que se comuniquen y sepa que se ha activado el riego.

Tendré unas 15 estacas leyendo la humedad de diferentes partes del huerto y el servidor central será el que tenga el control de las electrovalvulas para abir y cerrar el riego.

Por otro lado para saber si es de noche o necesito un reloj + pila o sensor de luz, cierto?

Gracias

Yo utilizara un modulo de relé, q cuestan 1-2€ para activar directamente la bomba d riego, estan tirados de precio, los tienes por apenas 1€ los optoacoplados y no llega a 3€ los SSR. ( envio desde España)

Relé Optoacoplado

Relé Estado Sólido

El tema del reloj te puedes complicar lo q tu quieras... yo para lo que es, pondría algo sencillo y barato, una LDR que en función de la luminosidad te diga "si es de noche" y listo. Así te quitas de tener que programarlo y sincronizarlo con la hora real.

Por otro lado para saber si es de noche o necesito un reloj + pila o sensor de luz, cierto?

Saber si es de noche o dia se resuelve con un LDR. A mi el LDR no me gusta mucho porque tiene solo un UMBRAL que dice Me gusta el sensor de intensidad luminica BH1750 o Lux Meter. Acá tienes un link donde puedes ver el resultado del sensor ante la luz solar

|500x259

Esto te daría momento del dia en los que puedes regar ya que no hay luz solar que es lo que contradice el momento de riego, pero no es relevante.

El otro tema que se debe saber correctamente es la humedad del suelo, y si llueve por ejemplo claramente no habrá necesidad de regar.

Y si tienes muchas zonas tendras que usar algo como un nRF24L01 con un ATtiny85 por ejemplo y alguna batería que lo alimente para que los sensores smart se despierten, envien los datos (humedad y estado de bateria) al master y se pongan a dormir de nuevo para economizar batería.