Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Agricultura Inteligente com Arduino

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:

  • 1 Arduino Uno
  • 1 Sensor de Umidade do Solo
  • 1 Módulo Relé
  • 1 Bomba de Água 5V
  • 1 Display LCD 16x2
  • 1 Potenciômetro de 10kΩ
  • Jumpers
  • Protoboard

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:

  1. Incluímos a biblioteca LiquidCrystal para controlar o display LCD.
  2. Definimos os pinos do LCD e do sensor de umidade do solo.
  3. No setup(), inicializamos o LCD e configuramos os pinos.
  4. No loop(), lemos o valor do sensor de umidade e exibimos no LCD.
  5. Dependendo do valor lido, controlamos o relé para ligar ou desligar a bomba de água.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.