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 do Arduino

Componentes e suprimentos

Arduino Nano R3
× 1
mbientLab Bluetooth para Dongle USB
× 1
PCB personalizado JLCPCB
× 1

Sobre este projeto






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 os jardins têm entradas e saídas muito simples que são fáceis de entender. Eu acho que as pessoas (eu inclusive) veem um hobby notoriamente simples e relaxado e não podem deixar de se sentir compelidas a complicá-lo demais.

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

Estou fornecendo uma orientação passo a passo completa para mostrar a você como fazer seu próprio belo jardim e estou explicando em detalhes as partes de hardware e software para tornar esta orientação a maneira mais simples que o leva a experimentar o seu suas próprias habilidades na fabricação de eletrônicos. Este projeto é muito prático de fazer, especialmente depois de obter o PCB personalizado que encomendamos da JLCPCB para melhorar a aparência do nosso carro e também há documentos 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 três dias para terminar a fabricação do hardware e a montagem, depois 4 dias para preparar o código e o aplicativo Android. a fim de controlar o jardim através dele. Antes de começar, vamos ver primeiro





O que você aprenderá com este tutorial:

  • Escolha dos componentes certos dependendo das funcionalidades do seu projeto
  • Fazendo o circuito para conectar todos os componentes escolhidos
  • Reúna todas as partes do projeto e comece a testar
  • Usando o aplicativo Android. para se conectar por Bluetooth e começar a manipular o sistema





Etapa 1:O que é um jardim interno!




A maioria das plantas tem necessidades simples. Como convidados, eles são relativamente pouco exigentes. Existem apenas três coisas básicas que você precisa entender antes de decidir convidar uma planta para casa:luz, água e ar. Se você conseguir dominar esses quatro elementos, da perspectiva de uma planta, poderá criar um jardim interno em qualquer lugar do mundo e durante qualquer estação do ano.
  • Claro - A maioria das plantas de jardim precisa de pelo menos seis horas de luz por dia. Mas tem que ser uma boa luz. Se você colocar a mão na frente da janela e ela não fizer sombra, é provável que a luz não seja adequada para a maioria das plantas viver uma vida feliz. No entanto, você sempre pode complementar as condições de baixa luminosidade com luzes de cultivo. Se você tem luz natural modesta em sua casa e não quer se preocupar com iluminação especial, opte por plantas que normalmente precisam de baixa luminosidade ou tente mudar seu jardim para um parapeito de janela ensolarado.
  • Água - As plantas precisam de condições próximas às de seus habitats nativos. Uma planta que chama o deserto de lar precisará de irrigação menos frequente do que uma planta que vive em um pântano. Saber quais as condições de água que uma planta prefere é um bom primeiro passo para manter um jardim interno bem-sucedido. É mais fácil do que você pensa, porque as próprias plantas geralmente fornecem pistas. Plantas com folhas grossas de borracha acumulam água e podem sobreviver com menos água do que plantas com folhas finas e delicadas. Se você odeia regar suas plantas, escolha variedades que possam prosperar com menos ou escolha vasos de plantas com reservatórios ocultos para reduzir suas tarefas de rega.
  • Ar - Como subproduto da fotossíntese, as plantas produzem oxigênio e filtram gases nocivos, como o formaldeído, do ambiente doméstico por meio de suas folhas. Para manter as plantas saudáveis, você precisa manter suas folhas limpas e manter o ar ao redor em movimento e úmido. Para fazer isso, você pode colocá-los em um local com bom fluxo de ar ou fornecer um pequeno ventilador.

Farei um sistema baseado em Arduino para supervisionar o status de temperatura e umidade da minha planta e fornecer automaticamente as necessidades necessárias, como intensidade de luz, água e ar puro e, para fazer isso, preciso de alguns sensores para controlar alguns atuadores. Por exemplo, vou controlar a intensidade da luz dependendo dos sinais recebidos do sensor de brilho da luz o mesmo para a rega Usei um sensor úmido para ligar e desligar uma bomba de água e sensor de temperatura / umidade para ligar e desligar o controle de ventiladores de 12V DC .





Etapa 2:Sensores e Atuadores












Fazendo este sistema está a montagem de alguns sensores e atuadores para acessar os dados físicos espalhados pela planta e poder saber o que é solicitado pela planta e quando você deve fornecê-lo.

Esta é a razão pela qual você deve usar alguns sensores e atuadores todos conectados a uma placa Arduino:





Sensores

  • Sensor de luz BH1750:BH1750FVI é um sensor de luz digital, que é um sensor de luz ambiente digital para interface de barramento I2C. Este IC é o mais adequado para obter os dados da luz ambiente para ajustar a potência da luz de fundo do LCD e do teclado do telefone móvel. É possível detectar ampla faixa em alta resolução. (1 - 65535 lx).
  • Sensor de umidade do solo:os sensores de umidade que medem a resistência ou condutividade através da matriz do solo entre dois contatos são essencialmente lixo. Em primeiro lugar, a resistência não é um indicador muito bom do teor de umidade, porque é altamente dependente de uma série de fatores que podem variar de jardim para jardim, incluindo ph do solo, sólidos dissolvidos na água e temperatura. Em segundo lugar, a maioria deles é de má qualidade, com contatos que corroem facilmente. Na maior parte do tempo, você teria sorte se um durasse uma temporada inteira.
  • Sensor de temperatura e umidade:O DHT11 é um sensor digital básico de temperatura e umidade de custo ultrabaixo. Ele usa um sensor de umidade capacitivo e um termistor para medir o ar circundante e emite um sinal digital no pino de dados (não são necessários pinos de entrada analógica). É bastante simples de usar, mas requer um tempo cuidadoso para obter os dados. A única desvantagem real desse sensor é que você só pode obter novos dados dele uma vez a cada 2 segundos, então, ao usar nossa biblioteca, as leituras do sensor podem ter até 2 segundos.





Atuadores

  • LED branco claro:um diodo emissor de luz (LED) é uma fonte de luz semicondutora de dois condutores. É um diodo de junção p – n que emite luz quando ativado. [5] Quando uma voltagem adequada é aplicada aos condutores, os elétrons são capazes de se recombinar com buracos de elétrons dentro do dispositivo, liberando energia na forma de fótons.
  • Bomba de água:uma bomba é um dispositivo que move fluidos (líquidos ou gases), ou às vezes lamas, por ação mecânica. As bombas podem ser classificadas em três grupos principais de acordo com o método que usam para mover o fluido:elevação direta, deslocamento e bombas de gravidade. As bombas operam por algum mecanismo (normalmente alternativo ou rotativo) e consomem energia para realizar trabalho mecânico movendo o fluido. As bombas operam por meio de muitas fontes de energia, incluindo operação manual, eletricidade, motores ou energia eólica, vêm em muitos tamanhos, desde microscópicos para uso em aplicações médicas até grandes bombas industriais.
  • Ventilador de resfriamento DC 12V:é importante entender as técnicas de resfriamento que podem ser usadas para preservar a vida de sua planta movendo ar fresco ao redor da planta quando for necessário mantê-la em condições saudáveis.





Etapa 3:A fabricação de PCB (produzida por JLCPCB)













Sobre JLCPCB


JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.), é a maior empresa de protótipos de PCB na China e um fabricante de alta tecnologia especializado em protótipos de PCB rápidos e produção de pequenos lotes de PCB.

Com mais de 10 anos de experiência na fabricação de PCB, a JLCPCB tem mais de 200.000 clientes em casa e no exterior, com mais de 8.000 pedidos online de prototipagem de PCB e produção de PCB em pequena quantidade por dia. A capacidade de produção anual é de 200.000 m². para vários PCBs de 1, 2 ou multicamadas. JLC é um fabricante profissional de PCB caracterizado por grande escala, equipamentos de poço, gerenciamento rigoroso e qualidade superior.





De volta ao nosso projeto


Para produzir o PCB, comparei o preço de muitos produtores de PCB e escolhi a JLCPCB, os melhores fornecedores de PCB e os fornecedores de PCB mais baratos para solicitar este circuito. Tudo o que eu preciso fazer é alguns cliques simples para carregar o arquivo gerber e definir alguns parâmetros como a cor e quantidade da espessura do PCB, então eu paguei apenas 2 dólares para obter o meu PCB após 3 dias apenas e notei que lá Algumas ofertas de remessa gratuita de vez em quando nesta plataforma de pedidos online.

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

Como você pode ver nas fotos acima, o PCB é muito bem fabricado e eu tenho o mesmo formato de folha do PCB que projetamos e todas as etiquetas e logotipos estão lá para me guiar durante as etapas de soldagem.





Etapa 4:Ingredientes


Agora vamos revisar os componentes necessários para este projeto e você pode encontrar todos os links relacionados para um pedido online, portanto, precisaremos:
  • - O PCB que pedimos da JLCPCB
  • - Arduino Nano:http://amzn.to/2C7g0YW
  • - Módulo ESP01:http://amzn.to/2CCRVdL
  • - Módulo Bluetooth HC-05 ou HC-06:http://amzn.to/2CCRVdL
  • - Sensor de luz BH1750:http://amzn.to/2CCRVdL
  • - Sensor de temperatura e umidade:http://amzn.to/2CCRVdL
  • - Sensor de umidade:http://amzn.to/2CCRVdL
  • - Bomba de água:http://amzn.to/2CCRVdL
  • - Ventilador 12V dc:http://amzn.to/2CCRVdL
  • - LEDs brancos:http://amzn.to/2CCRVdL
  • - Alguns conectores de cabeçalho:http://amzn.to/2CCRVdL-





Etapa 5:montagem












Mostrar todos os 9 itens

Estamos prontos agora, vamos começar a soldar os componentes e não se esqueça de seguir as etiquetas para evitar erros de soldagem. Começamos soldando o conector do Arduino para testar a fonte de alimentação e você também pode escrever alguns códigos de teste básicos para verificar a conexão certa para cada sensor como o sensor de luz e é o mesmo para os LEDs porque eles estão todos conectados diretamente à placa (Arduino ) para que você tenha acesso total a eles.

Nota :Você precisa manter seu ferro de solda limpo e em boas condições. Isso significa limpá-lo com a esponja sempre que o usar. A ponta do seu ferro de soldar deve estar limpa e brilhante. Sempre que você notar que a ponta está suja de fluxo ou oxidando, isso significa que está perdendo o brilho, deve-se limpar. Mesmo se você estiver no meio de uma soldagem. Ter uma ponta de solda limpa torna MUITO mais fácil transferir calor para o alvo de soldagem.

O PCB que encomendamos do JLCPCB irá guiá-lo por manter tudo no lugar certo, então não hesite em visitar este link se quiser visualizar o PCB que fizemos e fazer um pedido online.

Como você pode ver, usar esta placa de circuito impresso é muito útil por causa de sua qualidade e com certeza todas as etiquetas lá fornecem a melhor orientação para você, então você terá 100% de certeza que não cometerá nenhum erro de soldagem.

Eu soldei cada componente em sua colocação e você pode usar ambos os lados do PCB para soldar suas peças eletrônicas.

Agora que temos a placa de circuito impresso pronta e todos os componentes soldados muito bem, depois disso preparei este projeto para fazer um corte CNC a laser para inserir a parte eletrônica e a planta em um suporte, então se você quiser fazer o mesmo desenho que meu encontre os arquivos (DXF) aqui





Etapa 6:o aplicativo Android.






Este aplicativo permitirá que você se conecte ao seu Arduino através de Bluetooth, e usando o modo Manual você terá acesso aos ventiladores, luzes e também a bomba d'água para o controle ON e OFF, sem esquecer os sensores pelos quais você pode ler seus dados. pressionando o botão “obter dados” e todos os dados apropriados serão exibidos na tela do seu smartphone.

Você pode obter este aplicativo Android gratuitamente neste link





Etapa 7:o código do Arduino e a validação do teste










o código está disponível e, como de costume, você pode baixá-lo neste link. E como você pode ver nas fotos o código é tão simples e muito bem comentado que você pode entendê-lo por si mesmo.

Como podem ver galera cada botão tem uma funcionalidade com o sistema, mas o que eu realmente aprecio é o modo automático para controle de brilho da luz coloquei o sensor de luz na base inferior da casa então quando selecionarmos este modo o sistema irá controlar o brilho dos LEDs da luz frontal dependendo dos sinais do sensor. Também podemos ler os valores de temperatura e umidade diretamente na tela do smartphone, o que é realmente impressionante.

Código

  • código-fonte do Arduino
Código-fonte do Arduino Arduino
 / ********************************************** *************************************************** *************************************************** ********************** * - Autor:BELKHIR Mohamed * * - Profissão:(Desenvolvedor) Proprietário MEGA DAS * * - Objetivo principal:Aplicação Industrial * * - Detentor dos direitos autorais (c):Todos os direitos reservados * * - Licença:Licença BSD de 2 cláusulas * * - Data:20/11/2017 * * ******************** *************************************************** *************************************************** ************************************************** / / *********************************** NOTA ************** ************************* /// A redistribuição e o uso nas formas de origem e binária, com ou sem // modificação, são permitidos desde que as seguintes condições são atendidas:// * As redistribuições do código-fonte devem manter o aviso de direitos autorais acima, esta // lista de condições e a seguinte isenção de responsabilidade.// * As redistribuições na forma binária devem reproduzir o abo ve aviso de direitos autorais, // esta lista de condições e a seguinte isenção de responsabilidade na documentação // e / ou outros materiais fornecidos com a distribuição. OU GARANTIAS IMPLÍCITAS, INCLUINDO, MAS NÃO SE LIMITANDO A, // GARANTIAS IMPLÍCITAS DE COMERCIABILIDADE E ADEQUAÇÃO A UM DETERMINADO FIM SÃO REJEITADAS / * ________________________________________________________________________________________________________________ (`v) ________________________________________________________________________________ (. _) __ (`()) ___________________________________________________________________________________________________ (` v) (_. ^ ._) __________________________________________________________________________________________________________ (`()) (` v) _______________________________________________________________ ____________________________________ (_. ^ ._) (`()) ______________________________________________________________________________________________ (` v) _____ (_. ^ ._) (`v) _____________________________________________________________________________________________________ (` ()) _ (`v) ___ (` ()) __________________________________________________ (_____________________ . ^ ._) _ (`()) ___ (_. ^ ._) ______________________________________________________________________________________________ (` v) (_. ^ ._) (`v) _______________________________________________________________________________________________________ (` ()) ____ (`()) _________________________________________________ . ^ ._) _____ (_. ^ ._) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________.__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ______________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ( `v) __________________________________________________________________________________________ (` ()) __________________________________________________________________________________________ (_. ^ ._) ___________________________________________________________________________________________ ( `v) ____________________________________________________________________________________________ (` ()) ______________________________________________________________________________________________ (_. ^ ._) __________________________________________________________________________ ______________________ (`v) __________________________________________________________________________________________________ (` ()) __________________________________________________________________________________________________ (_. ^ ._) __________________________________________________________________________________________________________________________________________________________________________________________________________________________ (_. ^ ._) __________________________________________________________________________________________________________________________________________________________________________________________________________________ * / # Inclui a biblioteca DHT para fazer a interface com o sensor DHT.h // Biblioteca IC para usar o sensor de luz # inclui  // Importe a biblioteca BH1750 para poder usar o sensor de luz // ------------------- ----------------------------- Defina os pinos de controle ----------------- --------------------------------------- const int Bomba =4; // Usamos este pino para controlar a bomba do motor const int Fan =5; // Use este pino como uma saída PWM para controlar o Fan speedconst int Light =6; // Use este pino para controlar o brilho do LEDconst int TempHum =7; // Pino de entrada para sensor DHT int Moisture =8; // Pino de entrada digital para ler os sinais de comando de umidadeconst int TestLED =9; // Use este pino de saída para testar a soldagem correta em seu PCB, ligando e desligando os LEDsconst int Brightness =12; // Pino de entrada para ler os sinais do sensor de luzconst int analogMoistue =0; // Entrada analógica para ler o sinal analógico do sensor de umidade // ------------------------------------ -------------------------------------------------- ------------------------------------------- # define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321DHT dht (TempHum, DHTTYPE); // Construtor do sensor de temperatura e umidadeBH1750 lightMeter; // Constructorchar do sensor de luz Data ='x'; // Armazena dados seriais nesta variávelString cmd =""; // Leia a instrução completa enviada do appint android flagModeAuto =0; // sinaliza para ativar o modo automático sprayCMD =0; // Limite CMD sprayint LightCMD =0; // limite de brilho do CMD lightLevelPlus =0; // Variável para controlar o brilho da luz temperatura flutuante =0; // Variável para armazenar o valor da temperaturafloat umidade =0; // Variável para armazenar o valor de umidadeuint16_t lux =0; // Variável para ler o brilho da luz do sensor de luz // ------------------------------------- ----------- Iniciar a configuração do pino ----------------------------------- --------------------- void setup () {Wire.begin (); // Inicialize o barramento I2C (a biblioteca BH1750 não faz isso automaticamente) dht.begin (); // Inicia a leitura do sensor de temperatura e umidade lightMeter.begin (); // Inicia a leitura do sensor de luz Serial.begin (9600); // Defina a taxa de transmissão em até 9600 BPS para se comunicar com o aplicativo Android por meio de Bluetooth Serial.setTimeout (100); // Define o tempo de espera pelos dados antes de fechar a porta serial (após 100 ms) pinMode (Pump, OUTPUT); pinMode (Ventilador, SAÍDA); pinMode (Light, OUTPUT); pinMode (umidade, INPUT); pinMode (TestLED, INPUT); atraso (1000); digitalWrite (Bomba, BAIXO); digitalWrite (Ventilador, BAIXO); digitalWrite (Light, LOW);} // ---------------------------------------- -------- Inicie o código do processo -------------------------------------- ------------------ void loop () {while (Serial.available ()) // Lê os dados seriais assim que disponíveis {delay (10); Dados =Serial.read (); cmd + =Dados; } if (cmd =="dt") // Envia o valor da umidade para o app android {Serial.print (umidade); } if (cmd =="dh") // Envia o valor do brilho para o aplicativo Android {Serial.print (lux); } if (cmd =="db") // Envia o valor da temperatura para o aplicativo Android {Serial.print (temperatura); } if (cmd =="o") // Ativa o modo automático {flagModeAuto =1; } if (cmd =="m") // Desativa o modo automático {flagModeAuto =0; } if (flagModeAuto ==1) {autoPump (); lightBrightness (); autoFan (); } if (flagModeAuto ==0) {if (cmd =="f") // LIGUE o FAN {analogWrite (Fan, 255); } if (cmd =="x") // DESLIGUE o FAN {analogWrite (Fan, 0); } if (cmd =="l") // Liga as luzes {analogWrite (Light, 255); } if (cmd =="k") // DESLIGUE as luzes {analogWrite (Light, 0); } if (cmd =="w") // LIGUE a bomba {analogWrite (Bomba, 255); } if (cmd =="y") // DESLIGUE a bomba {analogWrite (Bomba, 0); }} cmd =""; // Limpe a variável cmd para torná-la disponível para a próxima instrução lux =lightMeter.readLightLevel (); // Obtenha o nível de brilho do sensor de luz temperature =dht.readTemperature (); // Pega o valor da temperatura do sensor DHT (C) umidade =dht.readHumidity (); // Obtenha o valor de umidade do sensor DHT (%)} // ---------------------------------- -------------- Função de controle automático para Bomba de spray ------------------------------ -------------------------- void autoPump () {if (analogRead (analogMoistue)  30) {analogWrite (Fan, 255); // LIGA o ventilador se a temperatura ultrapassar 30C} else {analogWrite (Fan, 0); // DESLIGUE o ventilador se a temperatura exceder 30C}} 

Peças personalizadas e gabinetes

dxf_mdf_5mm_s0PEHuez4w.rar

Esquemas


Processo de manufatura

  1. Faça Monitor Ambilight usando Arduino
  2. Jogo Arduino Pong - Tela OLED
  3. Detector de frequência de áudio
  4. Arduino Tamagotchi Clone - Animal de estimação digital
  5. Manipulador de interruptor de luz sem fio
  6. Tech-TicTacToe
  7. Pistola de água com sensor de movimento
  8. Cronômetro de contagem regressiva do Arduino
  9. Arduino Sunflower:An Electronic Sun-Dancer
  10. Robô para navegação interna supercool