Skip to content

eulertorres/Multimeter_Reader

Repository files navigation

Multimeter Reader

Ferramenta em Python para capturar a tela, identificar dígitos em um display de 7 segmentos e salvar as leituras em arquivos de texto. O projeto inclui uma interface com sliders e botões para ajustar a área de captura, brilho/contraste e o posicionamento dos segmentos utilizados na leitura.

📌 Funcionalidades

  • Captura contínua de uma região da tela usando PyAutoGUI.
  • Tratamento de imagem com OpenCV (ajuste de brilho/contraste, blur e equalização de histograma).
  • Interface interativa com Matplotlib para:
    • Ajustar origem e zoom da captura.
    • Ligar/desligar leitura em tempo real.
    • Selecionar a borda do display e posicionar os segmentos para cada dígito (D0 a D3).
    • Ignorar dígitos específicos durante a leitura.
  • Exportação de leituras de dígitos para arquivos texto (dados_digitos.txt).
  • Script auxiliar para suavizar leituras e gerar um gráfico (Trata.py).

🛠️ Pré-requisitos

  • Python 3.9+
  • Dependências principais:
    • opencv-python
    • numpy
    • pyautogui
    • matplotlib

Instale-as rapidamente com:

pip install opencv-python numpy pyautogui matplotlib

Dica: O PyAutoGUI pode exigir permissões extras de captura de tela em alguns sistemas operacionais.

▶️ Como usar

  1. Garanta que o display de 7 segmentos esteja visível na tela.
  2. Execute o leitor principal:
    python MultiRead.py
  3. Ajuste os sliders de Origem X/Y e Zoom até que a região exibida no preview corresponda ao display.
  4. Clique em Selecionar Borda para marcar a área exata do display (quatro cliques).
  5. Use os botões Posicionar D0–D3 para definir os sete pontos de cada dígito.
  6. Ative Iniciar/Parar para começar a leitura; os dígitos reconhecidos são armazenados com marcação de tempo.
  7. Exporte as leituras usando o botão dedicado ou pela função exportar_dados_para_txt.

As configurações (origem, zoom e templates) são salvas automaticamente em configuracoes.json e recarregadas em execuções futuras.

📊 Pós-processamento

Para suavizar leituras e gerar um gráfico das temperaturas/dígitos processados:

python Trata.py

O script lê dados_digitos.txt, corrige variações bruscas com um limiar ajustável (padrão 22) e salva o resultado em temperaturas_corrigidas.txt, exibindo também um gráfico para inspeção rápida.

📂 Estrutura do projeto

  • MultiRead.py: leitor principal com interface gráfica e lógica de reconhecimento dos segmentos.
  • Trata.py: utilitário para pós-processar as leituras e plotar gráficos.
  • configuracoes.json: arquivo gerado automaticamente para persistir origem, zoom e templates dos dígitos.
  • dados_digitos.txt: leituras exportadas (gerado durante a execução).
  • temperaturas_corrigidas.txt: leituras suavizadas criadas por Trata.py.

🤝 Contribuindo

Sinta-se à vontade para abrir issues ou enviar pull requests com melhorias na detecção, novos atalhos de interface ou correções. Certifique-se de testar as mudanças e manter o README atualizado.

About

Código para leitura automática de display de 7 segmentos em geral

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages