Índice:

Sistema autônomo de irrigação de plantas: 4 etapas
Sistema autônomo de irrigação de plantas: 4 etapas

Vídeo: Sistema autônomo de irrigação de plantas: 4 etapas

Vídeo: Sistema autônomo de irrigação de plantas: 4 etapas
Vídeo: Spoiler para formação do dia 22/09/2022 - Irrigação com Arduino - DE - Botucatu. 2024, Novembro
Anonim
Sistema autônomo de irrigação de plantas
Sistema autônomo de irrigação de plantas
Sistema autônomo de irrigação de plantas
Sistema autônomo de irrigação de plantas
Sistema autônomo de irrigação de plantas
Sistema autônomo de irrigação de plantas

Este projeto apresenta um sistema autônomo inteligente de irrigação de plantas. O sistema é autônomo em energia usando uma bateria de 12v e um painel solar, e rega a planta quando as condições certas estão definidas, com um sistema bem pensado (espero) à prova de falhas. É inteligente porque se comunica com o (s) usuário (s) através do aplicativo Telegram.

As etapas seguidas pelo sistema são as seguintes:

  • o teor de água do solo é sempre monitorado;
  • se o teor de água do solo estiver abaixo de um certo valor (max_soil_moisture), o sistema:

    • (?) verifica se o tanque de água não está vazio (e durante) o evento de irrigação para evitar qualquer dano à bomba funcionando a seco;
    • (?) verifica se o período mínimo de irrigação entre dois eventos de irrigação foi excedido. Isso é feito para evitar molhar as plantas muitas vezes durante o dia (é melhor deixar um pouco de ressecamento em algum momento), e para adicionar alguma segurança caso o sensor de umidade do solo esteja quebrado;
    • (?) iniciar a irrigação;
    • interrompe a irrigação sempre que:

      • (?) o teor de água do solo atinge um determinado valor (max_soil_moisture) ou;
      • (?) o reservatório de água está vazio, caso em que a irrigação será retomada assim que for enchido novamente, ou;
      • (?) a duração da rega excede a duração máxima permitida para cada evento de rega (watering_max_time). O objetivo aqui é evitar o funcionamento da bomba até que a caixa d'água se esvazie se houver vazamento no sistema que impeça o aumento da umidade do solo;
  • (?) verifica se as plantas são regadas pelo menos a cada determinado período de tempo (max_wo_water), para evitar que morram se, por exemplo, o sensor de umidade do solo está quebrado e retorna valores sempre altos;

O usuário é notificado por mensagens do Telegram a cada passo importante (denotado?). O usuário também pode acionar manualmente um evento de irrigação do Telegram, mesmo se o conteúdo de água do solo for superior ao valor fornecido (max_soil_moisture). Também é possível LIGAR e DESLIGAR todo o sistema, perguntar se o sistema está instalado e funcionando ou perguntar o valor atual do teor de água do solo (ver instantâneo do Telegrama).

Suprimentos

Material

Aqui está uma lista dos produtos usados para construir o sistema. Devo dizer que não recebo nenhum incentivo da Amazon, de onde todos os produtos foram comprados.

Para controlar o sistema:

  • Placa NodeMCU (ESP8266) para o cérebro, 17,99 €
  • Módulo de relé, 11,99 €
  • 120 fios de jumper de prototipagem, 6,99 € -> prototipagem
  • 3 breadboards, 8,99 € -> prototipagem
  • Caixa à prova d'água, 10,99 €
  • Kit de resistências de 525 peças, 10,99 €
  • PCB impresso com conexões semelhantes a uma placa de ensaio, 9,27 €
  • Fios elétricos trançados 20, 22 ou 24 AWG dependendo da sua preferência (20 é mais sólido, mas precisa ser reduzido para algumas conexões, 22 é bom, 24 é mais barato), 18,99 €

Pela autonomia em energia:

  • Bateria 12V, 21,90 €
  • Painel solar monocristalino de 10W wp 12V, 23,90 €
  • Controlador de carga 12 / 24V, 13,99 €

Para o tanque de água:

  • Bomba de água 12V, 16,99 €
  • Conector DC macho / fêmea (para conectar a bomba), 6,99 €

Os sensores:

  • Flutuador de nível de água, 7,99 €
  • Sensor capacitivo de umidade do solo, 9,49 €
  • algum verniz para a impermeabilização do sensor de humidade do solo, 7,99 €;

E o sistema de irrigação:

Sistema de irrigação, 22,97 €

Num total de 237,40 €. Isso não é barato! Mas lembre-se de que ainda é mais barato do que um sistema predefinido e com muito mais recursos! Além disso, algumas peças são apenas para prototipagem (15,98 €), e comprei muitos componentes em grupos de várias peças para outros projetos, por ex. 525 resistores é uma quantidade louca, você não precisa de 3 placas NodeMCU, nem de 6 relés para este projeto.

Etapa 1: Código

Para reproduzir este projeto, você precisará de algumas ferramentas, algum material e o código deste projeto.

Código

Para obter o código deste projeto, clone-o (ou melhor, faça um fork) do repositório Github usando GIT, e se você não sabe o que significa GIT, clone e fork, basta fazer o download em seu computador usando este link?.

Em seguida, configure-o de acordo com suas necessidades!

Para usar o Telegram, o NodeMCU precisa estar conectado à internet. Fiz isso usando seu módulo WIFI e meu WIFI doméstico. Para configurar sua própria conexão, abra o script plant_watering.ino no Arduino IDE e preencha os valores ausentes para suas credenciais de Wi-Fi (presumo que você tenha Wi-Fi):

String ssid = "xxxxx"; // Nome do seu Wifi String pass = "xxxxx"; // Senha do wifi

Então, vamos configurar um bot do Telegram, que é uma conta de usuário um pouco parecida com a sua, mas na verdade executada por um robô (seu NodeMCU). Para fazer isso, siga as etapas descritas aqui. Em poucas palavras:

  • Abra o Telegram (e conecte-se à sua conta);
  • Crie um novo bot:

    • Pesquise o BotFather em seus contatos (digite-o na barra de pesquisa) e abra uma conversa com ele (como faria com qualquer novo contato);
    • Digite / newbot na conversa (observe o caso e inclua /!)
    • Nomeie seu bot como quiser, mas termine com "bot" (por exemplo, "watering_bal concepts_bot");
    • O Botfather dá a você um token de bot, mantenha-o em segredo (não compartilhe usando o GIT !!), vamos usá-lo em alguns passos;
    • Pesquise em seus contatos e envie esta mensagem: / start
    • Copie o token retornado pelo Botfather e cole-o em seu script plant_watering.ino aqui:

      Token de string = "xxxxxx: xxxxxxxxxxxxxxxxxxxxxxx"; // Token do bot do Telegram

Seu bot agora está vivo!

Para permitir que ele se comunique com você, ele precisa saber seu ID de conversa. Porque queremos poder compartilhar o que o bot está dizendo com outras pessoas no caso de sairmos de férias, prefiro criar um chat em grupo. Portanto, crie um (Novo Grupo), adicione seu bot pesquisando seu nome e adicione um terceiro bot chamado IDBot temporariamente. Em seguida, nomeie seu bate-papo em grupo como desejar. Abra seu bate-papo em grupo e digite / getgroupid. O IDBot retornará um número como -xxxxxxxxx (não se esqueça do sinal de menos ao copiá-lo!), Esse é o seu ID de chat em grupo!

Você também pode pedir ao / getid para obter sua ID pessoal, então seu bot enviará mensagens diretamente para você (não as enviará para o grupo)

Copie o ID e cole-o em seu script plant_watering.ino aqui:

int chatID = -000000000; // Este é o ID do seu chat em grupo Cole o / getid aqui se quiser que o bot envie mensagens diretamente para você

Em seguida, remova o IDBot do seu grupo para garantir (não queremos nenhum vazamento de dados).

Para a última etapa, você precisará instalar as bibliotecas CTBot e ArduinoJson. Para fazer isso, digite ctrl + maj + I, pesquise CTBot e procure CTBot de Stefano Ledda e clique em instalar. Em seguida, repita para ArduinoJson, e procure ArduinoJson de Benoit Blanchon, mas instale a versão 5.13.5 por enquanto porque CTBot ainda não é compatível com a sexta versão (você pode verificar aqui se há alguma alteração).

E é isso, seu código está pronto! Agora você pode fazer o upload para o NodeMCU! Se houver alguns erros, verifique se você selecionou NodeMCU 1.0 como o tipo de placa e se você usa a versão correta para suas bibliotecas.

Etapa 2: Ferramentas

Ferramentas

As ferramentas são muito simples, usei para este projeto:

  • Um ferro de soldar + estanho (por exemplo, 220 V 60 W);
  • Um multímetro (o meu é um TackLife DM01M);
  • Uma chave de fenda (minúscula é melhor);
  • Alicate de corte;

Se os tiver, também pode adicionar alguns descascadores de fios, mas não são indispensáveis.

Etapa 3: Montagem

conjunto
conjunto

Você pode encontrar a montagem das peças usando Fritzing para abrir o projeto Fritzing no repositório Github.

NB: o NodeMCU está conectado ao controlador de carregamento solar por um cabo USB (aquele no esquema não tem um). Consulte a seção Material para obter um exemplo de controlador de carregamento solar com USB.

Disponibilizei todas as peças personalizadas na pasta fritzing do projeto Github (todas podem ser encontradas na internet, exceto o flutuador de água, porque eu o fiz).

Etapa 4: Agradecimentos

Gostaria de agradecer ao meu maravilhoso parceiro que me deixou fazer isso durante os finais de semana! E, claro, todos os criadores que tornaram o projeto possível, como @shurillu para a super biblioteca CTBot, EstebanP27 para seu tutorial com o qual aprendi muito para este projeto! Também gostaria de agradecer ao svgrepo, do qual usei SVGs como base para o logotipo.

Recomendado: