Índice:

Sistema de alerta de solo com baixa umidade para sua planta: 5 etapas
Sistema de alerta de solo com baixa umidade para sua planta: 5 etapas

Vídeo: Sistema de alerta de solo com baixa umidade para sua planta: 5 etapas

Vídeo: Sistema de alerta de solo com baixa umidade para sua planta: 5 etapas
Vídeo: Módulo 07 - Água no Sistema Solo-Planta-Atmosfera 2024, Novembro
Anonim
Sistema de alerta de solo com baixa umidade para sua planta
Sistema de alerta de solo com baixa umidade para sua planta

Em várias residências, é comum encontrar potes com diferentes tipos de plantas. E com o grande número de atividades do dia a dia, as pessoas se esquecem de regar as plantas e acabam morrendo por falta de água.

Como forma de evitar esse problema, decidimos criar um sistema para informar quando uma planta está sem água. Desta forma, você nunca se esquecerá de irrigar sua planta e ela permanecerá viva por muito tempo. A seguir apresentaremos todo o desenvolvimento deste projeto.

Suprimentos

  • PCB personalizado PCBWay
  • Sensor analógico de umidade do solo para Arduino
  • Arduino UNO
  • Fios de ligação (genérico)
  • LCD padrão - 16 x 2 azul
  • Potenciômetro Rotativo UTSOURCE 10k

Etapa 1: Desenvolvimento do Projeto

Desenvolvimento de projeto
Desenvolvimento de projeto

Uma das formas que utilizamos para detectar a quantidade de água na planta é através do parâmetro umidade. Portanto, quanto menos água houver no jarro da nossa planta, menor será a umidade do solo.

Portanto, devemos usar um sensor de umidade para analisar o estado da umidade em nossa planta.

Através dele, montamos um circuito montado na placa de ensaio com o Arduino, para realizar o monitoramento e indicação de baixa umidade da jarra de cactos. Assim, por meio do display LCD informamos ao nosso usuário sobre a umidade, conforme é mostrado na Figura 1.

Etapa 2: inserir o sensor de umidade no circuito

Inserindo o sensor de umidade no circuito
Inserindo o sensor de umidade no circuito
Inserindo o sensor de umidade no circuito
Inserindo o sensor de umidade no circuito

A partir do circuito acima, inseriremos a sonda para medição de umidade na planta que desejamos monitorar. Em nosso projeto, inserimos uma sonda em um pequeno cacto, conforme mostrado na Figura 2.

Agora, veremos como projetar o trabalho passo a passo e, a seguir, aprenderemos como criar o código de controle. Inicialmente, quando não conectamos o sensor dentro da jarra, o dispositivo tem um baixo teor de umidade de 2% fora o frasco de cacto. Isso pode ser visto na Figura 3.

Etapa 3: compreender os valores de umidade

Entenda os Valores de Umidade
Entenda os Valores de Umidade
Entenda os Valores de Umidade
Entenda os Valores de Umidade

Este baixo valor percentual representa uma baixa umidade. Agora, após inserir o sensor no solo da jarra de cacto, será exibido um valor de 36%, conforme mostrado na Figura 4. Ou seja, nossa umidade está baixa e o sistema exibe a mensagem Baixa Umidade porque o valor é menor de 60%.

O próximo passo é irrigar o solo do jarro do nosso cacto e podemos verificar o aumento do valor da umidade para 69%.

Depois de entender o funcionamento do projeto, apresentaremos toda a lógica construtiva para a criação deste sistema de monitoramento. Vamos começar!

Etapa 4: Programação Lógica

A seguir, a lógica de programação será apresentada através do código construído.

Inicialmente, foi declarada a biblioteca de Display LCD, variáveis e foi criado um objeto LCD com seus pinos de conexão com o Arduino UNO.

#incluir

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, umidade = 0, PreviousValue = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

Após isso, a função de configuração e display LCD 16x2 foram inicializados e o pino do sensor foi configurado como uma entrada. Finalmente, fizemos a primeira leitura do nosso sensor e usamos como referência para a variável PreviousValue, como mostra a seguir.

{Serial.begin (9600); lcd.begin (16, 2); pinMode (sensor, INPUT); PreviousValue = analogRead (sensor); }

Com as variáveis criadas e os comandos na função de configuração do void, explicaremos toda a programação lógica na função de loop.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Mostra o valor da porta analógica sem monitor serial Serial.print ("Porta Analógica:"); Serial.println (AnalogValue); UmidityPercent = mapa (AnalogValue, 0, 1023, 0, 100); umidade = 100 - UmidityPercent;

Na função loop, o valor analógico foi lido e o valor foi mapeado na faixa de 0 a 100. Este valor representa um percentual de umidade do solo. Quando a umidade é alta mundial, o valor se aproxima de 0 e se a umidade é baixa o valor se aproxima de 100.

Para facilitar a representação do valor e evitar confusão na leitura do usuário, invertemos essa lógica e representamos que 0% será umidade baixa e 100% umidade alta. Isso foi feito por meio do cálculo realizado após o mapeamento.

umidade = 100 - UmidityPercent;

Depois de ler o valor de umidade é necessário apresentar no Display LCD. O próximo passo é verificar se o valor da umidade é diferente do seu valor mais 1 ou do seu valor menos 1, conforme a condição abaixo.

if ((umidade> (valor anterior) +1) || (umidade <(valor anterior) - 1))

Esta condição é usada para evitar que o sistema apresente o mesmo valor várias vezes no display LCD. Porém, quando a condição for verdadeira, o sistema apresentará o valor no LCD e verificará se o valor é maior ou igual a 60% ou menor que 60%. Se o valor for maior ou igual a 60%, o sistema apresentará a mensagem Alta Umidade, caso contrário, apresenta a mensagem Baixa Umidade, como é mostrado abaixo.

if ((umidade> (valor anterior) +1) || (umidade <(valor anterior) - 1)) {lcd.setCursor (1, 0); lcd.print ("Umidade:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (umidade); lcd.print ("%"); if (umidade = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Alta Umidade"); HighUmid = 1; LowUmid = 0; } PreviousValue = umidade; }

Finalmente, o sistema irá armazenar o valor da variável de umidade na variável PreviousValue para atualizar seu valor. Cada vez que um novo valor é apresentado no display a variável PreviousValue é atualizada para ser utilizada em outros ciclos de processamento do código. Portanto, este é um sistema simples utilizado para monitorar a umidade das plantas em nossas residências e informar aos usuários sobre o nível de umidade do solo.

Etapa 5: Agradecimentos

O Silícios Lab agradece à PCBWay pelo apoio e pelo trabalho conjunto. E temos muitos benefícios para você. Ganhe 10 PCBs grátis e muitas moedas de feijão (Saiba mais) para trocar por produtos no site da PCBWay.

Além deles, o Silícios Lab agradece à UTSOURCE pelo apoio, por nos oferecer os componentes eletrônicos de baixo custo, de ótima qualidade e bom atendimento.

Recomendado: