Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📹 Interface de Câmera com Detecção de Pessoas e Sensor ToF

Aplicação Python com tk customizado que integra câmera em tempo real, detecção de pessoas com YOLO v8 e sensor de distância VL53L0X via ESP32.

🎯 Características

  • 📹 Câmera ao vivo - Captura em tempo real (800x600 @ 30fps)
  • 🤖 IA Detectora - YOLO v8 nano para detecção de pessoas com bounding box
  • 📍 Sensor ToF - Medição de distância via VL53L0X (serial)
  • 🎨 Interface Moderna - CustomTkinter com tema escuro
  • ⚠️ Alertas Visuais - Código de cores para proximidade (verde/amarelo/vermelho)
  • 📊 Histórico - Últimas 20 medições

📋 Pré-requisitos

  • Python 3.10+
  • ESP32 com sensor VL53L0X conectado (código em src/main.cpp)
  • Câmera USB ou integrada
  • ~2GB de espaço (para modelos YOLO + dependências)

🚀 Instalação Rápida

1. Clonar e preparar

git clone <repo>
cd vl

2. Setup automático (Linux/Mac)

chmod +x run.sh
./run.sh

3. Setup manual

python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
python camera_interface.py

⚙️ Configuração

Editar em camera_interface.py se necessário:

self.camera_index = 0           # Índice da câmera (alterar se houver múltiplas)
self.serial_port = "/dev/ttyUSB0"  # Porta do ESP32 (verificar com: ls /dev/tty*)
self.confidence_threshold = 0.5    # Confiança mínima para detecção

Encontrar a porta serial corretamente:

ls /dev/tty* | grep -E 'USB|ACM'  # Linux

📂 Estrutura do Projeto

.
├── camera_interface.py      # Aplicação principal
├── requirements.txt         # Dependências Python
├── src/
│   └── main.cpp            # Código do ESP32 + VL53L0X
├── platformio.ini          # Configuração PlatformIO
├── run.sh                  # Script de execução
└── README.md

📦 Dependências

Pacote Função
customtkinter Interface gráfica moderna
opencv-python Captura e processamento de vídeo
ultralytics YOLO v8 para detecção
torch / torchvision Backend de IA
pyserial Comunicação com ESP32
Pillow Processamento de imagens

🔌 Hardware Necessário

  • ESP32 (DevKit)
  • VL53L0X ToF Sensor
    • SDA → GPIO 21
    • SCL → GPIO 22
    • GND/VCC → Alimentação

🎮 Uso

  1. Conectar ESP32 com cabo USB
  2. Executar:
    source venv/bin/activate
    python camera_interface.py
  3. Observar:
    • Câmera com detecções em bounding boxes
    • Distância em tempo real (mm)
    • Status de conexão dos componentes
    • Histórico de medições

📊 Leitura da Distância

Distância Status Cor
< 300mm ⚠️ Muito Perto 🔴 Vermelho
300-600mm ⚠️ Perto 🟠 Laranja
> 600mm ✓ Seguro 🟢 Verde

🛠️ Troubleshooting

Problema Solução
ModuleNotFoundError Ativar venv: source venv/bin/activate
Câmera não inicia Verificar permissões: sudo usermod -a -G video $USER
Sensor não conecta Verificar porta: ls /dev/tty* e atualizar serial_port
YOLO lento Trocar yolov8n.pt por versão menor ou usar GPU

📝 Notas

  • Modelos YOLO são baixados automaticamente na primeira execução (~6-50MB)
  • Interface requer display (X11 em Linux remoto)
  • O sensor envia dados a cada 100ms

📜 Licença

MIT


Made with ❤️ para IoT + Visão Computacional

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages