Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A agricultura inteligente é uma abordagem moderna que utiliza tecnologia para otimizar a produção agrícola. Com o uso de sensores, atuadores e microcontroladores como o Arduino, é possível monitorar e controlar diversos aspectos do ambiente agrícola, como umidade do solo, temperatura, luminosidade, entre outros. Este artigo aborda a criação de um sistema de irrigação automatizado utilizando o Arduino, destacando a importância de tais tecnologias para aumentar a eficiência e sustentabilidade na agricultura.
Project: O projeto consiste em desenvolver um sistema de irrigação automatizado que monitora a umidade do solo e aciona uma bomba de água quando necessário. O objetivo é garantir que as plantas recebam a quantidade adequada de água, evitando tanto o desperdício quanto a falta de irrigação. O sistema utilizará um sensor de umidade do solo, um relé para controlar a bomba de água e um display LCD para exibir o status do sistema.
Components List:
Examples:
// Inclui as bibliotecas necessárias
#include <LiquidCrystal.h>
// Define os pinos do LCD
const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Define os pinos do sensor de umidade e do relé
const int soilMoisturePin = A0;
const int relayPin = 2;
// Define os níveis de umidade
const int dryThreshold = 300;
const int wetThreshold = 700;
void setup() {
// Inicializa o LCD
lcd.begin(16, 2);
lcd.print("Iniciando...");
// Configura os pinos
pinMode(soilMoisturePin, INPUT);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // Desliga a bomba inicialmente
// Aguarda um momento
delay(2000);
lcd.clear();
}
void loop() {
// Lê o valor do sensor de umidade
int soilMoistureValue = analogRead(soilMoisturePin);
// Exibe o valor no LCD
lcd.setCursor(0, 0);
lcd.print("Umidade: ");
lcd.print(soilMoistureValue);
// Verifica o nível de umidade e controla a bomba
if (soilMoistureValue < dryThreshold) {
// Se o solo estiver seco, liga a bomba
digitalWrite(relayPin, HIGH);
lcd.setCursor(0, 1);
lcd.print("Irrigando...");
} else if (soilMoistureValue > wetThreshold) {
// Se o solo estiver úmido, desliga a bomba
digitalWrite(relayPin, LOW);
lcd.setCursor(0, 1);
lcd.print("Solo umido");
} else {
// Se o solo estiver em um nível intermediário, mantém a bomba desligada
digitalWrite(relayPin, LOW);
lcd.setCursor(0, 1);
lcd.print("Solo OK");
}
// Aguarda um momento antes de ler novamente
delay(2000);
}
Comentários sobre o código:
LiquidCrystal
para controlar o display LCD.setup()
, inicializamos o LCD e configuramos os pinos.loop()
, lemos o valor do sensor de umidade e exibimos no LCD.