Ambiente e agricultura · 2026/1

3. Proposta de Reprodução com ESP32

3. Proposta de Reprodução com ESP32

3.1. Visão geral da proposta

A proposta consiste em recriar as funcionalidades centrais da Chocadeira JoyFox usando uma ESP32 como unidade de controle, substituindo o microcontrolador dedicado de fábrica. A ESP32 é especialmente adequada por possuir:

  • CPU dual-core de até 240 MHz, sobrando capacidade para controle, interface e conectividade;
  • Wi-Fi e Bluetooth integrados, permitindo, como melhoria, monitoramento remoto (recurso ausente na JoyFox básica);
  • Periféricos abundantes: GPIO, PWM (LEDC), ADC, I²C, timers de hardware;
  • Baixo consumo quando configurada adequadamente;
  • Ecossistema ESP-IDF maduro (FreeRTOS embutido, drivers de periféricos, tasks concorrentes).

A reprodução abrange 100% das funções essenciais (temperatura, umidade, viragem, interface) e permite estender com monitoramento via Wi-Fi.

3.2. Mapeamento de funcionalidades > componentes ESP32

Função da JoyFox Implementação proposta com ESP32
Medir temperatura e umidade Sensor DHT22 (ou SHT31 via I²C, mais preciso)
Aquecer o ambiente Relé (ou SSR) acionando resistência; controle por PWM/PID via GPIO
Circular ar Ventilador 12 V acionado por relé/MOSFET
Virar os ovos a cada 90 min Motor DC com caixa de redução ou servo, comandado por driver (ponte H L298N) + timer de hardware da ESP32
Exibir dados Display LCD 16×2 (I²C) ou OLED SSD1306
Configurar set-points/modos Botões em GPIO (com debounce)
Ovoscópio LED de alta intensidade acionado por GPIO/MOSFET
Energia redundante Fonte 5 V + módulo de carga/comutação para bateria 12 V (TP4056 / módulo UPS DC)
(Melhoria) Monitoramento remoto Wi-Fi nativo + servidor web embarcado ou MQTT/Blynk

3.3. Estratégia de software (ESP-IDF / FreeRTOS)

A ESP-IDF usa FreeRTOS, permitindo organizar o firmware em tasks concorrentes:

  • task_sensor — lê DHT22/SHT31 a cada N segundos.
  • task_control — executa o PID de temperatura e a lógica de umidade; calcula o duty-cycle do aquecedor (LEDC/PWM).
  • task_turning — usa um timer de hardware para acionar a viragem a cada 90 minutos.
  • task_ui — atualiza o display e lê os botões.
  • task_net (opcional) — publica dados via Wi-Fi (web server / MQTT).

A comunicação entre tasks pode usar filas (queues) e semáforos do FreeRTOS, garantindo determinismo no laço de controle.

[DHT22/SHT31] --I2C/1-Wire--> [ ESP32 ]
                                  |
        |-------------------------|--------------------------|
        | FreeRTOS (ESP-IDF)      |                          |
        |  task_sensor > fila > task_control > PWM(LEDC) > [Relé/SSR]>[Resistência]
        |                         |                          |--------->[Ventilador]
        |                         |
        |  task_turning (timer 90min) > GPIO > [Driver L298N] > [Motor viragem]
        |  task_ui  <-> [LCD I2C] / [Botões]                                       
        |  task_net (Wi-Fi) > [Web server / MQTT]  (melhoria opcional)            
        |------------------------------------------------------------------------|

3.4. Diagrama conceitual (diagrama de blocos)

                         |-------------------------------|
                         |            ESP32              |
                         |   (Controle + ESP-IDF/RTOS)   |
                         |-------------------------------|
       I2C / 1-Wire  |            PWM | GPIO           | Wi-Fi (opcional)
            |--------|                |                |--------|
            V                         V                         V
   |-----------------|      |------------------|       |----------------|
   |  DHT22 / SHT31  |      |  Relé/SSR + PWM  |       |  App / Web /   |
   | (temp + umid.)  |      |   |------------| |       |     MQTT       |
   |-----------------|      |   |Resistência | |       |----------------|
                            |   | Ventilador | |
   |------------------|     |   |------------| |       |----------------|
   | Botões + LCD I2C |<----┤                  ├------>|  Driver L298N  |
   |   (interface)    |     |      GPIO        |       | > Motor viragem|
   |------------------|     |------------------|       |----------------|
                            |------------------------------------------|
                            | Energia: 5V (rede) ⇄ Bateria 12V (backup)|
                            |------------------------------------------|

3.5. Limitações e desafios esperados

  1. Precisão e inércia térmica: o DHT22 tem precisão de ±0,5 °C, no limite do exigido para incubação. Pode ser necessário substituir por SHT31/DS18B20 e calibrar. O controle PID precisa lidar com a alta inércia térmica da caixa (resposta lenta), exigindo ajuste cuidadoso de Kp, Ki, Kd.
  2. Controle de umidade é indireto: elevar umidade depende de evaporação de água (superfície/aquecedor), de difícil controle fino, geralmente ficando em malha aberta ou ON/OFF, não PID.
  3. Uniformidade de temperatura: sem boa circulação de ar, há gradientes térmicos na caixa. Exige posicionamento do ventilador e do sensor próximos aos ovos.
  4. Acionamento de cargas AC: a resistência de aquecimento opera em rede AC, exigindo relé/SSR adequado e cuidados de isolação e segurança elétrica.
  5. Confiabilidade em operação contínua (~21 dias): o sistema não pode travar. Recomenda-se watchdog timer da ESP32 e a redundância de energia.
  6. Viragem mecânica: projetar o mecanismo de bandeja com torque suficiente e suave; o motor é a parte mecânica mais sujeita a desgaste.
  7. Custo vs. recurso: adicionar Wi-Fi/app aumenta complexidade e consumo; deve ser avaliado se o ganho justifica para o público doméstico.

Referências:

Tabela de Atualização do Documento

Data Integrante Contribuição
02/06/2026 Davi Pierre Criação do arquivo (versão Lâmpada Inteligente).
10/06/2026 Julia Gabriela Padronizando bibliografia (versão Lâmpada Inteligente).
11/06/2026 Davi Pierre Removendo documento duplicado (versão Lâmpada Inteligente).
11/06/2026 Matheus Barros Criação do arquivo a partir do template da Chocadeira JoyFox.
11/06/2026 Davi Pierre Consertando os diagramas
Continue sua descoberta.Explorar outros projetos ↗