Skip to content

HeitorLouzeiroRepositoryIFPI/embarca-caninos-datalogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Datalogger BH1750 - Caninos Labrador

Sistema de monitoramento de luminosidade usando sensor BH1750 e placa Caninos Labrador com logging automático de dados

Reportar Bug · Solicitar Feature

Índice
  1. Sobre o Projeto
  2. Demonstração
  3. Materiais e Componentes
  4. Esquema de Conexão
  5. Como Começar
  6. Como Usar
  7. Solução de Problemas
  8. Roadmap
  9. Contribuindo
  10. Licença
  11. Contato

Sobre o Projeto

O Datalogger BH1750 - Caninos Labrador é um sistema de monitoramento de luminosidade que utiliza o sensor BH1750 conectado à placa Caninos Labrador via protocolo I2C. O sistema realiza leituras automáticas da luminosidade ambiente e armazena os dados em arquivos de texto organizados por timestamp, ideal para estudos de iluminação, automação residencial e projetos IoT.

🎯 Principais Características:

  • Monitoramento contínuo de luminosidade com sensor de alta precisão
  • Logging automático com timestamp em arquivos de texto
  • Comunicação I2C otimizada para baixo consumo
  • Armazenamento em microSD para grande capacidade de dados
  • Interface simples através do Thonny IDE
  • Tratamento robusto de erros para operação ininterrupta

(voltar ao topo)

Demonstração

🖥️ Interface de Desenvolvimento

Thonny IDE com código do datalogger

📡 Sensor BH1750

Sensor BH1750 conectado

📊 Dataset Caninos Labrador

Dados sendo coletados pelo sistema

💾 Armazenamento em MicroSD

Sistema gravando dados no microSD

(voltar ao topo)

Tecnologias Utilizadas

Hardware:

  • Caninos Labrador - Placa de desenvolvimento
  • BH1750 - Sensor de luminosidade I2C
  • I2C Protocol - Protocolo de comunicação

Software:

  • Python - Linguagem de programação
  • Thonny - IDE Python simplificada
  • SMBus - Biblioteca para comunicação I2C

(voltar ao topo)

Funcionalidades

📊 Monitoramento:

  • ✅ Leitura contínua de luminosidade (0-65535 lux)
  • ✅ Intervalos configuráveis de amostragem
  • ✅ Precisão de ±20% com resolução de 1 lux

💾 Armazenamento:

  • ✅ Logging automático com timestamp
  • ✅ Arquivo de texto estruturado
  • ✅ Suporte a microSD para grande capacidade
  • ✅ Rotação automática de logs (opcional)

� Operação:

  • ✅ Interface via Thonny IDE
  • ✅ Tratamento de erros robusto
  • ✅ Finalização controlada (Ctrl+C)
  • ✅ Configuração flexível de parâmetros

(voltar ao topo)

Materiais e Componentes

Hardware Necessário:

  • Caninos Labrador - Placa de desenvolvimento com I2C disponível
  • Sensor BH1750 - Sensor de luminosidade digital I2C
  • Cabos jumper - Para conexões VCC, GND, SDA, SCL
  • MicroSD Card - Para armazenamento de dados (opcional)
  • Fonte de alimentação - 3.3V ou 5V conforme módulo BH1750

Software Necessário:

  • Python 3 com biblioteca smbus
  • Thonny IDE
  • i2c-tools para diagnóstico

(voltar ao topo)

Esquema de Conexão

🔌 Pinagem da Caninos Labrador

A placa Caninos Labrador possui um conector de 40 pinos. Para este projeto, utilizaremos os pinos I2C:

Pinagem da Caninos Labrador

Função Pino Descrição
VCC 1 Alimentação 3.3V
SDA 3 (PE3) Linha de dados I2C
SCL 5 (PE2) Linha de clock I2C
GND 6 Terra/Referência

📡 Sensor BH1750 - Luminosidade

Sensor BH1750 de Luminosidade

🔗 Conexões do Sensor BH1750

BH1750 Caninos Labrador Descrição
VCC Pino 1 (3.3V) Alimentação
GND Pino 6 (GND) Terra
SDA Pino 3 (PE3) Dados I2C
SCL Pino 5 (PE2) Clock I2C

⚠️ Observações Importantes:

  • Mantenha cabos curtos para evitar interferências
  • Endereço I2C padrão: 0x23 (alguns módulos podem usar 0x5C)
  • Certifique-se de conexão GND comum entre todos os componentes

(voltar ao topo)

Como Começar

Pré-requisitos

Certifique-se de que os seguintes componentes estão disponíveis:

Sistema Operacional:

  • Sistema Linux (Caninos Labrador)
  • Acesso sudo para instalação de pacotes

Ferramentas de Desenvolvimento:

  • Python 3.x
  • Acesso aos barramentos I2C (/dev/i2c-0 a /dev/i2c-3)

Instalação

1. Clone o repositório

git clone https://github.com/HeitorLouzeiroRepositoryIFPI/embarca-caninos-datalogger.git
cd embarca-caninos-datalogger

2. Instale as ferramentas I2C

sudo apt-get update
sudo apt-get install -y i2c-tools

3. Verifique os barramentos I2C disponíveis

ls /dev/i2c*

Saída esperada:

/dev/i2c-0  /dev/i2c-1  /dev/i2c-2  /dev/i2c-3

4. Instale o suporte I2C para Python

sudo apt install -y python3-smbus

5. Configure permissões de acesso

