Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-----------Primer codigo--------------------
- int sensor de humedad = 0;
- int lightSensor = 1;
- int tempSensor = 2;
- int Mayity_val;
- int light_val;
- int temp_val;
- void setup () {
- Serial.begin (9600); // abrir puerto serie
- }
- void loop () {
- control_humedad = analógicaRead (sensor de humedad); // leer el valor de las sondas de detección de humedad
- Serial.print ("lecturas del sensor de humedad");
- Serial.println (nivel_medio);
- retraso (500);
- light_val = analogRead (lightSensor); // leer el valor del fotosensor
- Serial.print ("lecturas del sensor de luz");
- Serial.println (light_val);
- retraso (500);
- temp_val = analogRead (tempSensor);
- Serial.print ("lecturas del sensor de temperatura");
- Serial.println (temp_val);
- retraso (1000);
- }
- //---------------Sensores de relés (Segundo Cogido)--------------------
- int sensor de humedad = 0;
- int lightSensor = 1;
- int tempSensor = 2;
- int Mayity_val;
- int light_val;
- int temp_val;
- void setup () {
- Serial.begin (9600); // abrir puerto serie
- }
- void loop () {
- control_humedad = analógicaRead (sensor de humedad); // leer el valor de las sondas de detección de humedad
- Serial.print ("lecturas del sensor de humedad");
- Serial.println (nivel_medio);
- retraso (500);
- light_val = analogRead (lightSensor); // leer el valor del fotosensor
- Serial.print ("lecturas del sensor de luz");
- Serial.println (light_val);
- retraso (500);
- temp_val = analogRead (tempSensor);
- Serial.print ("lecturas del sensor de temperatura");
- Serial.println (temp_val);
- retraso (1000);
- }
- //-----------------Control de Arduino (Codigo Final)-------------
- // incluir la biblioteca datetime, para que nuestro jardinero pueda hacer un seguimiento de cuánto tiempo permanecen encendidas las luces
- #include <DateTime.h>
- // definir entradas analógicas a las que hemos conectado nuestros sensores
- int tropicadorSensor = 0;
- int lightSensor = 1;
- int tempSensor = 2;
- // definir las salidas digitales a las que tenemos conectados nuestros relés (agua y luz) y LED (temperatura)
- int waterPump = 7;
- int lightSwitch = 8;
- int tempLed = 2;
- // definir variables para almacenar los valores de humedad, luz y temperatura
- int hidrog_valor;
- int light_val;
- int temp_val;
- // decide cuántas horas de luz deberían obtener tus plantas diariamente
- float hours_light_daily_desired = 14;
- // calcular las horas deseadas de luz total y suplementaria diariamente en base a los valores anteriores
- float proporción_to_light = horas_light_daily_desired / 24;
- float seconds_light = 0;
- flotar la proporción_lit;
- // configura una variable para almacenar segundos desde que arduino
- activó float start_time;
- float seconds_elapsed;
- float seconds_elapsed_total;
- float seconds_for_this_cycle;
- void setup () {
- // abrir puerto serie
- Serial.begin (9600);
- // establece los pines de agua, luz y temperatura como salidas que se desactivan
- pinMode (waterPump, OUTPUT);
- pinMode (lightSwitch, SALIDA);
- pinMode (tempLed, SALIDA);
- digitalWrite (waterPump, LOW);
- digitalWrite (lightSwitch, LOW);
- digitalWrite (tempLed, LOW);
- // establecer la hora de inicio
- start_time = DateTime.now ();
- seconds_elapsed_total = 0;
- }
- void loop () {
- // lea el valor de las sondas de detección de humedad, imprímalo en la pantalla y espere un segundo
- control_valor = analógico Leer (sensor de humedad);
- Serial.print ("lecturas del sensor de humedad");
- Serial.println (nivel_medio);
- retraso (1000);
- // lee el valor del fotosensor,
- imprímelo en la pantalla y espera un segundo light_val = analogRead (lightSensor);
- Serial.print ("lecturas del sensor de luz");
- Serial.println (light_val);
- retraso (1000);
- // lee el valor del sensor de temperatura,
- imprímelo en la pantalla y espera un segundo temp_val = analogRead (tempSensor);
- Serial.print ("lecturas del sensor de temperatura");
- Serial.println (temp_val);
- retraso (1000);
- Serial.print ("segundos en total =");
- Serial.println (seconds_elapsed_total);
- retraso (1000);
- Serial.print ("seconds lit =");
- Serial.println (seconds_light);
- retraso (1000);
- Serial.print ("proporción deseada =");
- Serial.println (proporción_a_luz);
- retraso (1000);
- Serial.print ("proporción lograda =");
- Serial.println (proporción_lit);
- retraso (1000);
- // enciende el agua cuando el suelo está seco, y demora hasta que el suelo esté húmedo
- si (hidratación_valor <850)
- {
- digitalWrite (waterPump, HIGH);
- }
- while (humedad_valor <850)
- {
- retardo (10000);
- // gracias a JoshTW por lo siguiente, correccionalidad de
- humedad_valor = analógicaRead (sensor de humedad);
- }
- digitalWrite (waterPump, LOW);
- // actualizar la hora, e incrementar seconds_light si las luces están encendidas
- seconds_for_this_cycle = DateTime.now () - seconds_elapsed_total;
- seconds_elapsed_total = DateTime.now () - start_time;
- if (light_val> 900)
- {
- seconds_light = seconds_light + seconds_for_this_cycle;
- }
- // días nublados que vuelven a hacer sol: apague las luces si light_val supera los 900. esto funciona porque las luces suplementarias no son tan brillantes como el sol :)
- if (light_val> 900)
- {
- digitalWrite (lightSwitch, LOW);
- }
- // apagar las luces si proporción_lit> proporción_a_luz, y luego esperar 5 minutos
- si (proporción_lit> proporción_a_luz)
- {
- digitalWrite (lightSwitch, LOW);
- retraso (300000);
- }
- // averiguar qué proporción de luces de tiempo han estado en
- proporcional_lit = segundos_luz / segundos_elapsed_total;
- // enciende las luces si light_val es menor que 900 y las plantas tienen luz por un tiempo menor al deseado, luego espere 10 segundos
- if (light_val <900 y Proportion_lit <Proportion_to_light)
- {
- digitalWrite (lightSwitch, HIGH);
- retraso (10000);
- }
- // enciende la luz de la alarma de temperatura si temp_val es menor que 850 (aproximadamente 50 grados Fahrenheit)
- si (temp_val <850)
- {
- digitalWrite (tempLed, HIGH);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement