Índice:
- Etapa 1: Instale a irrigação do jardim
- Etapa 2: Ajustar temporizador de toque
- Etapa 3: Arduino Build
- Etapa 4: Programação do Arduino
- Etapa 5: construção do gabinete
- Etapa 6: testar o controlador antes de colar
- Etapa 7: cola / gabinetes à prova d'água
- Etapa 8: instalar
- Etapa 9: Integração do ThingsBoard - Monitoramento e Relatórios
Vídeo: Faça você mesmo - Irrigação automatizada do jardim - (Arduino / IOT): 9 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Este projeto mostrará como construir um controlador de irrigação para uma horta doméstica. Capaz de medir as leituras de umidade do solo e ativar a irrigação de uma torneira de jardim se o solo ficar muito seco. O controlador também inclui um sensor de temperatura e umidade. O controlador não ativará a torneira do jardim se a temperatura estiver muito baixa. As leituras do sensor e estatísticas sobre o uso de água / tempos de execução são registradas no ThingsBoard IOT para visualização e análise. Alertas e emails são disparados se o controlador de irrigação parar de transmitir dados, o solo ficar muito seco ou muito saturado.
Pré-requisitos
- Conhecimento em Arduino, incluindo pelo menos codificação básica para Arduino e soldagem.
- 1 torneira de jardim pressurizada
Lista de Materiais
- Tubo poli de irrigação de jardim, jatos, gotejadores, etc.
- Temporizador de torneira eletrônico com dois mostradores (isto é: Temporizador eletrônico digital de torneira Aqua Systems)
- Redutor de pressão da torneira 300kpa
- Arduino Uno
- Lora Arduino Shield
- Lora Gateway (não é necessário se você tiver um gateway local da Things Network ao alcance)
- Sensor de umidade de temperatura DHT11
- Relé 5v
- Cabo de telefone
- Abraçadeiras
- Tubulação corrugada de divisão automotiva
- Tiras de conector de terminal automotivo
- 2 unhas galvanizadas
- 1x resistor
- Silicon / Calafetar
- Cimento de PVC
- PVC Primer
- Tubo de PVC com 32 mm de largura x 60 mm de comprimento
- Tubo de PVC com 90 mm de largura x 30 cm de comprimento
- 3x tampas de extremidade de pressão de PVC 90 mm
- 1x tampa de rosca de PVC 90 mm
- 1x encaixe roscado de PVC 90 mm
- 1x PVC Push End Caps 32mm
- 1x fonte de alimentação de 3,2 V (temporizador de torneira) [baterias, adaptador multivolt AC]
- 1x fonte de alimentação de 6-12 V (arduino) [baterias, USB, USB para adaptador AC]
- fita de vedação de rosca
- fita isolante
Etapa 1: Instale a irrigação do jardim
Layout de tubo poli, ajuste de jatos, linhas de gotejamento e gotejadores. O controlador de irrigação funcionará com qualquer ajuste de irrigação. Em seu núcleo está medindo as leituras de umidade do solo e ativando o temporizador de torneira se e quando o solo estiver muito seco. O controlador pode ser calibrado para definir o ponto baixo de saturação, por quanto tempo o temporizador de tap deve ser ligado e com que freqüência o controlador deve verificar a saturação.
Essas configurações podem ser alteradas no arduino e armazenadas na memória EPROM. As configurações também podem ser atualizadas pela integração IOT. Este projeto irá acionar o controlador a cada quatro horas e abrir a torneira por 3 minutos se o solo estiver muito seco. Pode ser executado algumas vezes seguidas se estiver seco / quente ou uma ou duas vezes por dia.
Etapa 2: Ajustar temporizador de toque
Instale o temporizador de torneira e experimente os mostradores ajustáveis para calcular uma frequência aproximada e um tempo de execução que funcione melhor para sua instalação de irrigação. Removeremos o cronômetro e o modificaremos para funcionar com um Arduino.
Etapa 3: Arduino Build
Use o diagrama de fiação como um guia para a construção. Nas fotos foi usado cabeamento telefônico e tiras de terminais de parafuso para pontos de junção. É necessária alguma soldagem.
Modificação do temporizador de toque
Desmonte cuidadosamente o temporizador de torneira. Faremos a fiação dos dois dials ajustáveis para que possam ser controlados pelo arduino em vez dos dials manuais. O dial de freqüência esquerdo será conectado à posição de reinicialização de forma que o dial direito possa ser alternado entre a posição on / off. O mostrador direito terá um fio vindo do contato central direito e o contato externo direito, conforme mostrado. Por padrão, o cronômetro estará na posição desligado. Se os dois fios entrarem em contato, o cronômetro será ativado. Com os dois fios conectados a um relé de 5 V, um arduino pode então fechar / abrir o contato entre os dois fios. Com um fio no terminal de relé comum e o outro no terminal normalmente fechado, garantiremos que o cronômetro seja desligado quando o arduino for desligado. Definir o pino do relé como HIGH ligará o temporizador; defini-lo como BAIXO desligará o cronômetro.
Soil Probe
Para este projeto, os dois pregos são soldados a um fio conectado a terminais de parafuso. O terminal de um prego vai direto para o solo. O outro se conecta a uma entrada analógica no arduino e um resistor. O resistor se conecta ao sinal arduinos 5v. Mostrado no diagrama de torção.
Sensor de temperatura / umidade
O sensor de temperatura / umidade DHT11 é conectado ao arduino 5V, aterrado e um pino digital no arduino.
Escudo Lora
Este projeto também usou um Dragino Lora Shield (não mostrado no diagrama de fiação).
Base de PVC
A base de PVC para o arduino usado neste projeto foi projetada de forma que o sensor de temperatura / umidade pudesse ser exposto, mantendo todos os outros componentes protegidos dentro do invólucro de PVC à prova d'água. Um pequeno orifício é feito / cortado para o sensor e silício é usado para mantê-lo no lugar enquanto evita que a umidade alcance o arduino. Mostrado no diagrama.
Etapa 4: Programação do Arduino
Conecte os componentes juntos por meio de uma placa de ensaio ou tiras de terminais para programação e teste
Configuração EPROM
Primeiro, precisamos gravar as variáveis de configuração na memória EPROM. Execute o seguinte código em seu arduino:
Código disponível no Github
Aqui o DRY_VALUE é definido em 960. 1024 significa que o solo está completamente seco, 0 significa saturação completa, 960 foi um bom nível de saturação para o resistor, comprimento do cabo e pregos usados. Isso pode variar dependendo da sua própria configuração.
VALVE_OPEN é definido em 180000 milissegundos (3 minutos). Quando / se o temporizador de torneira estiver ativado, ele ficará aberto por 3 minutos.
RUN_INTERVAL é definido em 14400000 milissegundos (4 horas). Isso significa que o controlador verificará a umidade do solo a cada quatro horas e ligará o temporizador da torneira por 3 minutos se a saturação for baixa (maior que 960).
O código acima pode ser alterado e esses valores modificados a qualquer momento.
Código do Programa
Código disponível no Github
Dependências:
- TimedAction
- Cabeça de rádio
Este exemplo usou o escudo Dragino Lora e especificamente o exemplo simultâneo Lora com o escudo conectando-se diretamente ao Portal Dragino Lora.
Isso pode ser adaptado para usar o Things Network removendo o código na seção "BEGIN: lora vars" e alterando o programa para incluir o seguinte exemplo de Dragino ou adaptado para funcionar com outros rádios / escudos wi-fi etc.
O código fornecido assume que DHT11_PIN é o pino digital 4, o RELAY_PIN é o pino digital 3 e o pino analógico da umidade do solo é a entrada analógica 0.
Uma variável de depuração pode ser definida como verdadeira para que as mensagens de depuração em série possam ser registradas na taxa de transmissão de 9600.
Etapa 5: construção do gabinete
Corte o tubo de PVC de acordo com o temporizador de torneira e a base do Arduino. Faça furos para a conexão da torneira do temporizador de torneira e a conexão da mangueira. Faça furos no tubo com largura suficiente para o conduíte automotivo, coloque 10 cm de comprimento do conduíte nos furos e retire os fios do arduino e do temporizador de torneira. Isso deve incluir:
Do Arduino
- Fios de alimentação e / ou um cabo USB da porta USB do arduino.
- Cabos de umidade do solo (VCC, GND, A0)
- Dois fios dos terminais de parafuso NC e comum do relé
Do temporizador de torneira
- Cabos de alimentação
- Dois fios dos contatos de discagem certos
Etapa 6: testar o controlador antes de colar
Certifique-se de que tudo ainda está funcionando antes de lacrar tudo.
As fotos acima mostram uma configuração de amostra em um esky onde a sonda de umidade do solo foi colocada em uma panela e o temporizador da torneira foi equipado com água proveniente de uma garrafa de refrigerante.
Um gotejador foi acoplado ao temporizador de torneira.
Esta foi uma boa maneira de testar se a configuração não regou demais ou submergiu a planta.
Este exemplo pode ser executado pelo tempo necessário para calibrar o controlador.
Etapa 7: cola / gabinetes à prova d'água
Use PVC Primer e PVC Cement para proteger as tampas e o acoplamento.
Use calafetagem / silicone para preencher quaisquer lacunas ao redor do conduíte automático e bata nas conexões do temporizador.
Aqui, uma tampa de rosca é usada no gabinete Arduino para acessibilidade.
Etapa 8: instalar
Instale em um dia claro. Os componentes e fios deverão permanecer secos antes de serem selados.
Coloque o controlador em algum lugar centralizado entre onde a torneira do jardim está localizada e onde a sonda de solo será colocada.
Instale o temporizador de torneira e certifique-se de que ele esteja desligado até que a instalação seja concluída.
Instale a sonda de solo.
Conecte os terminais de fita a cada componente e, em seguida, coloque o cabo telefônico dos terminais de parafuso de cada componente, certificando-se de que o cabo esteja coberto por um conduíte automático. Conectando tudo junto
Sele todos os terminais e quaisquer outras peças expostas com fita de vedação de rosca e depois fita isolante.
Vede todas as áreas soltas / expostas do conduíte dividido com fita de vedação de rosca e depois fita isolante.
Conecte o temporizador a uma fonte de alimentação de 3.2v. Tanto uma bateria quanto um adaptador DC-AC de 3,2 V ligado a uma tomada elétrica.
Conecte o Arduino a uma fonte de alimentação de 6-12 Vcc. Tanto uma bateria quanto um adaptador USB / DC-AC ligado a uma tomada elétrica.
Ligue e teste!
Etapa 9: Integração do ThingsBoard - Monitoramento e Relatórios
Este exemplo usou um escudo Dragino Lora conectado a um portal Dragino Lora. Seja usando esta configuração, outra configuração Lora ou qualquer outra conectividade IOT, os dados coletados pelo controlador de irrigação podem ser encaminhados para uma plataforma IOT como o Thingsboard. Por padrão, o programa transmite a seguinte string de dados, onde cada byte de caractere é codificado em hexadecimal:
TXXXHXXXSXXXXRX
Onde T é seguido pela temperatura, H é seguido pela umidade, S é seguido pelo nível de saturação e R é seguido por um único dígito relacionado à ação que ele executou no último intervalo de execução. Pode ser de 0 a 5, onde cada dígito significa:
0: O programa está inicializando1: Falha do sensor de temperatura2: A temperatura estava muito baixa para funcionar3: Umidade do solo muito seca, então o temporizador da torneira foi ativado4: Umidade do solo fina, então o temporizador da torneira não foi ativado5: O controlador de irrigação foi desativado
Existem várias maneiras de instalar uma cópia do Thingsboard em seu próprio equipamento ou você pode configurar uma conta gratuita em nossa instalação do ThingsBoard aqui.
Configure seu dispositivo no Thingsboard
Siga estas instruções para adicionar um novo dispositivo no Thingsboard, chamando-o de "Controlador de irrigação".
Empurre dados de telemetria do dispositivo
Siga estas instruções para configurar um método de envio de dados de telemetria do dispositivo para Thingboard via MQTT, HTTP ou CoAp.
Em nosso servidor, estamos enviando o seguinte JSON para https://thingsboard.meansofproduction.tech/api/v1/… a cada quatro horas quando o dispositivo é executado (com dados ativos):
Além disso, estamos enviando os seguintes atributos para https://thingsboard.meansofproduction.tech/api/v1/… periodicamente com dados sobre quando o nó foi visto pela última vez:
Isso é usado para alertas que são acionados se o dispositivo parar de transmitir dados.
Crie um painel
Crie um painel conforme descrito aqui. Nossos widgets incluem:
Um widget de cartão simples criado a partir do campo de telemetria lastRunResult. Um medidor digital vertical para o campo de telemetria de temperaturaUma tabela Timeseries criada a partir do campo de telemetria lastRunResult mostrando os dados dos últimos dias. Uma barra horizontal mostrando o campo de telemetria de saturação. Isso usa uma função de pós-processamento de dados:
return 1024-value;
E define um valor mínimo e máximo de 0-100. Desta forma, o nível de saturação pode ser expresso como uma porcentagem. Um medidor para mostrar o valor de umidade. Um gráfico de barras de série temporal que inclui a temperatura, a umidade e o resultado da corrida, agrupados em períodos de 5 horas na última semana, agregados para mostrar os valores máximos. Isso nos dá uma barra para um evento de corrida de quatro horas. Uma função de pós-processamento de dados é usada para expressar o resultado da corrida como 0 ou 120, dependendo se a água foi ou não executada. Isso fornece um feedback visual fácil para ver com que frequência a água está correndo em uma semana. Um cartão HTML estático que mostra uma imagem do jardim.
Alertas de E-mail
Usamos regras para configurar alertas de e-mail para o controlador de irrigação. Todos usam filtros de mensagens e uma ação de plug-in de ação Enviar e-mail.
Para enviar um alerta por e-mail se o controlador de irrigação não conseguir enviar dados, usamos o 'Filtro de atributos do dispositivo' com o seguinte filtro:
typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600
Para enviar um e-mail se o solo ficar muito seco use o seguinte filtro de telemetria
typeof saturation! = "undefined" && saturation> 1010
Para enviar um e-mail se o solo ficar muito úmido, use o seguinte filtro de telemetria
typeof saturation! = "undefined" && saturation
Recomendado:
Lente macro faça você mesmo com AF (diferente de todas as outras lentes macro faça você mesmo): 4 etapas (com fotos)
Lente macro faça você mesmo com AF (diferente de todas as outras lentes macro faça você mesmo): Já vi muitas pessoas fazendo lentes macro com um kit de lentes padrão (geralmente de 18-55 mm). A maioria deles são lentes fixadas na câmera ao contrário ou com o elemento frontal removido. Existem desvantagens para ambas as opções. Para montar a lente
Construir um Mini Sistema Hidropônico Faça Você Mesmo e Jardim de Ervas Hidropônico Faça Você Mesmo com Alertas de WiFi: 18 etapas
Construa um Mini Sistemas Hidropônicos DIY e Jardim de Ervas Hidropônico DIY com Alertas de WiFi: Neste tutorial, mostraremos como construir um sistema #DIY #hidropônico. Este sistema hidropônico DIY regará em um ciclo de irrigação hidropônico personalizado com 2 minutos ligado e 4 minutos desligado. Ele também monitorará o nível de água do reservatório. Este sistema
Faça painéis frontais com aparência profissional para seu próximo projeto faça você mesmo: 7 etapas (com fotos)
Faça painéis frontais com aparência profissional para seu próximo projeto DIY: Fazer painéis frontais com aparência profissional para projetos DIY não precisa ser difícil ou caro. Com algum software GRATUITO, material de escritório e um pouco de tempo você pode fazer painéis frontais com aparência profissional em casa para enfeitar seu próximo projeto
Atualize a panela de autorregulação faça você mesmo com Wi-Fi em um alarme de sentinela de detecção de movimento faça-você-mesmo plantador: 17 etapas
Atualize a panela self-watering DIY com Wi-Fi em um alarme Sentry de detecção de movimento DIY Plantador: neste artigo, mostraremos como atualizar sua panela self-watering DIY com WiFi para uma panela self-watering DIY com Wi-Fi e alarme Sentry de detecção de movimento. Se você não leu o artigo sobre como construir uma panela autônoma do tipo faça-você-mesmo com Wi-Fi, pode encontrar
Faça você mesmo USB-C para cabo de fone de ouvido MMCX (se você não pode comprar, construa!): 4 etapas
Faça você mesmo USB-C para cabo de fone de ouvido MMCX (se você não pode comprar, construa!): Depois de muita frustração, tentando, sem sucesso, encontrar uma solução USB-C para meus fones de ouvido de última geração com conectores MMCX removíveis, decidi remendar juntos um cabo usando um conversor digital para analógico USB-C adaptado e um cabo de 3,5 mm para MMCX