Skip to content

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Código do Microcontrolador da Pistola de Óleo Inteligente

Este repositório contém o código-fonte para o microcontrolador Raspberry Pi Pico W

Visão Geral do Sistema

O sistema foi projetado para medir e dispensar óleo com precisão, fornecendo feedback de dados em tempo real e alertas ao usuário. A operação é gerenciada por um Raspberry Pi Pico W e dividida nas seguintes funcionalidades principais.

Medição de Óleo

O volume de óleo dispensado é medido usando um sistema híbrido mecânico-eletrônico.

  • Engrenagens Magnéticas: Duas engrenagens magnéticas giram conforme o óleo flui pelo mecanismo.
  • Sensor Magnético: Um sensor magnético detecta a rotação das engrenagens.
  • Contagem de Quadratura: Um algoritmo de contagem de quadratura é usado para interpretar os sinais do sensor, permitindo uma medição precisa dos pulsos, que corresponde ao volume de líquido.

Mecanismo de Dispensação

O fluxo de óleo é controlado por uma válvula solenoide que também fornece feedback tátil ao usuário.

  • Quando Ativado (Gatilho Pressionado):

    • O solenoide abre, permitindo que o óleo flua pela pistola.
    • Simultaneamente, ele cria resistência física no gatilho, sinalizando ao usuário que a dispensação está em andamento.
  • Quando Desativado:

    • O solenoide fecha, bloqueando imediatamente o fluxo de óleo.
    • O sistema desativa o solenoide assim que a quantidade de dispensação alvo é atingida, o que também libera a resistência no gatilho.

Transmissão de Dados

  • Módulo WiFi: O módulo WiFi integrado do Raspberry Pi Pico W é usado para comunicação sem fio.
  • Monitoramento Web: Os dados de cada pistola de dispensação individual são enviados para um servidor web central, permitindo o monitoramento em tempo real e o registro de dados.

Gerenciamento de Energia

  • Monitoramento da Bateria: O sistema verifica continuamente a voltagem das baterias.
  • Alerta de Bateria Fraca: Quando a voltagem cai para um nível crítico, o sistema emite um aviso, indicando que as baterias precisam ser substituídas.

Hardware Utilizado

  • Microcontrolador: Raspberry Pi Pico W
  • Display: OLED 128x64 I2C (SSD1306)
  • Sensor de Fluxo: Sensor magnético com pino em REED_SWITCH_PIN_A e REED_SWITCH_PIN_B.
  • Atuador: Válvula Solenoide controlada via Ponte H nos pinos H_BRIDGE_IN1_PIN e H_BRIDGE_IN2_PIN.
  • Entrada de Usuário: 2x Botões de pressão (BUTTON_A_PIN, BUTTON_B_PIN).

Funcionalidades do Firmware

O firmware opera em diferentes modos, controlados por dois botões (A e B).

Modos de Operação

  • Modo Normal:

    • Exibe a contagem de pulsos atual e o fator de calibração (k-factor).
    • Pressionar o botão B abre o fluxo de óleo.
    • Pressionar o botão A fecha o fluxo e, se o fluxo já estiver fechado, zera a contagem.
  • Modo de Calibração:

    • Pressione e segure A para entrar no modo de seleção de volume de calibração.
    • Use o botão B para selecionar um volume pré-definido (500ml, 1000ml, 2000ml, 3000ml).
    • Pressione A para confirmar o volume e zerar a contagem.
    • Na tela "Pronto para Calibrar", pressione B para iniciar a dispensação.
    • Pressione A quando o volume selecionado for atingido. O sistema irá calcular e exibir o novo k-factor.
  • Modo de Dosagem:

    • Pressione e segure B para entrar no modo de seleção de volume de dosagem.
    • Use o botão B para incrementar o volume de 100 em 100 ml.
    • Pressione A para confirmar o volume e preparar a dosagem.
    • Na tela "Pronto para Dosar", pressione B para iniciar.
    • O sistema irá dispensar o volume selecionado e fechar o fluxo automaticamente.

About

Este repositório contém o código-fonte do microcontrolador de uma pistola de óleo inteligente, utilizando um Raspberry Pi Pico W. O sistema foi projetado para medir e dispensar óleo com precisão, fornecendo feedback de dados em tempo real e alertas ao usuário.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages