Introduction: Arduino - Protótipo De Irrigação Por Aspersão

Meu projeto visa representar, com auxílio da plataforma TinkerCad, o funcionamento de um sistema de irrigação por aspersão através da placa de Arduino. Um sistema de irrigação por aspersão, além dos aspersores, possui sensores que detectam a altura da lâmina d'água no solo e a umidade do solo, ajudando no melhor fornecimento de água para o gramado/plantação e reduzindo o seu desperdício. Como o TinkerCad não possui esses aparelhos, adaptei-os no protótipo. Os aspersores são representados por motores CC e os sensores por multímetros conectados a potenciômetros.

Step 1: Passo a Passo Da Criação Do Protótipo

1- Primeiramente, é preciso criar uma conta no TinkerCad. Você pode escolher uma conta própria ou uma "de escola", sendo aluno ou educador;

2- Após isso, clica em "Circuitos" e "Criar novo Circuito", respectivamente;

3- O TinkerCad vai criar um nome arbitrário pro seu projeto. Para mudá-lo, basca clicar em cima do nome criado e alterá-lo. Feito isso, nos "Componentes Básicos", selecionar 1 Arduino Uno R3, 1 placa de ensaio, 3 motores CC, 2 potenciômetros e dois multímetros.

Para o meu caso, utilizei a maior placa de ensaio. Basta digitar "Placa" em "Pesquisar" e selecioná-lo;

4- Agora, é preciso conectar os motores, potenciômetros e multímetros às placas, como mostra a imagem. As cores dos cabos podem ser escolhidas. No meu caso, escolhi vermelho para os cabos conectados ao "+", preto para "-", verde para os pinos digitais 4-6, laranja para o "sensor de umidade" no pino A5 e marrom para o "sensor de altura da lâmina d'água" no pino A4.

Importante conectar a voltagem na entrada "+" e o GND na entrada "-".

Além disso, os cabos verdes precisam estar conectados na mesma coluna do pino vermelho do motor CC, atrás dele.

Step 2: Código Para O Funcionamento

Abaixo, segue o código. Também estou deixando imagens de como é a formatação do código no TinkerCad.

É preciso clicar em "Código" e selecionar "Texto" para inserí-lo. Para o meu projeto, os aspersores só serão acionados quando a umidade do solo for menor que 10% e a altura da lâmina for menor que 5 mm.

Código


float Umidade; // Umidade do solo variável

float Altlamina; // Altura da lâmina d'água variável

float LeituraAlt; // Leitura da altura variável float LeituraUmi; // Leitura da umidade variável

float VoltagemUmi; // Leitura da voltagem para umidade do solo variável

float VoltagemAlt; // Leitura da voltagem para altura variável

const int Motor1=4; // Local do pino do Motor1

const int Motor2=5; // Local do pino do Motor2

const int Motor3=6; // Local do pino do Motor3

void setup()

{

pinMode(A4, INPUT); // Define o pino A4 como entrada

pinMode(A5, INPUT); // Define o pino A5 como entrada

pinMode(Motor1, OUTPUT); // Define o motor da esquerda como saída

pinMode(Motor2, OUTPUT); // Define o motor do meio como saída

pinMode(Motor3, OUTPUT); // Define o motor da direita como saída

Serial.begin(9600); // Inicia o porto serial

// Encaminhará os dados a 9600 baud delay (100);

// Aguardar 100ms para iniciar o porto serial

}

void loop()

{

LeituraUmi=analogRead(A5); // Ler o pino A5

VoltagemUmi=LeituraUmi*5/1023; // Cálculo da voltagem (para umidade) no intervalo de 0-5V

Umidade=VoltagemUmi*20; // Converter voltagem em umidade

LeituraAlt=analogRead(A4); // Ler o pino A4

VoltagemAlt=LeituraAlt*5/1023; // Cálculo da voltagem (para altura) no intervalo de 0-5V

Altlamina=VoltagemAlt*12; // Converter voltagem em altura

if ((Umidade<10) && (Altlamina<5)) // Caso U<10 e h<5, os motores ligarão

{

digitalWrite(Motor1, HIGH);

digitalWrite(Motor2, HIGH);

digitalWrite(Motor3, HIGH);

}

else // Caso U>10 e/ou h>5, os motores ficarão desligados

{

digitalWrite(Motor1, LOW);

digitalWrite(Motor2, LOW);

digitalWrite(Motor3, LOW);

}

}

Step 3: Vídeo De Funcionamento Do Sistema

A partir das fórmulas inseridas no código, 10% de umidade equivalerá a 500 mV e 5 mm de altura da lâmina d'água equivalerá a 416,67 mV. Os motores ficarão ligados somente se as voltagens registradas nos multímetros forem menores ou iguais a esses valores.