Sobre este projeto
it-programming / others-5
Aberto
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