Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Sistema automático de riego y riego de plantas:informe de circuito, código y proyecto

Planta Automática Riego Sistema:código fuente completo, circuito e informe del proyecto:descarga en PDF

Introducción

En la operación diaria relacionada con el riego de las plantas es la práctica cultural más importante y la tarea que requiere más mano de obra. No importa el clima que sea, ya sea demasiado caliente y frío o demasiado seco y húmedo, es muy importante controlar la cantidad de agua que llega a las plantas. Por lo tanto, será efectivo usar una idea de sistema de riego automático de plantas que riega las plantas cuando lo necesitan. Un aspecto importante de este proyecto es que:“cuándo y cuánto regar”. Para reducir las actividades manuales del ser humano al riego de plantas, se adopta la idea de un sistema de riego de plantas. El método empleado para monitorear continuamente el nivel de humedad del suelo y decidir si es necesario regar o no, y cuánta agua se necesita en el suelo de la planta. Este proyecto se puede agrupar en subsistemas tales como; fuente de alimentación, relés, electroválvula, escudo Arduino GSM, sensor de humedad del suelo y LCD.

Esencialmente, el sistema está diseñado y programado de tal manera que el sensor de humedad del suelo detecta el nivel de humedad de las plantas en un momento determinado, si el nivel de humedad del sensor es menor que el valor especificado de umbral que está predefinido de acuerdo con la necesidad de agua de la planta en particular, luego se suministra la cantidad deseada de agua hasta que alcanza el valor de umbral predefinido.

El sistema informa sobre su estado actual y envía un mensaje de recordatorio sobre el riego de plantas y la adición de agua al tanque. Toda esta notificación se puede hacer usando Arduino GSM shield.

Objetivo del proyecto:

Ya que hoy en día, en la era de la tecnología avanzada y la electrónica, el estilo de vida del ser humano debe ser inteligente, más simple, más fácil y mucho más conveniente. Asi que, por lo tanto; existe la necesidad de muchos sistemas automatizados en la rutina de la vida diaria de los humanos para reducir sus actividades y trabajos diarios. Aquí es muy útil una idea de uno de estos sistemas llamado sistema automático de riego de plantas. Como muchas personas enfrentan muchos problemas para regar las plantas en el jardín, especialmente cuando están fuera de casa. Este modelo utiliza tecnologías de sensores con microcontrolador para crear un dispositivo de conmutación inteligente para ayudar a millones de personas.

En su forma más básica, el sistema está programado de tal manera que el sensor de humedad del suelo detecta el nivel de humedad de la planta en un momento determinado, si el nivel de humedad del sensor es menor que el valor especificado del umbral que está predefinido de acuerdo con la planta en particular que la cantidad deseada de agua que se suministra a la planta hasta que su nivel de humedad alcance el valor del umbral predefinido. El sistema involucra un sensor de humedad y temperatura que realiza un seguimiento de la atmósfera actual del sistema y tiene una influencia cuando ocurre el riego. La válvula solenoide controlará el flujo de agua en el sistema, cuando Arduino lee el valor del sensor de humedad, activa la válvula solenoide de acuerdo con la condición deseada. Además, el sistema informa sobre su estado actual y envía un mensaje de recordatorio sobre el riego de plantas y recibe SMS del destinatario. Toda esta notificación se puede hacer usando Arduino GSM shield.

Antecedentes del Sistema

Se ha estudiado en la escuela a partir de los libros de ciencia que las plantas son muy imprescindibles para toda la humanidad en muchos aspectos. A medida que mantienen el medio ambiente limpio al producir oxígeno fresco de vez en cuando. El sistema de riego automático de plantas se ha visto cada vez más con el aumento de los objetos cotidianos que se conectan a las tecnologías avanzadas, estos sistemas se implementan a un ritmo creciente. Lugares como hogares, así como en niveles industriales. El uso principal de estos sistemas es la eficiencia y la facilidad de uso.

El sistema de riego de plantas brinda a los amantes de las plantas la capacidad de quitarse la planta de su hogar mientras están fuera, mediante el uso de componentes eficientes y confiables, como diferentes tipos de tecnologías de sensores.

Existen varios tipos diferentes/sin complicaciones de sistemas de riego de plantas de interior, según el nivel de automatización necesario.

En el informe final en pdf (el enlace descargable gratuito se encuentra al final del contenido de la publicación), las siguientes secciones se describen en detalle.

Proyecto relacionado:¿Qué son los microcontroladores ATMega y cómo hacer un proyecto LED con ellos?

Especificaciones de productos y componentes

ID de requisito SRS-GSM-001
Título Módulo GSM
Descripción El sistema incluye el módulo GSM, que envía SMS de alerta al destinatario y recibe un SMS del usuario.
Versión Versión 1.0
ID de requisito SRS-Microcontrolador -001
Título ATmega328p
Descripción El sistema incluye el microcontrolador que generalmente viene con Arduino Uno. este microcontrolador lee la lectura del sensor y controla todo el sistema.
Versión Versión 1.0
ID de requisito SRS-Temperatura y Humedad-001
Título DHT11
Descripción El sistema incluye el sensor de temperatura y humedad, que realiza un seguimiento de los valores actuales de temperatura y humedad del entorno y envía la lectura al microcontrolador.
Versión Versión 1.0
ID de requisito SRS-Moisture-001
Título Sensor de humedad del suelo de Grove
Descripción El sistema incluye el sensor de humedad del suelo, que toma la lectura de la humedad del suelo y la envía de vuelta al microcontrolador.
Versión Versión 1.0
ID de requisito SRS-LCD-001
Título LCD Hitachi 16×2
Descripción El sistema incluye la interfaz LCD para el usuario, que muestra la lectura tomada por los diferentes sensores del sistema.
Versión Versión 1.0

Publicación relacionada:Programación Arduino:¿Qué es Arduino y cómo programarlo?

Sistema de riego automatizado de plantas basado en Arduino:

Diagrama de bloques de riego automático de plantas

Diagrama esquemático del circuito del sistema automático de riego y riego de plantas

Según este sistema, hay dos componentes funcionales en este proyecto, es decir, el sensor de humedad y el motor/bomba de agua. En su forma más básica, el sensor de humedad detecta el nivel de humedad del suelo. Entonces el motor/bomba de agua suministra agua a las plantas.

Haga clic en la imagen para agrandar

El esquema anterior en la figura anterior describe el comportamiento general del sistema. El proyecto utiliza Arduino Uno para controlar el motor. Consiste en un puente H que controla el flujo del servomotor, es decir, la dirección del reloj o la dirección contraria al reloj. El sensor de humedad mide el nivel del suelo y envía la señal a Arduino, luego Arduino abrirá el servomotor si se requiere riego. Luego, el motor/bomba de agua suministra agua a las plantas hasta alcanzar el nivel de humedad deseado.

Forma el prototipo en la figura anterior, el sensor de humedad detecta el nivel de humedad y envía la señal a Arduino y luego Arduino abre la bomba de agua con la ayuda del puente H y riega la planta en particular. Esto se hace usando el software Arduino IDE.

Proyecto relacionado:Proyecto electrónico de control de semáforos con temporizador IC 4017 y 555

Diseño de Proyectos

Esta sección habla de cualquier trabajo terminado en diseño de software y diseño de hardware. También da una idea de lo que incluye el sistema y por qué se eligieron diferentes componentes para hacer un sistema de riego de plantas automatizado completamente completo. Considere un diagrama en la figura que muestra el modelo conceptual básico del sistema utilizando componentes elegidos.

La funcionalidad del diagrama de bloques que se muestra en la figura anterior del sistema de riego automatizado de plantas se ilustra a continuación:

Puede encontrar más detalles de los componentes en el archivo pdf (abajo)

Proyecto relacionado:¿Qué es Raspberry Pi? Creación de proyectos con Raspberry Pi

Diseño de hardware

Esquema del sensor

La siguiente figura muestra el esquema del circuito del sensor. Como todo el sensor conectado con el pin analógico Arduino A0-A3. El pin A0 estaba reservado para el sensor de temperatura y humedad, mientras que los pines A1-A3 estaban reservados para los sensores de humedad. Todos los sensores tienen alimentación común de 5V y tierra como se muestra en el esquema.

Esquema LCD :

La siguiente figura muestra el esquema de la pantalla LCD. El pin digital 8 – 13 se reservó para la pantalla LCD como se muestra en el Esquema. El pin 1 y el pin 3 son la alimentación y la tierra, mientras que el pin 2 es el pin de contraste en la pantalla LCD que controla el contraste y está conectado con el potenciómetro. Debe tenerse en cuenta al conectar la pantalla LCD que los pines digitales de Arduino y los pines de datos de la pantalla LCD deben conectarse en el orden correcto; de lo contrario, la pantalla LCD solo mostrará basura en la pantalla.

Esquema del solenoide

El diagrama debajo de la figura a continuación muestra el diagrama del circuito del circuito del solenoide. El pin digital 4 - 7 estaba reservado para los solenoides. Como el circuito consta de relés, transistores, resistencias y LED en lugar del solenoide (CadStar no tiene el símbolo de solenoide). En el esquema, los relés utilizan 5V. Mientras que 5V también entran en el canal NO de los relés, esto se debe a que en el esquema, los LED reemplazan al solenoide que funciona en (5V) seguido de una resistencia de 220 ohmios.

Entonces, cuando el voltaje se aplica a la base de los transistores. El transistor cambia a tierra, lo que permite que la bobina del relé se magnetice y cambie al canal normalmente cerrado, debido a lo cual el LED conectado a ese relé en particular se enciende y cuando el voltaje aplicado en la base del transistor cae, el transistor vuelve a la normalidad. y la bobina del relé se desmagnetiza y el relé cambia a NO canal nuevamente, por lo que el LED se apaga nuevamente.

Después de terminar todo el Esquema del circuito, el siguiente paso es construirlos en el Veroboard. Es importante diseñar el circuito en la hoja de planificación del diseño de stripboard con anticipación porque existen ciertos principios para diseñar un circuito en Veroboard, que son los siguientes:

  1. Marque primero la línea de alimentación Vs y GND en la parte superior derecha de la hoja de planificación del diseño del stripboard.
  2. Recuerde cortar la pista entre los pines de un IC. Marque los cortes en el diagrama con una X.
  3. Trate de hacer que la resistencia y los capacitores axiales queden planos sobre el tablero. Las resistencias generalmente requieren un espacio de 4 orificios, el condensador un espacio de 8 orificios.
  4. Si es posible, numera el pin de los circuitos integrados. La parte inferior del Veroboard consiste en las pistas de cobre en las que el voltaje fluye y funciona horizontalmente. A continuación se muestran diferentes diseños de Veroboard de los esquemas anteriores:

Proyecto relacionado:Controlador de nivel de agua totalmente automático con SRF04

Diseño de software

Después de terminar el hardware, es hora de probar el hardware con el software. En esta sección, se describirá en detalle la implementación del diseño del software para cada una de las diferentes tecnologías/automatización utilizadas dentro del sistema. Esto incluye el código Arduino escrito y cargado en Arduino.

Lo primero que se hizo fue hacer funcionar el circuito del solenoide y cómo actuaría el solenoide desde la perspectiva del microcontrolador. Para ello, se realizó un pequeño diagrama de flujo que se puede ver en la sección de flujo de software en la figura anterior.

Arduino IDE se utilizó para cargar el software en Arduino. Para el circuito de solenoide básico, se escribió un programa simple que básicamente hace parpadear el LED cada 1 segundo. Inicialmente se definió el pin digital 4, 5, 6 y 7 que prueba el programa y el circuito. Entonces, cuando el programa se ejecuta, realiza todas las inicializaciones básicas, define todos los pines de salida en la configuración de vacío () y luego salta al ciclo de vacío () donde se ejecuta constantemente y los LED parpadean cada 1 segundo.

Después de eso, se escribió y cargó un pequeño programa en el Arduino que obtiene las lecturas de los diferentes sensores y las imprime en la pantalla LCD. Para esto, se hizo un pequeño diagrama de flujo que también se puede ver en la sección de flujo de software en la figura dada. Cuando el programa entra en el bucle vacío (), obtiene las lecturas del sensor, hace todos los cálculos básicos y los imprime en la pantalla LCD.

Proyecto de electrónica básica relacionado:Sistema de control automático de alumbrado público mediante LDR y transistor BC 547

Lo siguiente es cargar el software para el módulo GSM en el Arduino, a través del cual GSM podría comunicarse con el microcontrolador. La prueba del módem se realizó inicialmente, lo que hace toda la inicialización básica y las bibliotecas para GSM y obtiene el número IMEI y ve si el módem funciona correctamente una vez que comienza a comunicarse con Arduino. El siguiente paso es la prueba de conexión de red que básicamente inicializó el GSM y muestra todas las demás redes compatibles con el módulo GSM.

Una vez que el módulo GSM se prueba y funciona correctamente, es hora de usar el módulo GSM para comunicarse con el destinatario, lo que significa enviar SMS al destinatario y recibir SMS de ellos. Para hacer eso, se escribió y cargó en Arduino otro programa simple de cableado de Arduino. El programa inicializó el GSM y envió SMS al destinatario, en contraste, se escribió otro programa Arduino en el que GSM recibe el SMS del usuario final.

Finalmente, una vez que todo el diseño del software estuvo listo, es hora de fusionar todo el diseño del software y crear un software funcional final para el sistema. Se aplicaron diferentes enfoques de algoritmos que se pueden ver en la sección de flujo de software para que el software final funcione y haga lo que se supone que debe hacer. La figura de arriba muestra el funcionamiento del software final donde toma una lectura, envía SMS, recibe SMS y comienza a hacer lo que estaba haciendo anteriormente.

Nota:Todo el código del software se puede ver en el apéndice a continuación.

NOTA:todo el código del software se puede ver en el apéndice. El resultado de la prueba de módem y la prueba de conexión de red no se incluyeron en el informe porque el informe real se realizó después de enviar el hardware.

Proyecto relacionado:¿Cómo hacer proyectos básicos de electricidad y electrónica en LabVIEW?

Construcción de proyectos y pruebas de software

Después de que todo el diseño de hardware y software se haya realizado con éxito, es hora de construir y probar el proyecto. En esta sección del informe, se brindarán detalles sobre cómo se implementan y prueban los diferentes diseños de hardware. Esta sección también habla sobre si había algún problema oculto dentro del código del software que fuera importante para solucionar y evacuar y construir el proyecto con éxito. El proceso paso a paso se puede ver en el informe completo del proyecto en el archivo pdf que se muestra a continuación, como el procedimiento de construcción y prueba.

Pruebas de software

La fase de prueba del software también es un aspecto importante del desarrollo del proyecto. La prueba de software es un procedimiento de ejecución de un programa o aplicación con el objetivo de encontrar los errores de software. Asimismo, puede expresarse como el proceso de validar y verificar que un programa o aplicación de software cumple con su requerimiento técnico, funciona como aceptado y puede ejecutarse con una marca comercial similar. Para realizar las pruebas de software se adoptaron diferentes enfoques. Se escribió un documento de especificación de requisitos de software (SRS) que abordaba completamente el comportamiento esperado de un sistema de software.

Proyecto relacionado:Proyecto electrónico del circuito del interruptor Clap usando el temporizador 555

ID de requisito SRS- Sensor -010
Título Sensor
Descripción Los sensores en el sistema toman las lecturas y las envían de regreso al microcontrolador.
Versión V 1.0
ID de requisito SRS-Datos-020
Título Visualización de datos
Descripción Cuando los usuarios intentan obtener la lectura del sistema. La pantalla debería haber mostrado datos al usuario, por ejemplo:valor de temperatura y humedad seguido de lecturas de humedad.
Versión V1.0
ID de requisito SRS- Microcontrolador -030
Título Microcontrolador
Descripción El microcontrolador en el sistema actúa como un cerebro del sistema que administra todo en el sistema
Versión V1.0
ID de requisito SRS- Pestillo -040
Título Cierre
Descripción El pestillo en el sistema expande los pines digitales para el microcontrolador
Versión V1.0
ID de requisito SRS-GSM-050
Título GSM
Descripción El sistema reaccionará enviando una alerta por SMS al destinatario cada vez que el microcontrolador se lo indique.
Versión V1.0

Después de escribir el documento SRS, el diseño del software pasó a la fase de prueba estática que incluye la revisión del documento. Aquí es donde ocurre la verificación de los requisitos. Hay cuatro tipos diversos de métodos de verificación definidos a continuación:

  1. Inspección (I):control o verificación visual
  2. Análisis (A):verificación basada en evidencias analíticas
  3. Demostración (D):verificación de características operativas, sin medición cuantitativa.
  4. Prueba (T):verificación de características cuantitativas con medición cuantitativa. Para cada requisito del documento SRS, se define un método de verificación con abreviatura de I, A, D y T.

Verificación:

ID de requisito Título del requisito Método
REQ-010 Verifica que los sensores del sistema obtengan lecturas I
REQ-020 Verifique que los datos se muestren en la pantalla. D
REQ-030 Se verifica que el microcontrolador del sistema está administrando o funcionando correctamente, ya que da un resultado del 100 % para cada solicitud. D
REQ-040 Verifique que el circuito del pestillo estaba haciendo lo que se suponía que debía hacer. Eso toma la entrada sin 3 y escupe 8 pines A
REQ-050 Verifique que GSM haya enviado y recibido el SMS D

Resultados

Como todas las pruebas realizadas con resultado satisfactorio. Ya que no hay como tal un resultado particular que deba ser documentado. Como el sistema funciona con un sensor de humedad y DHT11 (temperatura y humedad) que toma lecturas de acuerdo con la temperatura y la humedad actuales de la habitación. Las lecturas del sensor de humedad en el circuito también dependen del nivel de humedad actual de la planta. Por lo demás, el resultado general del circuito en términos de funcionalidad fue bueno para la motivación.

Publicación relacionada:Programación Arduino PWM y sus funciones en Arduino

Código de software completo y final para plantas de riego automático y sistemas de riego

Nota: Se pueden encontrar más códigos relacionados con el proyecto en el archivo pdf, como el código de muestra para probar la válvula solenoide, el código para probar los sensores del sistema, el código de prueba del módem GSM, el código de conexión de red GSM, el código de alerta de envío de SMS GSM, el código SMS de recepción GSM,

Código final del proyecto de plantas de riego automático

#include <dht.h>
#define dht_dpin A0
dht DHT;
//———————–
#include <LiquidCrystal.h>
LiquidCrystal lcd (8, 9, 10, 11, 12, 13);
//———————————-
int plantPotMoisture[3] = {A1, A2, A3};
//———————
#include <GSM.h>
#define PINNUMBER “”
GSM gsmAccess; // include a ‘true’ parameter for debug enabled
GSM_SMS sms;
char remoteNumber[] = “0899506304”;
String moistureMessage = “Moisture is Low on sensor: “;
String SMS_Alert = “Sending SMS!”;
String humidityMsg = “Humidity is High. Open All Solenoids”;
String tempMsg = “Temperature is too HIGH!..Open ALl Solenoids “;
String messageBuffer = “”;
char senderNumber[20];
String stringOne = “Opens1”;
String stringTwo = “Opens2”;
String stringThree = “Opens3”;
String stringFour = “OpenAll”;
//—————
#define solenoidData 5
#define solenoidClockster 4
#define solenoidLatch 6
//—————
const int master = 0;
const int slave1 = 1;
const int slave2 = 2;
const int slave3 = 3;
boolean takeReadings = true;
int serialSolenoidOutput = 0;
void setup()
{
pinMode(solenoidData, OUTPUT);
pinMode(solenoidClockster, OUTPUT);
pinMode(solenoidLatch, OUTPUT);
digitalWrite(solenoidLatch, HIGH);
digitalWrite(solenoidLatch, LOW);
shiftOut(solenoidData, solenoidClockster, MSBFIRST, 0);
digitalWrite(solenoidLatch, HIGH);
//————————-
Serial.begin(9600);
lcd.begin (16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Wait Until”);
lcd.setCursor(0, 1);
lcd.print(“GSM Initialized!”);
boolean notConnected = true;
while (notConnected)
{
if (gsmAccess.begin(PINNUMBER) == GSM_READY)
notConnected = false;
else
{
Serial.println(“Not connected”);
delay(1000);
}
}
}
void loop()
{
if (takeReadings)
{
moistureSensor();
TempAndHumidity ();
if (DHT.humidity > 50 || DHT.temperature > 25 && takeReadings )
{
takeReadings = false;
if (DHT.humidity > 50)
{
sendSMS(humidityMsg);
}
else if (DHT.temperature > 25)
{
sendSMS(tempMsg);
}
while (!takeReadings)
recieveSMS();
}
if (plantPotMoisture[0] > 30 || plantPotMoisture[1] > 30 || plantPotMoisture[2] > 30 && takeReadings)
{
takeReadings = false;
if (plantPotMoisture[0] > 30)
{
sendSMS(moistureMessage + “1”);
}
else if (plantPotMoisture[1] > 30)
{
sendSMS(moistureMessage + “2”);
}
else
{
sendSMS(moistureMessage + “3”);
}
while (!takeReadings)
recieveSMS();
}
}
}
void moistureSensor()
{
for (int i = 0 ; i < 3; i++)
{
lcd.clear();
plantPotMoisture[i] = analogRead(i);
plantPotMoisture[i] = map(plantPotMoisture[i], 550, 0, 0, 100);
Serial.print(“Mositure” + i );
lcd.print(“Mositure” + i);
Serial.print(plantPotMoisture[i]);
lcd.print(plantPotMoisture[i]);
Serial.println(“%”);
lcd.print(“%”);
delay(1000);
}
}
void TempAndHumidity ()
{
DHT.read11(dht_dpin);
lcd.setCursor(0, 0);
lcd.print(“Humidity=”);
Serial.print(“Current humidity = “);
Serial.print(DHT.humidity);
lcd.print(DHT.humidity);
lcd.print(“%”);
Serial.print(“%”);
Serial.print(“temperature = “);
Serial.print(DHT.temperature);
Serial.println(“C”);
lcd.setCursor(0, 1);
lcd.print(“temp=”);
lcd.print(DHT.temperature);
lcd.print(“C “);
delay(1000);
lcd.clear();
}
void sendSMS(String messageToSend)
{
Serial.print(“Sending a message to mobile number: “);
Serial.println(remoteNumber);
Serial.println(“SENDING”);
lcd.print(SMS_Alert);
Serial.println();
Serial.println(“Message:”);
Serial.println(messageToSend);
sms.beginSMS(remoteNumber);
sms.print(messageToSend);
sms.endSMS();
Serial.println(“\nCOMPLETE!\n”);
lcd.clear();
lcd.print(“Completed!!!”);
}
void recieveSMS()
{
char c;
if (sms.available())
{
lcd.clear();
lcd.print(“Message received from:”);
delay(800);
lcd.clear();
sms.remoteNumber(senderNumber, 20);
lcd.print(senderNumber);
while (c = sms.read())
{
Serial.println(c);
messageBuffer += c;
}
Serial.println(messageBuffer);
if (messageBuffer == stringOne)
{
toggleSolenoid1();
takeReadings = true;
}
else if (messageBuffer == stringTwo)
{
toggleSolenoid2();
takeReadings = true;
}
else if (messageBuffer == stringThree)
{
toggleSolenoid3();
takeReadings = true;
}
else if (messageBuffer == stringFour)
{
toggleAll();
takeReadings = true;
}
else
{
takeReadings = true;
}
messageBuffer = “”;
Serial.println(“\nEND OF MESSAGE”);
// Delete message from modem memory
sms.flush();
Serial.println(“MESSAGE DELETED”);
}
delay(1000);
}
void toggleSolenoid1()
{
solenoidWrite(master, HIGH);
delay(1000);
solenoidWrite(slave1, HIGH);
delay(1000);
solenoidWrite(slave1, LOW);
delay(1000);
solenoidWrite(master, LOW);
delay(1000);
}
void toggleSolenoid2()
{
solenoidWrite(master, HIGH);
delay(1000);
solenoidWrite(slave2, HIGH);
delay(1000);
solenoidWrite(slave2, LOW);
delay(1000);
solenoidWrite(master, LOW);
delay(1000);
}
void toggleSolenoid3()
{
solenoidWrite(master, HIGH);
delay(1000);
solenoidWrite(slave3, HIGH);
delay(1000);
solenoidWrite(slave3, LOW);
delay(1000);
solenoidWrite(master, LOW);
delay(1000);
}
void toggleAll()
{
solenoidWrite(master, HIGH);
delay(1000);
solenoidWrite(slave1, HIGH);
delay(1000);
solenoidWrite(slave2, HIGH);
delay(1000);
solenoidWrite(slave3, HIGH);
delay(1000);
solenoidWrite(slave1, LOW);
delay(1000);
solenoidWrite(slave2, LOW);
delay(1000);
solenoidWrite(slave3, LOW);
delay(1000);
solenoidWrite(master, LOW);
delay(1000);
}
void solenoidWrite(int pin, bool state)
{
if ( pin >= 0 && pin < 8)
{
if (state)
serialSolenoidOutput |= (1 << pin);
else
serialSolenoidOutput &= ~(1 << pin);
}
digitalWrite(solenoidLatch, LOW);
shiftOut(solenoidData, solenoidClockster, MSBFIRST, serialSolenoidOutput);
digitalWrite(solenoidLatch, HIGH);
}

Full Project Report Automatic Watering Plants System (PDF) Free Download

Automated Plant Watering System PDF 4.18MB 77 Here

Related Post:How To Design a PCB (Step by Step &Pictorial Views)

About the author

-Department of Engineering School of Informatics &Engineering Institute of Technology, Blanchardstown Dublin 15


Tecnología Industrial

  1. Probables fallas en sistemas probados
  2. Circuito y funcionamiento del sistema de apertura automática de puerta con detección de movimiento
  3. Sistema de alarma Arduino:SERENA
  4. Sistema de riego automático de plantas con Arduino
  5. Sistema de riego de plantas domésticas
  6. Sistema de riego automático
  7. Una solución de riego de plantas urbanas
  8. Sobrevivir a un proyecto de migración del sistema de control
  9. Violaciones comunes del código eléctrico que debe tener en cuenta
  10. Comprender el sistema de transmisión automática
  11. Comprender el sistema de lubricación automática