Skip to content

i-JSS/Automatic-Irrigation-System

Repository files navigation

Automatic Irrigation System - Trabalho final 2025.1

C ESP32 ESP-IDF I2C DHT11 BMP280

projeto

dashboard

Nome Link para o Perfil
Lucas Gama De Araujo Bottino bottinolucas
Henrique Camelo Quenino henriquecq
Andre Emanuel Bispo Da Silva Hunter104
João Antonio Ginuino Carvalo i-JSS

Sensor BMP280

O sensor BMP280 é utilizado para leitura digital da temperatura ambiente e umidade ambiente.

O sensor DHT11 possui 6 pinos para conexão, mas apenas 4 são utilizados para o seu funcionamento:

  • VCC
  • GND
  • SCL
  • SDA

Para fazer a conexão entre o sensor e o microcontrolador ESP32, torna-se necessária a seguinte configuração na protoboard

  • Pino VCC do sensor BMP280 deve ser conectado ao pino 3V3 do microcontrolador ESP32
  • Pino GND do sensor BMP280 deve ser conectado ao pino GND do microcontrolador ESP32
  • Pino SCL do sensor BMP280 deve ser conectado ao pino D22 do microcontrolador ESP32
  • Pino SDA do sensor BMP280 deve ser conectado ao pino D21 do microcontrolador ESP32

Assim, a configuração ficará da seguinte forma:

       ESP32                                 BMP280
    |   3V3   |----------------------------|  VCC  |
    |   GND   |----------------------------|  GND  |
    |   D22   |----------------------------|  SCL  |
    |   D21   |----------------------------|  SDA  |

Sensor DHT11

O sensor DHT11 é utilizado para leitura digital da temperatura ambiente e umidade ambiente.

O sensor DHT11 possui 3 pinos para conexão:

  • VCC
  • DAT (Comunicação por GPIO)
  • GND

Para fazer a conexão entre o sensor e o microcontrolador ESP32, torna-se necessária a seguinte configuração na protoboard

  • Pino GND do sensor DHT11 deve ser conectado ao pino GND do microcontrolador ESP32
  • Pino VCC do sensor DH11 deve ser conectado ao pino 3V3 do microcontrolador ESP32
  • Pino DAT do sensor DH11 deve ser conectado ao pino D25 do microcontrolador ESP32

Assim, a configuração ficará da seguinte forma:

       ESP32                                 DHT11
    |   3V3   |----------------------------|  VCC  |
    |   D25   |----------------------------|  DAT  |
    |   GND   |----------------------------|  GND  |

Tela OLED ssd1306

A tela OLED ssd1306 possui 4 pinos para conexão:

  • GND
  • VCC
  • SCK (Comunicação pelo protocolo i2c)
  • SDA (Comunicação pelo protocolo i2c)

Para fazer a conexão entre o sensor e o microcontrolador ESP32, torna-se necessária a seguinte configuração na protoboard:

  • Pino GND deve ser conectado ao pino GND do microcontrolador ESP32
  • Pino VCC deve ser conectado ao pino 3V3 do microcontrolador ESP32
  • Pino SCK deve ser conectado ao pino D22 do microcontrolador ESP32
  • Pino SDA deve ser conectado ao pino D21 do microcontrolador ESP32

Assim, a configuração ficará da seguinte forma:

       ESP32                                ssd1306
    |   GND   |----------------------------|  GND  |
    |   3V3   |----------------------------|  VCC  |
    |   D22   |----------------------------|  SCK  |
    |   D21   |----------------------------|  SDA  |

Relé SRD-05VDC-SL-C

O relé SRD-05VDC-SL-C necessita de 5V para funcionamento, portanto é necessário utilizar uma fonte de 5V externa, para o projeto proposto será utilizado o módulo MB102. Além disso, é obrigatório compartilhar o terra (GND) entre o ESP32 e o módulo de relé para que o sinal de controle funcione corretamente.

O módulo de relé geralmente possui os seguintes pinos de controle:

  • VCC – Alimentação 5V para o relé
  • GND – Terra
  • IN1 - Entradas de controle (Não utilizada)
  • IN2 – Entradas de controle (Utilizada)

Assim, a configuração ficará da seguinte forma:

      ESP32                        Relé SRD-05VDC-SL-C              Fonte 5V DC
                                    |   IN2   | (Não utilizada)
    |   D5    |---------------------|   IN1   |
    |   GND   |-----------------------------------------------------|   GND   |
                                    |   GND   |---------------------|   GND   |
                                    |   VCC   |---------------------|   +5V   |

Válvula Solenoide

A válvula solenoide utilizada neste projeto necessita de 12V DC para seu funcionamento, sendo assim, é necessário o uso de uma fonte de 12V DC separada. O controle da válvula é feito por um relé, conforme o esquema abaixo:

O relé possui os seguintes terminais de comutação:

  • NO1 (Normally Open)
  • COM1 (Comum)
  • NC1 (Normally Closed – não será usado)
    Fonte 12V DC                   Válvula Solenoide                Relê SRD-05VDC-SL-C
    |   +12v   |---------------------|   VCC   |
    |   GND    |-----------------------------------------------------|   NO1   |
                                     |   GND   |---------------------|   COM   |

Botão

Quando o botão é pressionado, a linha da GPIO4 é conectada diretamente ao 3.3V, resultando em um nível lógico alto (1).

    Fonte 12V DC                        Botão
    |   D4     |---------------------|   P1   |
    |   GND    |---------------------|   P2   |

Componentes externos

O projeto utiliza componentes externos da biblioteca esp-idf-lib. A instalação da biblioteca pode ser feita da seguinte forma:

  1. Crie uma pasta components na raiz do seu projeto

    O esperado é que fique estruturado assim:

    ├── CMakeLists.txt
    ├── components/
    ├── main/
    ├── README.md
    
  2. Clone os repositórios necessários

    git clone https://github.com/UncleRus/esp-idf-lib.git
    cp -r esp-idf-lib/components/esp_idf_lib_helpers ~/esp/seu_projeto/components
    cp -r esp-idf-lib/components/dht ~/esp/seu_projeto/components
    

    Após a cópia, o esperado é que a pasta components fique estruturada assim:

    ├── CMakeLists.txt
    ├── components
    │   ├── dht
    │   │   ├── CMakeLists.txt
    │   │   ├── component.mk
    │   │   ├── dht.c
    │   │   ├── dht.h
    │   │   └── LICENSE
    │   └── esp_idf_lib_helpers
    │       ├── CMakeLists.txt
    │       ├── component.mk
    │       ├── esp_idf_lib_helpers.h
    │       ├── ets_sys.h
    │       └── LICENSE
    ├── main/
    

4 directories, 23 files

Executando o projeto

  1. Navegue até o diretório raiz do projeto:

    cd ~/esp/seu_projeto
    
  2. Use o comando get_idf para gerenciar o seu ambiente de desenvolvimento

  3. Limpe o projeto para garantir uma compilação limpa

    idf.py fullclean
    
  4. Compile o projeto

    idf.py build
    
  5. Transfira o código compilado para o microcontrolador ESP32

    idf.py flash
    
  6. Monitore a aplicação

    idf.py monitor
    

Review Assignment Due Date

Notas

  • Não há um vídeo disponível para a apresentação do projeto pois todas as peças foram devolvidas antes da gravação, mas o professor gravou o funcionamento dele durante a apresentação. Além disso, seguem abaixo fotos do dashboard e do projeto montado.

link do dashboard

About

Automatic irrigation system built with ESP32 in C, reads temperature and humidity via DHT11 and BMP280 sensors, displays data on an SSD1306 OLED, and controls a solenoid valve through a relay, with a live IoT dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages