Garduino: Jardinería + Arduino (11 / 14 paso)

Paso 11: Dar Garduino Control

Ahora que ya tienes todo lo construido, es hora de dejar que Garduino a tus amigos de la planta. Aquí está el código que usé:

incluir la biblioteca de datetime, por lo que nuestro garduino puede realizar un seguimiento de cuánto tiempo las luces estén encendidas
#include < DateTime.h >

definir entradas analógicas al que hemos conectado nuestros sensores
int moistureSensor = 0;
lightSensor int = 1;
int tempSensor = 2;

definir salidas digitales a los que tenemos conexió nuestros relés (agua y luz) y LED (temperatura)
bomba de agua int = 7;
lightSwitch int = 8;
int tempLed = 2;

definir las variables para almacenar valores de temperatura, humedad y luz
int moisture_val;
int light_val;
int temp_val;

decidir cuántas horas de luz las plantas deben recibir diariamente
Float hours_light_daily_desired = 14;

calcular horas de luz diaria total y complementaria basada en por encima de valores deseado
Float proportion_to_light = hours_light_daily_desired / 24;
Float seconds_light = 0;
Float proportion_lit;

configurar una variable para almacenar a segundos desde arduino conectado
flotador start_time;
Float seconds_elapsed;
Float seconds_elapsed_total;
Float seconds_for_this_cycle;

void setup() {}
abrir puerto serie
Serial.Begin(9600);
establecer el agua, luz y pins de temperatura como salidas que se dan vuelta apagado
pinMode (bomba de agua, salida);
pinMode (lightSwitch, salida);
pinMode (tempLed, salida);
digitalWrite (bomba de agua, baja);
digitalWrite (lightSwitch, LOW);
digitalWrite (tempLed, baja);

establecer hora de inicio
start_time = DateTime.now();
seconds_elapsed_total = 0;

}
void loop() {}
leer el valor de las sondas sensoras de humedad, imprimir la pantalla y esperar un segundo
moisture_val = analogRead(moistureSensor);
Serial.Print ("humedad sensor Lee");
Serial.println (moisture_val);
Delay(1000);
leer el valor del fotosensor, imprimir la pantalla y esperar un segundo
light_val = analogRead(lightSensor);
Serial.Print ("lecturas del sensor de luz");
Serial.println (light_val);
Delay(1000);
leer el valor del sensor de temperatura, imprimir la pantalla y esperar un segundo
temp_val = analogRead(tempSensor);
Serial.Print ("lecturas del sensor de temperatura");
Serial.println (temp_val);
Delay(1000);
Serial.Print ("total de segundos =");
Serial.println (seconds_elapsed_total);
Delay(1000);
Serial.Print ("segundos encendidos =");
Serial.println (seconds_light);
Delay(1000);
Serial.Print ("proporción deseada =");
Serial.println (proportion_to_light);
Delay(1000);
Serial.Print ("proporción alcanzada =");
Serial.println (proportion_lit);
Delay(1000);

convertir el agua en el suelo esté seco y hasta el suelo es húmedo
Si (moisture_val < 850)
{
digitalWrite (bomba de agua, alta);
}

mientras (moisture_val < 850)
{
Delay(10000);
Gracias a JoshTW por la corrección siguiente, importante
moisture_val = analogRead(moistureSensor);
}

digitalWrite (bomba de agua, baja);

actualizar hora e incremento seconds_light si las luces están en
seconds_for_this_cycle = DateTime.now() - seconds_elapsed_total;
seconds_elapsed_total = DateTime.now() - start_time;
Si (light_val > 900)
{
seconds_light = seconds_light + seconds_for_this_cycle;
}

días nublados que soleados vuelvan: apagar luces de atrás si light_val supera los 900. Esto funciona b y c las luces suplementarias no son tan brillantes como el sol:)
Si (light_val > 900)
{
digitalWrite (lightSwitch, LOW);
}

Apagar las luces si proportion_lit > proportion_to_light, y espere 5 minutos
Si (proportion_lit > proportion_to_light)
{
digitalWrite (lightSwitch, LOW);
retardo (300000);
}

averiguar qué proporción de las luces del tiempo han sido en
proportion_lit = seconds_light/seconds_elapsed_total;

encender la luz si light_val es menos de 900 y las plantas tienen luz menos deseada proporción de tiempo, esperan 10 segundos
Si (light_val < 900 y proportion_lit < proportion_to_light)
{
digitalWrite (lightSwitch, HIGH);
Delay(10000);
}

encender la luz de temp alarm si temp_val es menos de 850 (aproximadamente 50 grados Fahrenheit)
Si (temp_val < 850)
{
digitalWrite (tempLed, alto);
}

}

Tenga en cuenta la inclusión de la biblioteca de datetime, que se puede instalar desde aquí. Colocar el contenido del archivo en el directorio de bibliotecas de la carpeta de arduino y usted debe ser bueno para ir.  Consulte el archivo Léame en la descarga si tiene problemas.

Monitoreo debe ser mejorado, como Garduino debe quedar sentado sin hacer nada la mayoría del tiempo cuando está funcionando correctamente. Podrás tirar de los sensores de humedad del suelo y hacer que encienda dentro de algunos segundos (aire = 0 conductividad entre ellos), pero usted no puede hacer esto con el sensor de luz: sólo está tratando de encender durante 16 horas cada 24 horas. En la actualidad, conectar tu Arduino al ordenador y luego monitoreo del puerto serie le dará cierta retroalimentación significativa. Pero esto es reiniciar el contador de tiempo 0, para que no te los datos históricos útiles a menos que deje la Garduino con un ordenador conectado durante el período que desea supervisar...

Artículos Relacionados

Hojas de luz: Un Monitor de jardín de interior

Hojas de luz: Un Monitor de jardín de interior

¿Alguna vez luchó por mantener viva una planta? ¿Deseado que tu planta podría decirle si necesita ser regado o acercado un poco a la ventana? Construir una hoja de luz para tus plantas de interior para ayudar a decir si están recibiendo suficiente lu
Sistema automatizado de Garduino de jardinería

Sistema automatizado de Garduino de jardinería

este instructable es una guía para la creación de un sistema automatizado de jardinería utilizando un arduino y otros componentes electrónicos baratos.  Permite sostenible jardinería utilizando sensores para determinar la humedad del suelo, así como
Resistente a la intemperie arduino

Resistente a la intemperie arduino

Tengo un sistema de riego de jardines de arduino controlado (cuyos detalles se publicarán en un futuro instructable).Sus requisitos son:Barato, fácil de encontrar piezas.Prueba del tiempo de verano. Debe abordar el sol, lluvia, viento, granizo, etc..
Sistema de cuidado de la planta asistida por ordenador

Sistema de cuidado de la planta asistida por ordenador

Hola a todos,Actualización 25/10/2014: Planterbot-la-planta-monitoreo-Robot / (gracias a appleman123987!!!!!!).se trata de una actualización de mi anterior post, "fácil y barato auto crece sistema" - que no tienen el equipo en el todo (Lea tambi
Módulo de detección de medidor humedad suelo para Arduino jardinería

Módulo de detección de medidor humedad suelo para Arduino jardinería

Hola chicos,Han creado el programa sensor de suelo detectado utilizando arduino que ayuda a determinar la condición del suelo antes de plantar y regar las plantas.La esperanza de que se ha ayudado con esto instructable.saludosPaso 1: Usando arduino U
Garduino actualización, ahora con Twitter más!

Garduino actualización, ahora con Twitter más!

Hace unos meses me encontré con dos grandes instructables.  El primero fue el Garduino, un jardín de arduino controlado para ayudar a crecer las plantas en casa.  El segundo fue el Tweet-a-Watt, un proyecto que enseña a controlar su consumo de energí
Jardinería Aruduino

Jardinería Aruduino

el objetivo de este proyecto era construir una configuración automatizada de jardinería de Arduino.  I establecer la temperatura, luz y sensores de humedad del suelo.  También tiene un solenoide que abre cuando la humedad del suelo desciende por deba
El brazo de la planta - actualización Garduino

El brazo de la planta - actualización Garduino

Hola a todos,Actualización: la base del brazo de plantaYo finalmente termine mi actualización de brazo de planta garduino y no puedo esperar para compartir con la comunidad..! para ponerse al día con mi trabajo, por favor lea primero el artículo prin
Properduino - cuando un ingeniero jardines - parte 1 - Propergator Le sistema de riego

Properduino - cuando un ingeniero jardines - parte 1 - Propergator Le sistema de riego

ADVERTENCIA!Lo que es como tiene un contrato de arrendamiento no mal y tengo manchas de agua como en la imagen siguienteBonjour! =]Arduino para PropergatorsSE TRATA DE UN TRABAJO EN PROGRESO!!! Así sí su pulido probablemente no todavía y tiene dificu
Caja mágica de jardinera flotante

Caja mágica de jardinera flotante

Esta articulación luz plantador era una mezcla de ideas. Yo quería algunas plantas más para mi escritorio y no quería comprar una jardinera normal - no, por supuesto; Había que hacer una. Pero sólo lo que uno no era suficiente, tenía que tener algo e
PHloat2 DIY agua ácida prueba escultura y kit con arduino

PHloat2 DIY agua ácida prueba escultura y kit con arduino

pHloatpHloat es un kit de bricolaje para uso junto con un microcontrolador arduino seminuevo / preexistente. Su propósito es poner a prueba los niveles de pH en ríos, lagos y arroyos debido a la afluencia de aire y agua contaminación causada a menudo
Arduino FightStick

Arduino FightStick

Saludos y Bienvenidos a mi tutorial sobre la creación de un fightstick utilizando Arduino.Este proyecto es un fightstick creada principalmente para el uso con PC y PlayStation 3 y fue hecho para mi curso de prototipado rápido en la Universidad de Wes
Un viaje de Palma Arduino Kit

Un viaje de Palma Arduino Kit

debía este instructable para mi fan Palm Arduino Kit!Hice mencionado en mi anterior instructable "Palma Arduino Kit" que construí el kit que me acompaña mientras hago el viaje.Y un camino real de mi Palm Arduino Kit sucedió! Nos hizo un viaje a
Arduino para invernadero, jardín o Growbox / actualizado Abril de 2016

Arduino para invernadero, jardín o Growbox / actualizado Abril de 2016

He estado usando chips Attiny para tareas de riego en mi jardín, pero tiene planes para construir un invernadero, un Arduino parece ser el camino a seguir ya que tiene más puertos. Sé que hay muchos 'Garduino' tipo proyectos ya, los que el estado de