Pular para conteúdo

Projeto 20: Projeto Capstone: Estação IoT de Monitoramento Autônoma 🚀

Escopo do Projeto

Objetivo: Implementar uma solução de engenharia embarcada completa para validação prática dos conceitos de Projeto Capstone: Estação IoT de Monitoramento Autônoma.


🎯 1. Contexto & Desafio de Engenharia

Você atua como engenheiro de firmware em uma empresa de automação e Internet das Coisas (IoT). O cliente necessita de um subsistema confiável baseado em microcontroladores que resolva os requisitos de Projeto Capstone: Estação IoT de Monitoramento Autônoma em regime contínuo (24/7), com alta imunidade a ruídos elétricos e consumo otimizado.


📋 2. Requisitos Obrigatórios de Projeto

  • R1 (Inicialização e Hardware): Configuração correta de clocks e registradores periféricos na inicialização.
  • R2 (Não-Bloqueio): Proibido o uso de laços de espera bloqueantes (delay cego) na rotina crítica de controle.
  • R3 (Tratamento de Exceções): Detecção de timeouts de hardware com sinalização via código de erro ou LED de diagnóstico.
  • R4 (Modularidade): Código organizado em arquivos de cabeçalho (.h) e implementação (.c).

🔌 3. Diagrama do Circuito & Conexões

graph LR
    Fonte["⚡ Fonte 3.3V / 5V"] --> MCU["🧠 Microcontrolador (ESP32 / STM32)"]
    Sensores["📡 Sensores / Sinais"] -->|GPIO / I2C / SPI| MCU
    MCU -->|PWM / UART / CAN| Atuadores["⚙️ Atuador / Telemetria"]

    style Fonte fill:#fff3e0,stroke:#e65100
    style MCU fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style Sensores fill:#e8f5e9,stroke:#2e7d32
    style Atuadores fill:#f3e5f5,stroke:#7b1fa2

💻 4. Esqueleto de Código de Partida

#include <stdint.h>
#include <stdbool.h>

void projeto_20_setup(void) {
    // Inicialização de periféricos
}

void projeto_20_run(void) {
    // Loop de controle com temporização via ticks
}

int main(void) {
    projeto_20_setup();
    while (1) {
        projeto_20_run();
    }
    return 0;
}

📦 5. Critérios de Avaliação e Entrega

  1. Código-fonte compilando sem warnings com flag -Wall.
  2. Simulação validada no Wokwi ou gravação física em hardware de bancada.
  3. Relatório sucinto contendo diagrama de tempo e log de execução capturado via terminal serial.