sudo usermod -aG i2c $USER

6. Instale o Thonny IDE

sudo apt install -y thonny

⚠️ Importante: Reinicie o sistema após configurar as permissões.

Configuração

1. Verificação do Sensor

Confirme que o sensor está conectado corretamente:

i2cdetect -y 2  # Substitua pelo barramento correto

Exemplo de resultado esperado:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

✅ BH1750 encontrado no endereço 0x23

2. Configuração do Thonny

  1. Abra o Thonny
  2. Vá em Ferramentas > Opções > Interpretador
  3. Selecione "Python 3 (local)"

3. Preparação do MicroSD (Opcional)

# Identifique o dispositivo
lsblk -f

# Monte o microSD
sudo mkdir -p /media/microsd
sudo mount /dev/sdX1 /media/microsd
sudo chown $USER:$USER /media/microsd

(voltar ao topo)

Como Usar

💻 Executando o Datalogger

Pelo Thonny IDE:

Interface do Thonny IDE

  1. Abra o Thonny
  2. Abra o arquivo BH1750_logger.py
  3. Ajuste os parâmetros se necessário:
    BH1750_ADDR = 0x23              # Endereço I2C do sensor
    I2C_BUS = 2                     # Barramento I2C utilizado
    CONT_H_RES_MODE = 0x10          # Modo contínuo alta resolução
    CAMINHO_ARQUIVO = "/caminho/para/log.txt"  # Local do arquivo de log
  4. Clique em "Executar" (F5)
  5. Acompanhe as leituras no console
  6. Interrompa com Ctrl+C

Pela linha de comando:

cd embarca-caninos-datalogger
python3 BH1750_logger.py

📊 Formato dos Dados

Os dados são salvos no seguinte formato:

[2024-09-25 14:30:25] Luminosidade: 245.67 lux
[2024-09-25 14:30:27] Luminosidade: 248.12 lux
[2024-09-25 14:30:29] Luminosidade: 251.03 lux

⚙️ Parâmetros Configuráveis

Parâmetro Padrão Descrição
BH1750_ADDR 0x23 Endereço I2C do sensor
I2C_BUS 2 Barramento I2C utilizado
CONT_H_RES_MODE 0x10 Modo de alta resolução
CAMINHO_ARQUIVO /media/... Local do arquivo de log
Intervalo 2s Tempo entre leituras

🔄 Fluxo de Operação

  1. Inicialização: Configura barramento I2C
  2. Leitura: Envia comando ao sensor e aguarda resposta
  3. Conversão: Transforma dados brutos em valor lux (÷ 1.2)
  4. Registro: Formata com timestamp e salva no arquivo
  5. Repetição: Aguarda intervalo e repete o ciclo

💾 Armazenamento no MicroSD

MicroSD montado na Caninos Labrador

💾 Boas Práticas para Armazenamento

  • Organize por data: Crie subpastas como logs_BH1750/2024-09-25/
  • Monitore espaço: Verifique periodicamente o espaço livre no microSD
  • Rotação de logs: Remova ou arquive logs antigos regularmente
  • Backup: Mantenha cópias dos dados importantes

(voltar ao topo)

Solução de Problemas

❌ Problemas Comuns

PermissionError ao acessar I2C

Solução:

sudo usermod -aG i2c $USER
# Faça logout e login novamente

ModuleNotFoundError: smbus

Solução:

sudo apt install -y python3-smbus

OSError: No such device or address

Possíveis causas:

  • Barramento I2C incorreto (verifique com i2cdetect)
  • Cabeamento SDA/SCL invertido
  • Sensor não alimentado corretamente

Arquivo não salvo no microSD

Verificações:

  • Confirme se o microSD está montado
  • Verifique permissões do diretório
  • Certifique-se de que há espaço livre suficiente

(voltar ao topo)

Roadmap

✅ Funcionalidades Implementadas:

  • Comunicação I2C com BH1750
  • Logging com timestamp
  • Armazenamento em arquivo de texto
  • Tratamento básico de erros
  • Interface via Thonny IDE

Veja as issues abertas para uma lista completa de recursos propostos e problemas conhecidos.

(voltar ao topo)

Contribuindo

Contribuições são o que fazem a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.

Se você tem uma sugestão que tornaria este projeto melhor, por favor faça um fork do repositório e crie um pull request. Você também pode simplesmente abrir uma issue com a tag "enhancement". Não esqueça de dar uma estrela ao projeto! Obrigado novamente!

  1. Faça um Fork do Projeto
  2. Crie sua Feature Branch (git checkout -b feature/NovaFuncionalidade)
  3. Commit suas mudanças (git commit -m 'Add: Nova funcionalidade incrível')
  4. Push para a Branch (git push origin feature/NovaFuncionalidade)
  5. Abra um Pull Request

📋 Diretrizes de Contribuição:

  • Mantenha o código limpo e bem documentado
  • Teste suas modificações antes de enviar
  • Siga as convenções de nomenclatura existentes
  • Documente novas funcionalidades no README

(voltar ao topo)

Colaboradores

Agradecemos às seguintes pessoas que contribuíram para este projeto:

Foto do Heitor Louzeiro no GitHub
Heitor Louzeiro

(voltar ao topo)

Licença

Distribuído sob a Licença MIT. Veja LICENSE para mais informações.

(voltar ao topo)

Contato

Project Link: https://github.com/HeitorLouzeiroRepositoryIFPI/embarca-caninos-datalogger


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages