Go Down

Topic: Huerto e Invernadero automatizados con web de control remota (Read 2866 times) previous topic - next topic

Lagger18

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)

soket

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

Lagger18

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.

soket

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

Lagger18

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.

surbyte

Quote
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



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.





soket

Guau, no sabia que podia usar un solo micro contralor y no tener que montar un Arduino micro.

una duda, al ATtiny85 le puedo conectar 2 sensores y nRF24L01, tenia idea de montar un sensor de humedad de suelo y un  DHT22

Entiendo que con esto el consumo seria mínimo con lo cual también podría bajar la capacidad de la batería y de la placa solar.

surbyte

A ver.. mira este link (Using ATtiny85, NRF24L01+, DHT2: can't get data from DHT22) que lo busqué con tu pregunta



Veo en principio dos pines libres (PB4 y PB5) o sea que sería posible usar uno para el tema de la medicion de suelo.

soket

Buenas

Gracias por el esquema, así me puedo hacer una idea.
Ya he encargado unos cuantos componentes mas, los tiny85, el detector de luz solar, una Protoboard, los nRF24L01, 2 baterias 18650, un socket para las pilas y me han surgido unas cuantas dudas:

- Las baterias las pongo en serie o en paralelo?, según las especificaciones dan 3,7v cada una
- Las puedo cargar con un polaca solar de 6v 1w?
- Puedo utilizar  esto como controlador de carga?, donde debería conectar el tiny85?
- Que reles me recomendais Optoacoplados o estado solido?
- No se si alguien conoce sensores de humedad de suelo estancos, quiero enterrarlos unos 20cm (que es donde están las raíces de las plantas) y solo encuentro de este tipo. Son para clavar en la superficie y no me valen
- Buscando sensores veo que hay 2 tipos, unos con una pequeña plaquita  y  otros sin ella, que diferencia hay?

Solo me queda comprar estos sensores y esperar a que me llegue todo para empezar una prueba real.

Gracias a todos

surbyte

Quote
- Las baterias las pongo en serie o en paralelo?, según las especificaciones dan 3,7v cada una
Porque baterías. 1 sola batería por ATtiny85

Quote
- Las puedo cargar con un polaca solar de 6v 1w?
Con un cargador TP4056 como este



Quote
- Puedo utilizar  esto como controlador de carga?, donde debería conectar el tiny85?
No entiendo esta pregunta.

Quote
- Que reles me recomendais Optoacoplados o estado solido?
Para controlar electroválvulas 24VAC yo elijo SSR. Asi evitas problemas con las perturbaciones.
SI no lo evitas lo minimizas.

Quote
- No se si alguien conoce sensores de humedad de suelo estancos, quiero enterrarlos unos 20cm (que es donde están las raíces de las plantas) y solo encuentro de este tipo. Son para clavar en la superficie y no me valen
Los que conozco son caros. 200 euros

Quote
- Buscando sensores veo que hay 2 tipos, unos con una pequeña plaquita  y  otros sin ella, que diferencia hay?
Coloca enlaces o imagenes para poder responderte.
Usa etiquetas.

soket

Buenas,

Había pensado en poner 2 baterías para tener algo mas de energía si un día o un par de días esta nublado.
El modulo que me indicas es para cargar las baterías con un usb, pero donde van a estar puestos no tengo enchufe para poder conectar las baterías.

El modulo que indico es un controlador de carga solar, he visto el tilo pro, pero se me va de presupuesto, al igual que los sensores que indicas, los he visto por 70E unidad pero imposible poner 12 sensores de esos.


Gracias y un saludo

surbyte

Una batería y lo pones a dormir será suficiente. Claro que 2 es el doble de autonomía. Nada que discutiri.
De todos modos yo pondría funciones tales como medir la tensión de la batería de modo que sabrias cuando cambiarla ademas de la lectura del sensor correspondiente.

soket

Buenos dias,

Ya tengo unos cuantos componentes y me he puesto a programar y me han surgido las primeras dudas:

- Tengo el sensor DHT22, exactamente este: DHT22, el caso es que entiendo que lo puedo conectar directamente al Arduino sin necesidad de ponerle la resistencia, que entiendo que ya la lleva en la placa. Lo he conectado exactamente como indican aquí Conexion pero cuando intento realizar las lecturas me dice que el sensor Failed to read.

El código lo he simplificado al máximo como indica en el ejemplo


Por otro lado tengo un potenciometro conectado a un pin analógico, el cual leo su valor correctamente pero cuando intento hacer una conversión a numero de vueltas en cada loop me da un valor diferente, el código es este:

Code: [Select]

const int minRpm = 30 ;
const int maxRpm = 150;
int potenciometer = analogRead(potenciometroMotor);
Serial.print("Potenciometro:  ");
Serial.print(potenciometer);
//Establecemos la velocidad
int velocity = map(potenciometer, 0, 1023, minRpm, maxRpm);
Serial.print(", Velocidad:  ");
Serial.print(velocity);
Serial.println(" ");
return velocity;


En este caso me da velocidades distintas
Gracias y un saludo

surbyte

DHT22 => Prueba con una resistencia de 10k en el pin de datos.

Potenciometro => Como lo tienes conectado? un extremo a GND otro a VCC y el cursor al pin Analógico del arduino?

Cuando coloques un código postea todo el código. En lo posteado no se como definiste el pin potenciometroMotor ?

soket

Lo tengo conectado un pin a GND, otro a 5v y otro a una puerta analógica, creo que el problema no esta en el potenciometro porque siempre devuelve el mismo valor, creo que el problema esta en el map, y el valor de velocity se va incrementando.

El pin del potenciometro lo defino como una constante:

Code: [Select]

const int potenciometroMotor = A0;


No queria subir todo el código porque tengo muchísimas cosas programadas sin probar y no quería meter ruido con otras cosas.

Probare con la resistencia,

Esta tarde os adjunto la salida por consola

Gracias

Go Up