Este repositório faz parte da Sprint 1 do Challenge 2025 - 1º Semestre, com foco em IoT e Visão Computacional. O projeto foi desenvolvido para resolver um problema real da empresa Mottu, relacionado à desorganização e dificuldade de localizar motos nos pátios das filiais.
A solução proposta consiste em um sistema baseado em dispositivos IoT, integrados com uma API que recebe os dados de rastreamento e os exibe em tempo real por meio de uma interface web/app.
Cada moto do pátio possui um sensor (simulado via script ou circuito) que envia sua localização e status. Esses dados são armazenados e visualizados em um painel de controle, permitindo uma gestão mais eficiente dos veículos.
📽️ Clique aqui para acessar a apresentação do projeto
git clone https://github.com/codecrazes/SprintIOT.gitAbra o arquivo Painel de Visualizacao.html na pasta iot_Dash, diretamente no seu navegador para visualizar a interface gráfica do pátio.
Este painel foi desenvolvido em HTML/CSS/JS de forma estática, simulando a localização e o status das motos com base nos dados gerados pelo simulador.
A visão computacional foi aplicada de forma complementar ao projeto de IoT, com foco em:
- Identificação de motos através de vídeo ou imagem
- Reconhecimento de padrões visuais como cor, posição ou marcação
- Detecção de movimento para registrar entradas e saídas do pátio
Um script em Python com OpenCV foi utilizado para capturar frames da câmera e:
- Detectar a presença de uma moto em tempo real
- Gerar alertas ou registrar logs ao identificar movimento
- Integrar essa informação à API para associar a moto detectada com seu sensor IoT
cd Computacional
python computacional.pyPara simular a parte física dos sensores IoT, foi criado um circuito no TinkerCad com:
- Microcontrolador Arduino Uno
- Sensor de proximidade ou botão de ativação simulando detecção de moto
- Módulo WiFi (simulado) para enviar dados via HTTP para a API
- LEDs indicativos de status
🔗 Projeto TinkerCad – Mapeamento de Motos IoT
Este circuito simula a entrada de uma moto no pátio da Mottu e verifica automaticamente se ela está com problema ou não, com base na leitura de um sensor analógico (potenciômetro). O feedback é dado por LEDs e mensagens no monitor serial.
- Função: Quando pressionado, o botão simula a chegada de uma moto ao pátio.
- Comportamento no código: Detecta a transição de LOW para HIGH, ou seja, o clique.
- Isso evita múltiplas leituras e simula corretamente um evento único de entrada.
- LED Verde (pino 3): Indica que a moto está em boas condições.
- LED Vermelho (pino 2): Indica que a moto está com problema (precisa de manutenção).
- Lógica: Após a leitura do botão e do sensor, o sistema decide qual LED acender.
- Função: Representa um sensor analógico (ex: tensão da bateria).
- Leitura: O valor do pino A0 é convertido em volts com
analogRead(A0) * (5.0 / 1023.0). - Decisão:
- Se o valor lido for maior que 2.5V, a moto é considerada com problema → LED Vermelho.
- Se for igual ou menor que 2.5V, a moto está OK → LED Verde.
| Situação | Ação no circuito | Leitura A0 | Resultado |
|---|---|---|---|
| Moto com defeito | Pressionar botão com potenciômetro alto | > 2.5V | LED Vermelho acende |
| Moto em boas condições | Pressionar botão com potenciômetro baixo | ≤ 2.5V | LED Verde acende |
- O botão simula a chegada de uma moto.
- O potenciômetro indica o estado da moto (simula um sensor).
- Os LEDs mostram o resultado da análise.
- As mensagens no
Serial Monitorajudam no teste e simulação do envio de dados ao sistema.