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.