Skip to content

MatOrofino/IntroElec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧪 Projeto de Introdução à Engenharia Elétrica

Incubadora inteligente controlada por ESP32
Projeto desenvolvido para a disciplina de Introdução à Engenharia Elétrica 2025

Índice

🎈 Introdução

Projeto de incubadora para a matéria de Introdução a Engenharia Elétrica, utilizando uma ESP32 wroom, uma ESP32-CAM e um sensor de temperatura e umidade DHT11. Este projeto consiste em uma incubadora automatizada e é desenvolvida como parte da avaliação para a disciplina de Introdução à Engenharia Elétrica.
O sistema utiliza uma ESP32 WROOM como controlador principal, uma ESP32-CAM para registro visual, e um sensor DHT11 para monitoramento de temperatura e umidade.

O objetivo é controlar e monitorar as condições ambientais internas, além de gerar um timelapse das imagens capturadas ao longo do tempo.

⚙️ Hardware

🤖 Controlador principal ESP32

  • Microcontrolador: ESP32-WROOM
  • Responsável pelo controle da incubadora:
    • Leitura do sensor de temperatura e umidade (DHT11)
    • Controle da temperatura e da umidade (via GPIOs)
    • Comunicação com a ESP32-CAM via rede Wi-Fi
    • Envio dos dados para monitoramento

Pinout da ESP32 main para guiar quais portas conectar:

esp32 pinout

DHT11 pinout

Segundo o pinout da ESP32 deve conectar:

  • SDA do LCD com a porta D21
  • SCL do LCD na porta D22 da ESP32
  • Data pin do DHT11 pa porta D4 da ESP32
  • Positivo da Peltier quente na porta D25 da ESP32
  • Positivo da Peltier fria na porta D26 da ESP32

📷 Módulo ESP32-CAM

  • Módulo com câmera OV2640
  • Responsável por capturar imagens periodicamente
  • As imagens são armazenadas localmente ou enviadas via servidor HTTP
  • Posteriormente, são usadas para gerar um timelapse com script Python

🖥️ Setup do Ambiente de Desenvolvimento

🆔 Usando a IDE do Arduino

  1. Instale a IDE do Arduino

  2. Vá no boad manager e instale o "esp32 by Espressif Systems"

  3. Selecione a placa:

    • Para o controlador: ESP32 Dev Module
    • Para a câmera: AI Thinker ESP32-CAM
  4. Copie os arquivos do src/ de cada diretorio dentro de um novo projeto arduino

  5. Colar o que está escrito no main.cpp no arquivo .ino

  6. Faça upload dos códigos correspondentes de cada módulo.

💻 Usando o VS Code com PlatformIO

  1. Instale o VS Code
  2. Adicione a extensão PlatformIO IDE
  3. Abra cada diretorio do codigo em uma aba diferente do VS Code
  4. Compile e envie para o dispositivo usando o botão na parte inferior PlatformIO: Upload
  5. Abra o monitor serial pelo botão PlatformIO: Serial Monitor

🖱️ Executando o Projeto

⌨️ Operação do Controlador Principal

  • O controlador inicializa a rede Wi-Fi e os sensores conectados
  • Lê a temperatura e umidade via DHT11
  • Atualiza o display LCD (quando conectado)
  • Se comunica com o módulo de câmera para sincronização

📸 Operação do Módulo de Câmera

  • Inicializa o servidor HTTP interno
  • Captura imagens em intervalos definidos
  • Permite acessar o feed via IP local (ex: http://192.168.x.x)
  • As imagens são armazenadas em /data/ ou /sdcard/

🎥 Gerando o Timelapse com Python

Para gerar o timelapse com as imagens capturadas primeiramente é necessário iniciar o .venv com o comando no terminal já dentro do diretorio do projeto:

source .venv/bin/activate

Após isso, basta rodar o programa de python com as imagens no diretorio certo:

python3 timelapse.py

O script coleta todas as imagens do diretório especificado e gera um vídeo .mp4 com 30 FPS:

Input:  ./imagens/
Output: timelapse.mp4

🩹 Solução de Problemas (Troubleshooting)

Problema Causa Possível Solução
LCD exibindo caracteres estranhos Conexão incorreta nos pinos SDA/SCL Verifique os pinos D21 (SDA) e D22 (SCL)
Servidor da câmera não acessível Falha na inicialização da câmera ou Wi-Fi Reinicie a ESP32-CAM e verifique SSID/senha
Timelapse com erro de leitura de imagem Caminho incorreto ou imagens corrompidas Verifique o diretório de entrada e permissões

📄 Licença

Este projeto é de uso educacional e livre para fins acadêmicos. Sinta-se à vontade para reutilizar o código, citando a autoria original.

About

Projeto do semestre IntroElec

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors