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 Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Componentes e Materiais

Componente Quantidade
Arduino Nano R3 1
Dongle Bluetooth para USB mbientLab 1
PCB Personalizada JLCPCB 1

Sobre o Projeto

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Jardinagem na era moderna significa tornar as coisas mais complicadas e árduas, com elétrons, bits e bytes. Combinar microcontroladores e jardinagem é uma ideia muito popular. Acho que é porque jardins têm entradas e saídas muito simples, fáceis de entender. Adivinho que as pessoas (eu incluso) veem um hobby notoriamente simples e relaxado e não podem deixar de se sentir compelidas a supercomplicá-lo.

Neste projeto, mostrarei como construir uma versão mais simples de jardim interno usando uma placa de desenvolvimento Arduino.

Forneço orientação completa passo a passo para mostrar como fazer seu próprio jardim bonito, explicando em detalhes tanto as partes de hardware quanto de software da maneira mais simples para você testar suas habilidades em eletrônica. Este projeto é muito prático, especialmente após obter a PCB personalizada que pedimos à JLCPCB para melhorar a aparência do nosso projeto, e há documentação e códigos suficientes neste guia para permitir que você crie seu sistema automático de jardim.

Fizemos este projeto em apenas 7 dias: apenas 3 dias para finalizar o hardware e a montagem, depois 4 dias para preparar o código e o app Android para controlar o jardim através dele. Antes de começar, vamos ver:

O que Você Aprenderá neste Tutorial

Passo 1: O que é um Jardim Interno!

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

A maioria das plantas tem necessidades simples. Como hóspedes, são relativamente pouco exigentes. Há apenas três coisas básicas para entender antes de convidar uma planta para casa: luz, água e ar. Se você dominar estes quatro elementos, da perspectiva de uma planta, pode criar um jardim interno em quase qualquer lugar do mundo e durante qualquer estação do ano.

Vou fazer um sistema baseado em Arduino para supervisionar o status de temperatura e umidade da minha planta e fornecer automaticamente suas necessidades como intensidade de luz, água e ar fresco puro. Para isso, preciso de sensores para controlar atuadores. Por exemplo, controlarei a intensidade da luz dependendo dos sinais do sensor de luminosidade; o mesmo para rega: usei sensor de umidade do solo para ligar/desligar uma bomba d'água; e sensor de temperatura/umidade para ligar/desligar ventiladores DC 12V.

Passo 2: Sensores e Atuadores

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Fazer este sistema é a montagem de alguns sensores e atuadores para acessar dados físicos ao redor da planta e determinar o que a planta precisa e quando fornecer.

Esta é a razão para usar sensores e atuadores todos conectados a uma placa Arduino:

Sensores

Atuadores

Passo 3: Fabricação da PCB (Produzida pela JLCPCB)

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Sobre a JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.) é a maior empresa de prototipagem PCB na China e fabricante de alta tecnologia especializada em prototipagem rápida de PCB e produção de pequenas quantidades.

Com mais de 10 anos de experiência em fabricação de PCB, a JLCPCB tem mais de 200.000 clientes no país e no exterior, com mais de 8.000 pedidos online de prototipagem e produção de pequenas quantidades por dia. A capacidade de produção anual é 200.000 m² para PCBs de 1, 2 ou múltiplas camadas. A JLC é fabricante profissional de PCB com grande escala, equipamentos avançados, gestão rigorosa e qualidade superior.

Voltando ao Nosso Projeto

Para produzir a PCB, comparei preços de muitos fabricantes e escolhi a JLCPCB como melhor fornecedor e mais barato. Tudo que precisei foi alguns cliques simples para upload do arquivo Gerber e definir parâmetros como espessura, cor e quantidade da PCB, paguei apenas 2 dólares para receber minha PCB após 3 dias e notei que há ofertas de frete grátis ocasionalmente nesta plataforma de pedidos online.

Você pode obter o arquivo do circuito (PDF) aqui.

Como visto nas fotos, a PCB é muito bem fabricada e obtive o mesmo formato de folha que projetamos, com todos os rótulos e logos para guiar durante a soldagem.

Passo 4: Ingredientes

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Agora vamos revisar os componentes necessários e você encontra links para compra online:

Passo 5: A Montagem

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Mostrar Todos os 9 Itens

Estamos prontos, vamos começar a soldar os componentes e não esqueça de seguir os rótulos para evitar erros. Começamos soldando o conector do Arduino para testar a fonte de alimentação e você também pode escrever código de teste básico para verificar a conexão correta de cada sensor como o sensor de luz e o mesmo para os LEDs porque estão todos conectados diretamente à placa (Arduino), então você tem acesso total a eles.

Nota: Mantenha seu ferro de solda limpo e agradável. Significa limpá-lo na esponja cada vez que usar. A ponta deve estar limpa e brilhante. Sempre que vir a ponta ficando suja com fluxo ou oxidando, perdendo o brilho, deve limpá-la. Mesmo no meio da soldagem. Ter uma ponta limpa torna MUITO mais fácil transferir calor para o alvo.

A PCB que pedimos à JLCPCB guiará você mantendo tudo no lugar certo, então não hesite em visitar este link se quiser ver a PCB que fizemos e fazer um pedido online.

Como você pode ver, usar esta PCB é muito prático pela qualidade e certamente todos os rótulos fornecem a melhor orientação, então você terá 100% de certeza que não cometerá erros de soldagem.

Soldei cada componente em seu lugar e você pode usar ambos os lados da PCB para soldar suas partes eletrônicas.

Agora temos a PCB pronta e todos os componentes bem soldados, depois preparei este design para corte a laser CNC para inserir a parte eletrônica e a planta em um suporte. Se quiser fazer o mesmo design, encontre os arquivos (DXF) aqui.

Passo 6: O App Android

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

Este app permite conectar ao seu Arduino via Bluetooth, e usando o modo manual você acessa ventiladores, luzes e também a bomba d'água para controle LIGADO/DESLIGADO, sem esquecer os sensores cujos dados você lê pressionando o botão "obter dados" e todos os dados apropriados serão exibidos na tela do smartphone.

Você pode obter este app Android gratuitamente neste link.

Passo 7: O Código Arduino e Validação de Teste

Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas
Jardim Interno com Arduino: Cuidado Automatizado e Inteligente de Plantas

O código está disponível e como de costume você pode baixá-lo neste link. Como visto nas fotos, o código é simples e bem comentado para você entender por conta própria.

Como podem ver, cada botão tem funcionalidade com o sistema, mas o que realmente aprecio é o modo automático para controle de brilho da luz: coloquei o sensor de luz na base inferior da casa; ao selecionar este modo, o sistema controla o brilho dos LEDs frontais dependendo dos sinais do sensor. Também podemos ler valores de temperatura e umidade diretamente na tela do smartphone, o que é realmente impressionante.

Código

Código fonte Arduino
/************************************************************************************************************************************************************************ 
 * - Author : BELKHIR Mohamed 
 * - Profession : (Developer) MEGA DAS owner 
 * - Main purpose : Industrial Application 
 * - Copyright (c) holder : All rights reserved 
 * - License : BSD 2-Clause License 
 * - Date : 20/11/2017 
 ***********************************************************************************************************************************************************************/ 
/*********************************** NOTE **************************************/ 
// Redistribution and use in source and binary forms, with or without 
// modification, are permitted provided that the following conditions are met: 
// * Redistributions of source code must retain the above copyright notice, this 
// list of conditions and the following disclaimer. 
// * Redistributions in binary form must reproduce the above copyright notice, 
// this list of conditions and the following disclaimer in the documentation 
// and/or other materials provided with the distribution. 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED 

#include "DHT.h"
#include <Wire.h>
#include <BH1750.h>

// Pinos de controle
const int Pump = 4;        // Controla bomba d'água
const int Fan = 5;         // PWM para velocidade do ventilador
const int Light = 6;       // Controla brilho dos LEDs
const int TempHum = 7;     // Entrada para sensor DHT
const int Moisture = 8;    // Entrada digital para comando de umidade
const int TestLED = 9;     // Saída para testar LEDs na PCB
const int Brightness = 12; // Entrada para sinais do sensor de luz
const int analogMoistue = 0; // Entrada analógica para sensor de umidade

#define DHTTYPE DHT11
DHT dht(TempHum, DHTTYPE);
BH1750 lightMeter;

char Data = 'x';
String cmd = "";
int flagModeAuto = 0;
int sprayCMD = 0;
int LightCMD = 0;
int lightLevelPlus = 0;
float temperature = 0;
float humidity = 0;
uint16_t lux = 0;

void setup() {
  Wire.begin();
  dht.begin();
  lightMeter.begin();
  Serial.begin(9600);
  Serial.setTimeout(100);
  pinMode(Pump, OUTPUT);
  pinMode(Fan, OUTPUT);
  pinMode(Light, OUTPUT);
  pinMode(Moisture, INPUT);
  pinMode(TestLED, INPUT);
  delay(1000);
  digitalWrite(Pump, LOW);
  digitalWrite(Fan, LOW);
  digitalWrite(Light, LOW);
}

void loop() {
  while (Serial.available()) {
    delay(10);
    Data = Serial.read();
    cmd += Data;
  }
  if (cmd == "dt") { Serial.print(humidity); }
  if (cmd == "dh") { Serial.print(lux); }
  if (cmd == "db") { Serial.print(temperature); }
  if (cmd == "o") { flagModeAuto = 1; }
  if (cmd == "m") { flagModeAuto = 0; }
  
  if (flagModeAuto == 1) {
    autoPump();
    lightBrightness();
    autoFan();
  }
  if (flagModeAuto == 0) {
    if (cmd == "f") { analogWrite(Fan, 255); }
    if (cmd == "x") { analogWrite(Fan, 0); }
    if (cmd == "l") { analogWrite(Light, 255); }
    if (cmd == "k") { analogWrite(Light, 0); }
    if (cmd == "w") { analogWrite(Pump, 255); }
    if (cmd == "y") { analogWrite(Pump, 0); }
  }
  cmd = "";
  lux = lightMeter.readLightLevel();
  temperature = dht.readTemperature();
  humidity = dht.readHumidity();
}

void autoPump() {
  if (analogRead(analogMoistue) < sprayCMD) {
    digitalWrite(Pump, HIGH);
    delay(1000);
    digitalWrite(Pump, LOW);
    delay(1000);
  }
}

void lightBrightness() {
  while (lux < LightCMD) {
    analogWrite(Light, lightLevelPlus);
    delay(100);
    lightLevelPlus++;
    lux = lightMeter.readLightLevel();
  }
}

void autoFan() {
  if (temperature > 30) {
    analogWrite(Fan, 255);
  } else {
    analogWrite(Fan, 0);
  }
}

Peças Personalizadas e Gabinetes

dxf_mdf_5mm_s0PEHuez4w.rar

Esquemático

Disponível nos arquivos do projeto.

Processo de manufatura

  1. Crie um Sistema Ambilight Impressionante para Monitor com Arduino
  2. Construa o Clássico Jogo Pong no Arduino UNO com Display OLED – Tutorial Passo a Passo
  3. Detector de Frequência de Áudio com Arduino – Meça Picos de Som com Módulo de Alta Sensibilidade
  4. Construa Seu Próprio Tamagotchi com Arduino: Projeto DIY de Pet Digital
  5. Controlador Inteligente de Interruptor de Luz Sem Fio: Manipulador Remoto Baseado em Arduino
  6. Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
  7. Pistola de Água Inteligente com Detecção de Movimento usando Arduino Nano
  8. Construa um Temporizador Regressivo Confiável com Arduino e Display de 7 Segmentos SparkFun
  9. Girassol Eletrônico com Arduino: Rastreador Solar Autônomo
  10. Kit de Robô de Navegação Interna Inteligente para Projetos Arduino