Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Jardim automatizado

Componentes e suprimentos

Arduino UNO
× 1
Raspberry Pi 2 Modelo B
Qualquer deve funcionar
× 1
Módulo de câmera Raspberry Pi
× 1
Arduino Ethernet Shield 2
× 1
Relé (genérico)
× 1
OpenBuilds Wire Cable - By the Foot
× 1
Resistor de foto
× 1
Bomba de água (genérica)
× 1
fã (genérico)
Usei o de um computador antigo.
× 1
Transistor de uso geral NPN
× 1
Cartão MicroSD (genérico)
16 Gb para lapso de tempo
× 1

Aplicativos e serviços online

Arduino IDE
Raspberry Pi Raspbian
win32diskimager
massa
myDevices Cayenne

Sobre este projeto




Este é o segundo projeto usando meu jardim automatizado, mas desta vez tudo será controlado pelo Cayenne, então será muito mais fácil. Também adicionei um Raspberry Pi para fazer um vídeo de lapso de tempo.





Configurando o Arduino


Para monitorar nosso jardim, usei alguns dispositivos que podem ser úteis. Antes de começar, lembre-se de conectar o escudo Ethernet ao Arduino.





Conexões


Umidade do solo: Para verificar se as plantas precisam de água.
  • VCC:5v
  • GND:GND
  • A0:A1

O Ventilador:I Se ficar muito quente, ele será ativado ou apenas para fornecer um pouco de ar fresco.
  • Um fio vai do resistor ao pino 3-O GND da ventoinha vai no pino do meio do transistor.
  • O + da ventoinha vai para o relé (pino do meio) O último pino do transistor vai para GND.
  • O diodo vai para o pino do meio do transistor e para o GND.

A bomba d'água: Ele será ativado com a umidade do solo.
  • O + vai para o meio no relé e GND para GND da fonte de alimentação.

Fotorresistor (opcional): Esta parte nos permitirá medir se há luz suficiente na sala.
  • Uma parte é conectada a A0 com o resistor conectado ao solo.
  • O outro para o 5V.
  • O ânodo (+) vai para o relé. O outro para o GND da fonte de alimentação.

Claro:
  • O ânodo (+) vai para o relé. O outro para o GND da fonte de alimentação.

Sensor de umidade / temperatura: É necessário algum código para este dispositivo para funcionar corretamente com o Cayenne.
  • VCC:3,3 V
  • GND:GND
  • DAT:pino digital 8

Sensor de nível de água:
  • VCC:5V
  • GND:GND
  • SIG:A2





Montagem final


Usei 2 relés no gráfico porque o Fritzing ainda não tem um relé de 4 canais. Para o relé usei apenas uma fonte de alimentação de 12v. Separei os fios positivo e negativo e, em seguida, soldei 3 fios do positivo e conectei cada parte no relé. Basta um, pois nem tudo liga ao mesmo tempo.

Usei uma fonte de alimentação de 5 V para o relé do Arduino:
  • VCC:5V
  • GND:GND
  • IN1:PIN2 Ative a luz
  • IN2:PIN5 Ative a bomba d'água
  • IN3:nenhum IN4
  • PiN4:ative o FAN





Configuração Cayenne


Aqui veremos como configurar o Cayenne que é muito fácil.
  • Primeiro crie uma conta aqui.
  • Então você deve ter sua blindagem Ethernet com cabo Rj45 conectado.
  • Aqui está o código para se conectar ao Cayenne e também para configurar o sensor de zumbido / temperatura.

Este código funciona para o escudo w5100 o código está disponível em pimenta de Caiena para outro escudo Ethernet / WiFi. Além disso, não se esqueça de adicionar seu token você o obtém depois de criar sua conta.
  #include "DHT.h" // # define CAYENNE_DEBUG // Descomente para mostrar mensagens de depuração # define CAYENNE_PRINT Serial // Comente para desativar impressões e economizar espaço # include 

# define DHTPIN 8 // a qual pino digital estamos conectados # define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1 # define VIRT_HUM V2

// Token de autenticação Cayenne. Isso deve ser obtido no token Cayenne Dashboard.char [] ="seu toker";

DHT dht (DHTPIN, DHTTYPE); não assinado 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 (now - prev_DHT_refresh> interval_DHT_refresh) {// A leitura da temperatura ou umidade leva cerca de 250 milissegundos! // As leituras do sensor também podem ser até 2 segundos 'antigas' (é um sensor muito lento) float h =dht.readHumidity (); // Lê a temperatura como Celsius (o padrão) float t =dht.readTemperature (); // Verifique se alguma leitura falhou if (! Isnan (h) &&! Isnan (t)) {Cayenne.virtualWrite (VIRT_HUM, h); Cayenne.celsiusWrite (VIRT_TEMP, t); } prev_DHT_refresh =now; }}





Dispositivos em Cayenne


Estamos quase terminando o Arduino. Agora é a parte fácil. Vamos adicionar todos os aparelhos do Cayenne.





Adicionar dispositivo -> Widget personalizado


Selecione o tipo de widget que você gosta. Usei gráfico para umidade e nível de água, caso contrário, usei valor. Para o sensor de umidade e temperatura, usamos um pino virtual:
  • Temp:Vpin1
  • Umidade:VPin2

Para o outro dispositivo, em vez de escolher o pino virtual, pegue o analógico com o pino vinculado a ele. O mesmo procedimento, mas desta vez em atuadores, selecione o pino do Arduino conectado ao relé para a luz / ventilador / bomba d'água.





Evento e gatilho


Agora que temos o painel, vamos configurar os acionadores:
  • Bomba de água: Isso ligará a bomba quando a umidade do solo detectada estiver muito seca. Observe que usei 2 gatilhos:um para iniciar a bomba d'água e outro para pará-la.
  • Nível da água: Quando o valor é alto significa que falta água. Aqui, receberemos um e-mail para nos alertar.
  • Eventos: Eu configurei 4 eventos, um para acender a luz pela manhã e um para pará-lo à noite e 2 para ligar / desligar o ventilador.





Configure o Raspberry Pi


Vamos fazer um lapso de tempo do crescimento da planta.

3 Software:
  • Raspbian
  • Win32diskimager para gravar a imagem no cartão SD
  • Putty para conectar remotamente ao Raspberry WIn32 disk imager:

Após o download, instale-o. Abra:

1. Você verá "dispositivo". Em geral, o padrão é bom (se você tiver apenas o cartão SD conectado)

2. Clique na pasta do ícone azul e selecione a imagem Raspbian Jessie que você baixou

3. Clique em escrever e pronto. Agora você pode inserir o cartão no Raspberry.

Massa: Ele nos permite conectar via SSH, abrir Putty (não há necessidade de instalar).
  • Conecte o cabo de Internet ao Raspberry
  • Você precisa encontrar o IP do Raspberry 2 da maneira mais fácil:
  • Conecte-se à interface de sua caixa, você será capaz de ver o dispositivo com o IP
  • Conecte a tela sensível ao toque e o teclado, vá para o terminal e, em seguida, ifconfig. Agora, em Putty, digite o endereço IP. Será algo como 192.168.0.3 e digite.
  • Será pedido para confiar, clique em sim (imagem).
  • login: pi , senha: framboesa . Deixe as janelas do lado, nós voltaremos aqui mais tarde.

Agora que o Raspberry está em execução, algumas atualizações são necessárias, portanto, no Putty, copie e cole o comando:
  sudo apt-get updatesudo apt-get upgrade  

VNC:

Se você não tiver uma tela para conectar o Raspberry, instale o VNC no controle remoto.
  sudo apt-get install tightvncserver  

Quando terminar de iniciar o servidor:
  vncserver:1  

E baixando o vncviewer no seu computador, para conectar digite o IP e o número do servidor. Será semelhante a 192.168.0.3:1

Cayenne: Você pode assumir o controle remoto do seu Raspberry com Cayenne, basta instalá-lo:
  wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.shsudo bash rpi_03wl1tt4nt.sh -v  





Timelapse


Último passo! Agora podemos habilitar a câmera para fazer isso no Putty ou em uma pasta de terminal:
  sudo raspi-config  

Em seguida, vá para habilitar a câmera. Temos que criar uma pasta para armazenar as fotos:
  cd / home / pi / Desktopmkdir timelapse  

Depois de conectar a webcam, vamos criar um script para tirar uma foto a cada hora:
  cd / home / pi / Desktop nano timelapse.sh  

Cole isto:
  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; concluído;  

E para garantir que o script seja executável:
  chmod + x timelapse.sh  





Conclusão


O tutorial foi longo, mas muito fácil, são poucos os dispositivos para conectar e configurar a plataforma. Na foto está uma grande bagunça. Usei um fio muito longo. Vou postar o resultado do meu lapso de tempo quando as plantas terminarem de crescer.

Conselho:

O escudo Ethernet pode obter o erro DHCP fail. Ao tentar conectar, encontrei a solução no fórum do Arduino:você tem que soldar dois resistores de 100 ohms em lugares aleatórios para irritar seus leitores.

Código

  • Snippet de código # 1
  • Snippet de código # 9
Snippet de código # 1 Arduino
 

#include "DHT.h"
// # define CAYENNE_DEBUG // Remova o comentário para mostrar mensagens de depuração
#define CAYENNE_PRINT Serial // Comente para desativar as impressões e economizar espaço # incluir

#define DHTPIN 8 // a qual pino digital estamos conectados # define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1 # define VIRT_HUM V2

// Token de autenticação Cayenne. Isso deve ser obtido no token Cayenne Dashboard.char [] ="seu toker";

DHT dht (DHTPIN, DHTTYPE); não assinado 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 (now - prev_DHT_refresh> interval_DHT_refresh) {// A leitura da temperatura ou umidade leva cerca de 250 milissegundos! // As leituras do sensor também podem ser até 2 segundos 'antigas' (é um sensor muito lento) float h =dht.readHumidity (); // Lê a temperatura como Celsius (o padrão) float t =dht.readTemperature ();

// Verifique se alguma leitura falhou if (! Isnan (h) &&! Isnan (t)) {Cayenne. virtualWrite (VIRT_HUM, h); Cayenne.celsiusWrite (VIRT_TEMP, t); } prev_DHT_refresh =now; }}

Snippet de código # 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; concluído; 

Processo de manufatura

  1. Controle remoto universal Raspberry Pi
  2. Uma fatia de Raspberry Pi
  3. Cycle Chaser
  4. Detector de ladrão Raspberry Pi
  5. Sensor de temperatura Raspberry Pi
  6. RASPBERRY PI HOME AUTOMATION
  7. Raspberry Pi Automated Plant Watering with Website
  8. MrRobot - Robótica habilitada para aplicativo Ubuntu Mobile (Raspberry Pi e arduino envolvidos)
  9. Robô da caixa de CD do Raspberry Pi
  10. Robô Raspberry Pi controlado por Bluetooth