Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Jardín automatizado

Componentes y suministros

Arduino UNO
× 1
Raspberry Pi 2 Modelo B
Cualquiera debería funcionar
× 1
Módulo de cámara Raspberry Pi
× 1
Arduino Ethernet Shield 2
× 1
Retransmisión (genérico)
× 1
Cable de alambre OpenBuilds - Por el pie
× 1
Foto resistor
× 1
Bomba de agua (genérica)
× 1
ventilador (genérico)
Usé el de una computadora vieja.
× 1
Transistor de uso general NPN
× 1
Tarjeta MicroSD (Genérica)
16 Gb por lapso de tiempo
× 1

Aplicaciones y servicios en línea

Arduino IDE
Raspberry Pi Raspbian
win32diskimager
masilla
myDevices Cayenne

Acerca de este proyecto

Este es el segundo proyecto que utiliza mi jardín automatizado, pero esta vez todo estará controlado por Cayenne, por lo que será mucho más fácil. También agregué una Raspberry Pi para hacer un video de lapso de tiempo.

Configurando el Arduino

Para controlar nuestro jardín, utilicé algunos dispositivos que pueden ser útiles. Antes de comenzar, recuerde conectar el escudo de Ethernet al Arduino.

Conexiones

Humedad del suelo: Para comprobar si las plantas necesitan agua.

  • VCC:5v
  • GND:GND
  • A0:A1

El aficionado:yo Si hace demasiado calor, se activará o simplemente para dar un poco de aire fresco.

  • Un cable va desde la resistencia al pin 3:el GND del ventilador va en el pin central del transistor.
  • El + del ventilador va al relé (pin del medio) El último pin del transistor va a GND.
  • El diodo va al pin medio del transistor y al GND.

La bomba de agua: Se activará con la humedad del suelo.

  • El + va al medio en el relé y GND a GND de la fuente de alimentación.

Fotorresistor (opcional): Esta parte nos permitirá medir si hay suficiente luz en la habitación.

  • Una parte está conectada a A0 con la resistencia conectada a tierra.
  • El otro al 5V.
  • El ánodo (+) va al relé. El otro al GND de la fuente de alimentación.

Ligero:

  • El ánodo (+) va al relé. El otro al GND de la fuente de alimentación.

Sensor de temperatura / humedad: Se requiere algún código para este dispositivo para que funcione correctamente con Cayenne.

  • VCC:3,3 V
  • GND:GND
  • DAT:pin digital 8

Sensor de nivel de agua:

  • VCC:5 V
  • GND:GND
  • SIG:A2

Montaje final

Usé 2 relés en el gráfico porque Fritzing aún no tiene un relé de 4 canales. Para el relé utilicé solo una fuente de alimentación de 12v. Separé los cables positivo y negativo, y luego soldé 3 cables del positivo y conecté cada parte en el relé. Uno es suficiente porque no todo se enciende al mismo tiempo.

Usé una fuente de alimentación de 5V para Arduino RELAY:

  • VCC:5 V
  • GND:GND
  • IN1:PIN2 Activa la luz
  • IN2:PIN5 Activar la bomba de agua
  • IN3:ninguno IN4
  • PiN4:activa el FAN

Configuración de Cayenne

Aquí veremos cómo configurar Cayenne, que es muy fácil.

  • Primero cree una cuenta aquí.
  • Entonces deberías tener tu blindaje Ethernet con cable Rj45 conectado.
  • Aquí está el código para conectarse a Cayenne y también para configurar el sensor de zumbido / temperatura.

Este código funciona para el escudo w5100 el código está disponible en cayenne para otro escudo de Ethernet / WiFi. Además, no olvide agregar su token lo obtienes después de crear tu cuenta.

  #include "DHT.h" // # define CAYENNE_DEBUG // Descomenta para mostrar los mensajes de depuración # define CAYENNE_PRINT Serial // Comenta esto para deshabilitar las impresiones y ahorrar espacio # include 

# definir DHTPIN 8 // a qué pin digital estamos conectados # definir DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1 # definir VIRT_HUM V2

// Token de autenticación Cayenne. Esto debe obtenerse del Cayenne Dashboard.char token [] ="your toker";

DHT dht (DHTPIN, DHTTYPE); unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;

void setup () {Serial.begin (9600); Cayenne.begin (token);

dht.begin ();} bucle vacío () {Cayenne.run ();

getDhtValues ​​();

}

void getDhtValues ​​() {unsigned long now =millis (); if (ahora - prev_DHT_refresh> interval_DHT_refresh) {// ¡La lectura de temperatura o humedad tarda unos 250 milisegundos! // Las lecturas del sensor también pueden tener hasta 2 segundos de antigüedad (es un sensor muy lento) float h =dht.readHumidity (); // Lee la temperatura como Celsius (por defecto) float t =dht.readTemperature (); // Compruebe si alguna lectura falló if (! Isnan (h) &&! Isnan (t)) {Cayenne.virtualWrite (VIRT_HUM, h); Cayenne.celsiusWrite (VIRT_TEMP, t); } prev_DHT_refresh =ahora; }}

Dispositivos en Cayenne

Casi hemos terminado con Arduino. Ahora es la parte fácil. Vamos a agregar todos los dispositivos en Cayenne.

Agregar dispositivo -> widget personalizado

Seleccione el tipo de widget que le guste. Usé la tabla para la humedad y el nivel del agua; de lo contrario, usé el valor. Para el sensor de humedad y temperatura usamos un pin virtual:

  • Temp:Vpin1
  • Humedad:VPin2

Para el otro dispositivo, en lugar de elegir el pin virtual, tome Analog con el enlace del pin. El mismo procedimiento, pero esta vez en los actuadores, luego seleccione el pin del Arduino conectado al relé para la luz / ventilador / bomba de agua.

Evento y disparador

Ahora que tenemos el panel, vamos a configurar los disparadores:

  • Bomba de agua: Esto encenderá la bomba cuando la humedad del suelo detectada sea demasiado seca. Observe que utilicé 2 activadores:uno para encender la bomba de agua y otro para detenerla.
  • Nivel del agua: Cuando el valor es alto significa que falta agua. Aquí recibiremos un correo electrónico para alertarnos.
  • Eventos: Configuré 4 eventos, uno para encender la luz por la mañana y otro para detenerla por la noche, y 2 para encender / apagar el ventilador.

Configura la Raspberry Pi

Hagamos un lapso de tiempo del crecimiento de la planta.

3 Software:

  • Raspbian
  • Win32diskimager para grabar la imagen en la tarjeta SD
  • Masilla para conectarse de forma remota al generador de imágenes de disco WIn32 de Raspberry:

Después de descargarlo, instálelo. Ábrelo:

1. Verá "dispositivo". En general, el valor predeterminado es bueno (si solo tiene la tarjeta SD conectada)

2. Haga clic en la carpeta del icono azul y seleccione la imagen de Raspbian Jessie que ha descargado

3. Haga clic en escribir y listo. Ahora puede insertar la tarjeta en la frambuesa.

Masilla: Nos permite conectarnos vía SSH, abrir Putty (sin necesidad de instalar).

  • Conecte el cable de Internet a la Raspberry
  • Necesitas encontrar la IP de Raspberry 2 de la manera más fácil:
  • Conéctese a la interfaz de su caja, podrá ver el dispositivo con la IP
  • Conecte la pantalla táctil y el teclado, vaya a la terminal y luego ifconfig. Ahora en Putty ingrese la dirección IP. Será algo así como 192.168.0.3 y luego ingrese.
  • Le pedirá que confíe, haga clic en sí (imagen).
  • iniciar sesión: pi , contraseña: frambuesa . Deje las ventanas a un lado, volveremos aquí más tarde.

Ahora que tenemos la Raspberry en ejecución, se necesitan algunas actualizaciones, por lo que en Putty copie y pegue el comando:

  sudo apt-get updatesudo apt-get upgrade  

VNC:

Si no tiene una pantalla para conectar su Raspberry, instale VNC al control remoto.

  sudo apt-get install tightvncserver  

Cuando termine de iniciar el servidor:

  vncserver:1  

Y descargando vncviewer en su computadora, para conectarse ingrese la IP y el número de servidor. Se verá así 192.168.0.3:1

Cayena: Puedes tomar el control remoto de tu Raspberry con Cayenne, solo tienes que instalarlo:

  wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.shsudo bash rpi_03wl1tt4nt.sh -v  

Lapso de tiempo

¡Último paso! Ahora podemos habilitar la cámara para que lo haga en Putty o en una pasta de terminal:

  sudo raspi-config  

Luego ve a habilitar la cámara. Tenemos que crear una carpeta para almacenar las imágenes:

  cd / home / pi / Desktopmkdir timelapse  

Después de conectar la cámara web, crearemos un script para tomar una foto cada hora:

  cd / home / pi / Desktop nano timelapse.sh  

Pega esto:

  SAVEDIR =/ home / pi / Desktop / timelapse / while [true]; do filename =- $ (date -u + "% d% m% Y_% H% M-% S"). jpg / opt / vc / bin / raspistill -o $ SAVEDIR / $ filenamesleep 3600; hecho;  

Y para asegurarse de que el script sea ejecutable:

  chmod + x timelapse.sh  

Conclusión

El tutorial fue largo pero muy fácil, solo hay pocos dispositivos para conectar y configurar la plataforma. En la foto hay un gran lío. Usé un cable demasiado largo. Publicaré el resultado de mi lapso de tiempo cuando las plantas hayan terminado de crecer.

Consejo:

El escudo de Ethernet puede obtener el error DHCP fail. Al intentar conectar, encontré la solución en el foro de Arduino:tienes que soldar dos resistencias de 100 ohmios en lugares aleatorios para molestar a tus lectores.

Código

  • Fragmento de código n. ° 1
  • Fragmento de código n. ° 9
Fragmento de código n. ° 1 Arduino
 

#include "DHT.h"
// # define CAYENNE_DEBUG // Descomentar para mostrar mensajes de depuración
#define CAYENNE_PRINT Serial // Comente esto para deshabilitar impresiones y ahorrar espacio # incluir

#define DHTPIN 8 // a qué pin digital estamos conectados # define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1 # define VIRT_HUM V2

// Token de autenticación Cayenne. Esto debe obtenerse del Cayenne Dashboard.char token [] ="your toker";

DHT dht (DHTPIN, DHTTYPE); unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;

void setup () {Serial.begin (9600); Cayenne.begin (token);

dht.begin ();}

void loop () {Cayenne.run ();

getDhtValues ​​();

}

void getDhtValues ​​() {unsigned long now =millis (); if (ahora - prev_DHT_refresh> interval_DHT_refresh) {// ¡La lectura de temperatura o humedad tarda unos 250 milisegundos! // Las lecturas del sensor también pueden tener hasta 2 segundos de antigüedad (es un sensor muy lento) float h =dht.readHumidity (); // Lee la temperatura como Celsius (por defecto) float t =dht.readTemperature ();

// Verifica si alguna lectura falló if (! Isnan (h) &&! Isnan (t)) {Cayenne. virtualWrite (VIRT_HUM, h); Cayenne.celsiusWrite (VIRT_TEMP, t); } prev_DHT_refresh =ahora; }}

Fragmento de código n. ° 9 SH
 SAVEDIR =/ home / pi / Desktop / timelapse / while [true]; do filename =- $ (date -u + "% d% m% Y_% H% M-% S"). jpg / opt / vc / bin / raspistill -o $ SAVEDIR / $ filenamesleep 3600; hecho; 

Proceso de manufactura

  1. Mando a distancia universal Raspberry Pi
  2. Un trozo de Raspberry Pi
  3. Cycle Chaser
  4. Detector de ladrones Raspberry Pi
  5. Sensor de temperatura Raspberry Pi
  6. RASPBERRY PI HOME AUTOMATION
  7. Riego automatizado de plantas Raspberry Pi con sitio web
  8. MrRobot - Robotics habilitado para la aplicación Ubuntu Mobile (Raspberry Pi y arduino involucrados)
  9. Robot de caja de CD Raspberry Pi
  10. Robot Raspberry Pi controlado por Bluetooth
  11. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi