Cultivo Autónomo.

surbyte:
No es un Yun hiddennotebook, es un módulo que le da capacidades WIFI a tu arduino, pero el YUN lo tiene incorporado.
Esto es un YUN...

Tienes toda la razón osea que un yun ya tiene el microcontrolador y todo en la misma placa si entendí bien verdad.

surbyte:
Hiddennotebook

Yo no recomiendo el uso de un TIP120 o un darlington para comandar nada hoy en dia, teniendo los MOSFET que existen con precio accesible y capacidades de corriente y tensión de todo tipo.
Los comandas sin corriente de parte (lo que consumen es despreciable) del pin arduino y salvo que lo lleves al extremo no requieren disipadores.

Un IRF530 por ejemplo es un caballito de batalla para tensiones de 12 a 24VDC manejando corrientes como las aqui mencionadas.

El motor que uso según el vendedor trabaja a 3.3V y 12V ya es mucho no? tienes fichado alguno de ese voltaje?

De todas formas esta bomba es para hacer pruebas me estoy familiarizando con todo un poco. Aun no se si poner una bomba de estas pequeñas a cada maceta o usar una mas potente lo malo de usar una grande para todo es que requiere de válvulas, para controlar el flujo yo creo que sale mas económico con una bomba pequeña para cada maceta.

Javi89:
Hola, me parece muy interesante tu proyecto y prácticamente me he leído todos los post, viendo el problema que tienes con la bomba yo pasaría directamente del TIP120 ya que es un transistor demasiado grande para la tension y corriente que le haces pasar, si te fijas en el datasheet este TR es un conjunto de dos transistores en modo darlintong, con lo que implica que el solo se está comiendo alrededor de 1,2 v de colector a emisor patas 2 y 3, si tienes tester compruébalo. Con lo que al motor solo le llegan 2V aprox. Al estar trabajando a una tensión inferior a la tensión nominal puede ser que te esté consumiendo más corriente de la que debería y eso hace que puedas tener "ruido" en la linea de alimentación y te haga cosas raras.
Yo pasaría directamente al modulo que tienes de relés porque el no se quedará nada de tension entre sus bornes, así no tendrás problemas, lo único a tener en cuenta es que lo alimente externamente si vas a utilizar varios.
Ya nos dirás que tal te funcionó si lo pruebas

De momento voy a probar con relé a ver como sale la cosa, Muchas gracias!! por aclararme lo del ruido porque no tenia ni idea.

Mi consejo que hagas lo mismo que sugieres con el darlington usando MOSFETs.

Al menos para mi gusto no hay como los MOSFET, son fáciles de comandar y no requieren casi ninguna consideración. Te permiten manejar mayores potencias que los Darlington sin necesidad de disipadores.
En tu caso un IRF510 (5.4A) o 530 (14A) será mas que suficiente. Cuestan mas o menos lo mismo.
Solo usas un resistor entre Gate y GND de 10k y nada mas. Hasta puedes prescindir de el.

Otra cosa hidden.
Cuando usas motores nunca los conectes desde el arduino.
Terminantemente prohibido

Gracias surbyte de eso sí me acuerdo sólo entrega 40ma por cada pin un motor consume mas. Seguiré tu consejo tengo la tienda de electrónica al lado de casa pasaré a por un IRF510 y a probar. Estoy aprendiendo muchas cosas muchas gracias y seguimos en contacto.

Momento no había leido que tu motor trabaja en 3.3V. Si lo alimentas con 12VDC entonces la unica solución posible es que uses PWM y abra que calcular que ancho de pulso darle para que su valor medio sea 3.3V
Hagamos dos o tres cuentas simples.
Un 100% son 12V
un 50% son 6V
un 25% serán 3V de modo que por ahi estamos
Una PWM con un 25% de ciclo de trabajo nos da 3VDC.

Asi que ahi tienes
Si 255 es 100%
128 es 50%
64 es 25%

un analogWrite(pin, 64); usando un MOSFET con el motor de 3.3V conectado entre 12VDC y el DRAIN del MOSFET hara que trabaje a FULL
De ningun modo pasarse de 64 o vas a hacerlo girar demasiado y si te pasas en exceso se quemará.
Si tienes una alimentación de 5V yo la usaría en lugar de los 12VDC que sugieres.

con un mosfet IRF510 o menor, tal vez alcance con un 2n7000 que entrega 1A. No creo que el motor consuma tanta corriente.

para alimentar el motor y a todo el proyecto usare la fuente de alimentación ATX puedo sacar 12V, 5V y 3.3V de los cables que tiene por eso la usare porque es muy versátil.

He comprado el irf510N esta tarde en cuanto llegue lo probamos :wink:

Entonces si tu motor es 3.3 y tu fuente entrega esas tensiones usa al menos 5V y bueno no lo ponemos a full
y usamos una instruccion como map para asegurarnos de no pasarnos y quemar el motor.

Ya verás que facil.

En Open Grow tienen un cerebro al que conectar Arduino y controlar todas las salidas desde el software que ofrecen.

Han abierto concurso en Hack a Day para apoyar el proyecto Open Source.

Proyecto Hack a Day

Aqui tienen una página para recaudar fondos para comprar placas para desarrolladores y que salgan mucho mas baratas:

Proyecto Open Source

Aquí va una imagen que he sacado de la web donde hablan de como controlar varios Arduino desde su plaga y software:

Acabo de ver un tutorial con recomendaciones para configuraciones de cultivo:

Múltiples configuraciones

En los esquemas muestran como se conectan a los módulos que tienen, pero esas mismas conexiones pueden hacerse al Arduino y pasar el control desde el cerebro (GroNode).

Pongo aquí unas cuantas imágenes:

He mirado los enlaces que has puesto y alomejor se me ha pasado ,pero no he visto por ningun sitio enlaces para descargar el software del que hablan,diseños de las placas,los ficheros para poder imprimir en 3d esas carcasas tan chulas,por que al fin y al cabo eso es lo que yo entiendo por open source y no una empresa que tiene un producto y necesita capital para producirlo ,lo cual me parece perfecto,pero no lo llamemos open source....

Muy bonito pero el primero que he visto

De: € 269,80 Para: € 686,85 € 372,40

No es muy opensource o que he visto mal?

Tal vez haya que anotarse como colaborador.

Hola gente surbyte que tal estas compañero!!

Esta semana he estado muy liado y casi no he podido tocar el proyecto hasta hoy mismo de momento sigo con la bomba.

He probado relés como aconsejo un compañero pero aun con relé y todo el motor hace un poco de interferencia con el LCD esta vez solo sube hasta el 4%.

Tendré que esperar a que vengan mis compras para probar con el mosfet que me dijo surbyte.

No uso ningún pin del LCD para otro sensor. No debería tener problemas pero seguro que lo arreglare.

De momento tengo el botón de encendido controlado por un único arduino ya solo uso el MEGA.

Comparto el trabajo que hice con los relés para activar una bomba de agua:

/*
Sketch para lectura de humedad del suelo y riego autonomo 06/06/2015
Version del sketch: 2.2 (Con Arduino MEGA)

Agradecimientos en especial por su gran ayuda a: 

- surbyte, del foro http://forum.arduino.cc por sus multiples aportaciones
- noter, Por hacer posible el uso correcto del LCD

  Este sketch lee una entrada analogica en el pin 15 (A15)
  e imprime el resultado. Usaremos el medidor de humedad 
  en suelo FC-28, un reloj RTC DS3231N y Un LCD shield.
 
 Este sketch es Libre para mejorar y compartir! Se prohibe su uso con fines comerciales.
 */
 
#include <LiquidCrystal.h>  // Libreria para LCD
#include <Wire.h>           // Libreria comunicacion I2C
#include "RTClib.h"         // Libreria RTC

  // Relay:
  #define RELAY_ON 0
  #define RELAY_OFF 1
  #define RELAY_1 30
  // END relay.
  
  LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Asigniacion de pines para LCD Keypad Shield.
  RTC_DS1307 RTC;                     // Creamos objeto reloj RTC.
  bool PowerON = false;              // Variable booleana para el encendido.
  int sensorHumedad;                // Variable para SoilSensor.
  int histeresis = 5;              // Margen de riego.
  const int bomba = 53;           // Defino el pin de la mini bomba de agua.
  // Array para mostrar los dias de la semana gracias a surbyte. 
  const char* diaDeSemana[7]= {"Domingo", "Lunes", "Martes", "Miercol","Jueves", "Viernes", "Sabado"};

  
// Configuracion:
void setup() 
{
     // Power ON/OFF ATX:
     pinMode(24,OUTPUT);        // Para usar un LED de encendido.
     pinMode(23, OUTPUT);       // Para encender la fuente con un LOW.
     digitalWrite(23, HIGH);    // Inicia la Fuente apagada.
     pinMode(22, INPUT_PULLUP); // Para leer el boton.
     // END power ON/OFF ATX.
     
     // Relay:
     pinMode(RELAY_1, OUTPUT);
     // END Relay.
     
  pinMode(bomba, OUTPUT);    // Pin 2 bomba como salida.
  digitalWrite(bomba, LOW); // Iniciamos con la bomba apagada.
  Wire.begin();            // Inicia el puerto I2C.
  RTC.begin();            // Inicia la comunicacion con el RTC.
  lcd.begin(16, 2);      // Inicia LCD 16X2.
  lcd.clear();          // Limpiamos la pantalla.
  // Establece la fecha y hora, Comentar una vez establecida la hora!! Descomentar para establecer hora.
  // RTC.adjust(DateTime(2015,05,19, 12,03,00));
} // Cerramos la llave de la configuracion.

// Funciones
void loop() // Esta funcion se mantiene en bucle...
{
   // Power ON OFF ATX:
   bool boton = digitalRead(22);
   
   if (boton == LOW)
  {
     digitalWrite(23, PowerON);   // Como el pin va invertido, lo establecemos antes de cambiar el estado.
     PowerON = ! PowerON ;        // Ivertimos el estatus de la fuente.
     digitalWrite(24, PowerON);   // Encender o apagar el LED.
     delay(250);                  // Retardo para evitar rebotes del boton.
  }
  // END power ON OF ATX.

  sensorHumedad = analogRead(A15); // Leemos la entrada analogica pin A15:
  sensorHumedad = map (sensorHumedad, 0, 1023, 100, 0); // Mapeamos el valor del sensor de 0 a 100.
  
  DateTime now = RTC.now();  // Obtiene la fecha y hora del RTC.
  lcd.setCursor(0, 0);       // Cursor en fila 1 posicion 1.
  char myBuffer[16];         // Creamos myBuffer para mostrar bien los dijitos del 1 al 9. 
  sprintf(myBuffer, "%02d:%02d:%02d", now.hour(), now.minute(), now.second()); 
  lcd.print(myBuffer);       // Muestra la hora, minutos y segundos.
  lcd.setCursor(9, 0);       // Cursor en fila 1 posicion 12.
  lcd.print(diaDeSemana[now.dayOfWeek()]); // Muestra dia de la semana. 

  lcd.setCursor(0, 1);       // Cursor en fila 2 posicion 1.
  lcd.print("Humedad ");     // Muestra (humedad) por LCD.
  lcd.print(sensorHumedad);  // Muestra valor leido de humedad.
  lcd.print("% ");           // Muestra Signo de %
  
  delay(250); // Retardo entre lecturas para dar estabilidad.
 
  if (sensorHumedad < 85)
  {
      digitalWrite(RELAY_1, RELAY_ON);
  }
  if (sensorHumedad > (85 + histeresis))
  {
      digitalWrite(RELAY_1, RELAY_OFF);
  } //Cerramos la llave del if.
} // Cerramos la llave del bucle y vuelve arriba.

Vídeo de cultivo autónomo prueba 6

Vídeo de cultivo autónomo prueba 7

podrías poner un esquema de como tienes todo montado? sensores, lcd, alimentaciones...

Si que voy a poner esquema en cuanto tenga tiempo y ademas este todo un poco mas seguro porque ahora estoy haciendo modificaciones a cada momento asi que en cuanto tenga algo d¡fijo lo pondré.

surbyte:
Muy bonito pero el primero que he visto

De: € 269,80 Para: € 686,85 € 372,40

No es muy opensource o que he visto mal?

Tal vez haya que anotarse como colaborador.

Nono, una cosa son los productos que tienen en la web con los que forman kits. Por eso pone "De: € 269,80 Para: € 686,85" porque puedes configurarlo y te sale el minimo y el máximo.

El tema es que es Open Source porque van a dar los esquemáticos de todos los módulos que se conectan al cerebro, es posible conectar tu arduino al cerebro y controlarlo desde la aplicación, etc...

Realmente hablan más de ello en Hack a Day, pero está en inglés.

https://hackaday.io/project/5921-grobots-opengrow

O aquí que tratan el tema de Arduino:

http://www.opengrow.pt/index.php/userbot/?___store=es

Realmente lo único que hace falta para conectar los arduinos es esta unidad:

http://www.opengrow.pt/index.php/gronode.html?___store=es

Yo no veo un solo esquema ni firmware ni software, será que aun no los publican?

surbyte:
Yo no veo un solo esquema ni firmware ni software, será que aun no los publican?

Por lo visto están a la espera del apoyo de la gente para abrir temas de esquemas y firmware.

Yo que he reservado el GroNode me he asegurado que me pasarían el código necesario para conectar mis arduinos.

Me contestaron diciendo que sin problema tendré el código y que puedo conectar hasta 4 Arduinos con configuración libre y si quiero puedo emular los bots ya existentes con arduinos, lo que darían otros 16 más.

Vamos, que si nos liamos a conectar cosas podríamos controlar el tráfico de Madrid jajajajaj.

O sea que hay que colaborar para recibir el código?
Yo creo que deberías abrir otro hilo para no desvirtuar este.
Esta bueno el tema o que lo decida Hiddennotebook, si para el es constructivo, seguirmos.

Ya lo conozco y no es el único hay mas tambien, pero ninguno hace lo que yo quiero, que fertilize y controle el PH entre otras cosas.

Pero mi objetivo es hacerlo desde 0 y de paso aprender y que cualquiera pueda hacerlo bien barato y espero que sea único, tengo el apoyo de muchos cultivadores experimentados así que creo que el mío al final será mejor por la experiencia de los que me van a ayudar sin olvidar mi propia experiencia vamos que quiero hacerlo a mi gusto completamente sobre todo la web para manejarlo y ver datos.

Yo no voy a comprar nada seguiré con mi cultivo adelante hasta que este perfecto de momento voy probando cosas pero de Arduino o electrónica no voy a salir porque lo que quiero es aprender no pagar para que me lo den hecho.

Gracias por las ideas y comentarios todo es bienvenido en mi hilo seguro que estas cosas le molestan al que venga leyendo todo el post pero a mi me da igual jajajaja quien sabe lo mismo a alguien le interesa, un saludo a todos.

Bien. Veamos que podemos extraer y que pueda servir a tu proyecto para hacerlo aun mejor.

Estare atento a ver como solucionas el tema del PH para un futuro acuario....para fertilizar supongo que tambien necesitaras un sensor de ec??