Analisando propostas

Monitor de dosagem de produtos com arduino

Publicado em 13 de Julho de 2025 dias na TI e Programação

Sobre este projeto

Aberto

# PROJETO: Monitor de Dosagem Inteligente -
## resumo do sistema
sistema microcontrolado baseado em arduino uno para monitoramento e controle da dosagem
de detergente, alvejante e amaciante em máquinas , utilizando leitura de
sinais digitais (nível low), teclado matricial 4x4, display lcd 16x2 i2c, 3 relés de
acionamento e armazenamento de parâmetros na eeprom.
---
## Hardware utilizado
- microcontrolador: arduino uno
- display: lcd 16x2 com interface i2c (sda: a4, scl: a5)
- teclado matricial 4x4 (portas d2 a d9)
- relés:
- d10: relé canal 1 - detergente
- d11: relé canal 2 - alvejante
- d12: relé canal 3 - amaciante
- entradas de sinal da máquina:
- a0: sinal 1 - detergente
- a1: sinal 2 - alvejante
- a2: sinal 3 - amaciante
- a3: sinal 4 - (reservado)
- porta d13: seletor de modo (high = modo completo / low = modo simples)
---
## modos de operação
### modo simples (porta d13 = low)
- cada canal possui um único tempo de dosagem: d1, avj1, amac1
- qualquer pulso low (1 a 30s) aciona o canal correspondente por seu tempo programado
único
- tempo programado é configurado via tecla `*` (ver seção de teclado)
- somente tempos d1, avj1 e amac1 são usados
- após qualquer acionamento, o sistema entra em bloqueio de 120s
### modo completo (porta d13 = high)
- cada canal possui três tempos distintos:
- detergente: d1, d2, d3
- alvejante: avj1, avj2, avj3
- amaciante: amac1, amac2, amac3
- a duração do sinal low define qual tempo será acionado:
- ~3s -> tempo 1 (d1, avj1, amac1)
- ~6s -> tempo 2 (d2, avj2, amac2)
- ~9s -> tempo 3 (d3, avj3, amac3)
- tempos são configurados via tecla `*` (ver seção de teclado)
- após qualquer acionamento, o sistema entra em bloqueio de 120s
---
## aferição automática (botão `#`)
- disponível apenas no modo completo
- fluxo:
1. Pressionar `#` exibe:
- "afericao" / "selec. CANAL"
2. Usuário seleciona canal com A, B ou C
3. Exibe: Nome do canal / "PRESS. OK"
4. Pressionar `D` aciona o canal por 30 segundos
5. Exibe contagem regressiva: "30 SEGUNDOS" até 0
6. Solicita entrada da quantidade injetada: "QTD. INJETADA" / "*** 7. Usuário digita quantidade e confirma com `D`
8. Sistema exibe: "CALCULANDO", realiza o cálculo:
- ml/s = quantidade injetada ÷ 30
- tempo_final = quantidade desejada em `*` ÷ ml/s
- atualiza os tempos 1, 2 e 3 do canal
9. Exibe "afericao concluida" por 3s, retorna à tela standby
ml"
---
## teclado matricial - funções
| tecla | função |
|-------|---------------------------------|
| 0-9 | entrada numérica (ml) |
| a | seleciona canal detergente |
| b | seleciona canal alvejante |
| c | seleciona canal amaciante |
| d | ok / confirmação |
| `*` | configurar dosagem desejada |
| `#` | executar aferição automática |
---
## configuração via `*`
### modo simples:
1. Pressiona `*` -> "Sel. Canal" / "*** ml"
2. Pressiona `A`, `B` ou `C` -> aparece canal e cursor de digitação
3. Digita quantidade e confirma com `D`
4. Valor é salvo para D1, AVJ1 ou AMAC1
### Modo Completo:
1. Pressiona `*` -> Exibe "Sel. Canal" / "1*** ml"
2. Seleciona canal com `A`, `B` ou `C`
3. Digita 1ª quantidade (tempo 1) -> confirma com `D`
4. Exibe "2*** ML" -> digita -> `D`
5. Exibe "3*** ML" -> digita -> `D`
6. Exibe "configuracao salva" por 3s -> retorna à tela standby
---
## acionamento manual prolongado
- no modo standby:
- pressionar `a`, `b` ou `c` por >3s -> aciona canal enquanto tecla estiver
pressionada
- display mostra "dosando" / nome do canal
- ao soltar a tecla, relé desliga, exibe "dosagem concluida"
---
## display - gerenciamento
- mensagem standby:
- linha 1: "mensagem 1"
- linha 2: "mensagem 2”
- iluminação acende:
- durante dosagens ou configurações
- iluminação apaga:
- 15s após fim de qualquer ação ou inatividade
- timeout:
- qualquer configuração cancelada após 15s sem interação
---
## bloqueio
- após qualquer dosagem por sinal, o sistema bloqueia novos acionamentos do mesmo canal por
120 segundos.

Contexto Geral do Projeto

# PROJETO: Monitor de Dosagem Inteligente - ## resumo do sistema sistema microcontrolado baseado em arduino uno para monitoramento e controle da dosagem de detergente, alvejante e amaciante em máquinas , utilizando leitura de sinais digitais (nível low), teclado matricial 4x4, display lcd 16x2 i2c, 3 relés de acionamento e armazenamento de parâmetros na eeprom. --- ## Hardware utilizado - microcontrolador: arduino uno - display: lcd 16x2 com interface i2c (sda: a4, scl: a5) - teclado matricial 4x4 (portas d2 a d9) - relés: - d10: relé canal 1 - detergente - d11: relé canal 2 - alvejante - d12: relé canal 3 - amaciante - entradas de sinal da máquina: - a0: sinal 1 - detergente - a1: sinal 2 - alvejante - a2: sinal 3 - amaciante - a3: sinal 4 - (reservado) - porta d13: seletor de modo (high = modo completo / low = modo simples) --- ## modos de operação ### modo simples (porta d13 = low) - cada canal possui um único tempo de dosagem: d1, avj1, amac1 - qualquer pulso low (1 a 30s) aciona o canal correspondente por seu tempo programado único - tempo programado é configurado via tecla `*` (ver seção de teclado) - somente tempos d1, avj1 e amac1 são usados - após qualquer acionamento, o sistema entra em bloqueio de 120s ### modo completo (porta d13 = high) - cada canal possui três tempos distintos: - detergente: d1, d2, d3 - alvejante: avj1, avj2, avj3 - amaciante: amac1, amac2, amac3 - a duração do sinal low define qual tempo será acionado: - ~3s -> tempo 1 (d1, avj1, amac1) - ~6s -> tempo 2 (d2, avj2, amac2) - ~9s -> tempo 3 (d3, avj3, amac3) - tempos são configurados via tecla `*` (ver seção de teclado) - após qualquer acionamento, o sistema entra em bloqueio de 120s --- ## aferição automática (botão `#`) - disponível apenas no modo completo - fluxo: 1. Pressionar `#` exibe: - "afericao" / "selec. CANAL" 2. Usuário seleciona canal com A, B ou C 3. Exibe: Nome do canal / "PRESS. OK" 4. Pressionar `D` aciona o canal por 30 segundos 5. Exibe contagem regressiva: "30 SEGUNDOS" até 0 6. Solicita entrada da quantidade injetada: "QTD. INJETADA" / "*** 7. Usuário digita quantidade e confirma com `D` 8. Sistema exibe: "CALCULANDO", realiza o cálculo: - ml/s = quantidade injetada ÷ 30 - tempo_final = quantidade desejada em `*` ÷ ml/s - atualiza os tempos 1, 2 e 3 do canal 9. Exibe "afericao concluida" por 3s, retorna à tela standby ml" --- ## teclado matricial - funções | tecla | função | |-------|---------------------------------| | 0-9 | entrada numérica (ml) | | a | seleciona canal detergente | | b | seleciona canal alvejante | | c | seleciona canal amaciante | | d | ok / confirmação | | `*` | configurar dosagem desejada | | `#` | executar aferição automática | --- ## configuração via `*` ### modo simples: 1. Pressiona `*` -> "Sel. Canal" / "*** ml" 2. Pressiona `A`, `B` ou `C` -> aparece canal e cursor de digitação 3. Digita quantidade e confirma com `D` 4. Valor é salvo para D1, AVJ1 ou AMAC1 ### Modo Completo: 1. Pressiona `*` -> Exibe "Sel. Canal" / "1*** ml" 2. Seleciona canal com `A`, `B` ou `C` 3. Digita 1ª quantidade (tempo 1) -> confirma com `D` 4. Exibe "2*** ML" -> digita -> `D` 5. Exibe "3*** ML" -> digita -> `D` 6. Exibe "configuracao salva" por 3s -> retorna à tela standby --- ## acionamento manual prolongado - no modo standby: - pressionar `a`, `b` ou `c` por >3s -> aciona canal enquanto tecla estiver pressionada - display mostra "dosando" / nome do canal - ao soltar a tecla, relé desliga, exibe "dosagem concluida" --- ## display - gerenciamento - mensagem standby: - linha 1: "mensagem 1" - linha 2: "mensagem 2” - iluminação acende: - durante dosagens ou configurações - iluminação apaga: - 15s após fim de qualquer ação ou inatividade - timeout: - qualquer configuração cancelada após 15s sem interação --- ## bloqueio - após qualquer dosagem por sinal, o sistema bloqueia novos acionamentos do mesmo canal por 120 segundos.

Categoria TI e Programação
Subcategoria Outros
Tamanho do projeto Pequeño
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário

Prazo de Entrega: Não estabelecido

Habilidades necessárias