TCC · Engenharia de Robôs · FEI

Do aplicativo ao comprimido, uma rotina só.

DoseCerta é um dispensador modular de medicamentos conectado a um aplicativo para cuidadores. Organize horários, associe cada reservatório ao paciente certo e acompanhe cada registro.

  • Vários pacientes no mesmo aparelho
  • Módulos com motor e sensor próprios
  • Agenda guardada também no aparelho
Modelo 3D do aparelho DoseCerta: carcaça branca com tampa azul e copo coletor laranja Arraste para girar

A necessidade

Muitos horários.
Uma rotina para acompanhar.

Quem cuida de alguém que usa vários medicamentos precisa organizar nomes, quantidades e horários, e ainda saber o que de fato aconteceu. Essa rotina envolve o paciente, a família e o cuidador ao mesmo tempo.

Nossa pergunta: como conectar a organização do cuidado ao momento físico de disponibilizar o medicamento?

Paciente

Recebe o medicamento no horário combinado, sem precisar separar doses.

Cuidador

Programa a rotina de cada pessoa e confere estoques e registros.

Família

Acompanha o mesmo histórico, com a origem de cada informação.

Rotina de hojePaciente A
3 horários · 4 medicamentos
  1. Medicamento 1Medicamento 2
  2. Medicamento 3
  3. Medicamento 1Medicamento 4
Já foi a das 8h?Quanto resta no estoque?Quem registrou?

Exemplo ilustrativo, com nomes fictícios.

Como funciona

Quatro passos, do plano ao registro.

O aplicativo organiza; o aparelho executa localmente; cada resultado volta para o histórico.

  1. 1

    Organizar a rotina

    O cuidador seleciona o paciente, cadastra os medicamentos e define os horários no aplicativo.

    Implementado
  2. 2

    Associar o reservatório

    Cada módulo guarda um medicamento. Dois LEDs indicam o encaixe e o cuidador confirma a posição.

    Implementado
  3. 3

    Executar o mecanismo

    A central comanda o módulo: o motor gira o disco de cinco cavidades e o sensor óptico marca as paradas.

    Demonstrado em bancada
  4. 4

    Acompanhar os registros

    Movimento, saída observada e tomada são eventos separados, sincronizados com o histórico do paciente.

    Jornada completa em validação

O aparelho

Modular por dentro.
Simples por fora.

Uma central coordena o aparelho, o intermediário oferece quatro encaixes e cada submódulo guarda um medicamento. O modelo abaixo é o protótipo real do projeto.

Vista explodida do módulo de medicamento DoseCerta
Carcaça e central
01 · Central

Uma central que decide localmente.

Dentro da carcaça, uma Raspberry Pi Zero 2 W com relógio de tempo real guarda a configuração recebida, supervisiona os módulos e dá retorno com LEDs e som.

  • Raspberry Pi Zero 2 W
  • RTC DS3231
  • Buzzer e LEDs RGB
02 · Intermediário

Quatro encaixes, um barramento.

A tampa sai por cima e revela o intermediário: quatro encaixes com conectores pogo que levam alimentação e comunicação I²C a cada módulo.

  • ESP32
  • 4 encaixes com pogos
  • 5 V · GND · SDA · SCL
03 · Submódulo

Um medicamento por módulo.

Cada submódulo tem seu próprio silo, motor e sensor. Para ampliar o conjunto, adiciona-se um módulo, sem trocar a central.

  • ESP32 próprio
  • Motor 28BYJ-48 · ULN2003
  • Sensor óptico TCRT5000
04 · Mecanismo

Disco de cinco cavidades.

O disco trocável gira dentro do cilindro. A cada posição, o sensor óptico lê a reflexão e identifica a passagem pela cavidade. A base magnética facilita o encaixe.

  • 5 cavidades · ~72° entre centros
  • Disco trocável
  • Encaixe por ímã
05 · Montagem guiada

A luz indica o encaixe.

Ao associar um módulo a um paciente e a um medicamento, dois LEDs vizinhos delimitam o encaixe certo. O cuidador confirma a posição no aplicativo.

  • Pares de LEDs 1–2, 2–3, 3–4, 4–1
  • Confirmação visual
06 · Retirada

Saída no copo coletor.

O comprimido segue para o copo coletor, na frente do aparelho. A saída observada é registrada à parte: girar o motor não comprova, sozinho, que o medicamento foi entregue.

  • Copo frontal
  • Saída registrada separadamente

O aplicativo

Paciente, medicamento e estoque no mesmo fluxo.

A mesma conta acompanha vários pacientes no mesmo aparelho, cada um com agenda, vínculos e estoques separados.

Demonstração ilustrativa com dados fictícios, desenhada a partir da interface real. Nada aqui se conecta ao aparelho.

DoseCerta Paciente A
Próxima dose 08:00 Medicamento 1 · 1 comprimido

Hoje

07:00 · Café da manhãAtividade da rotina
08:00 · Medicamento 1Módulo SUB · encaixe 1
Agora
13:00 · Medicamento 3Registro manual
20:00 · Medicamento 4Registro manual

Arquitetura

Configuração local.
Resultados sincronizados.

A nuvem coordena os dados; a central guarda a configuração e executa no aparelho. A API não aciona motores diretamente: a central recebe a configuração e decide localmente.

AplicativoWeb app React · cuidador e paciente
ServidorAPI FastAPI · Supabase / PostgreSQL
CentralRaspberry Pi · runtime Python · SQLite fila local: 0 eventos
MódulosESP32 · I²C nos pogos · motor e sensor

Rede disponível: configuração e eventos fluem nos dois sentidos.

Simulação visual · não representa medição.

Configuração versionada

A central confere a versão recebida e mantém agenda e eventos pendentes em SQLite.

Registro antes do movimento

A intenção é gravada antes de o motor girar; resultado e evento são gravados juntos.

Reenvia o evento, não o movimento

Se a resposta da rede se perde, o evento é reenviado. A ação física nunca se repete por isso.

Pacientes isolados

Agendas, vínculos e estoques ficam separados por paciente no mesmo aparelho.

Incerteza explícita

Uma execução interrompida por falta de energia pede conferência, sem repetição automática.

Resultados

Protótipo construído e medido.

Ensaios de bancada com a central, um intermediário (INT01) e um submódulo (SUB01).

5/5paradas detectadas pelo sensor no disco de cinco cavidades
820fases comandadas por cavidade, média experimental de 5 intervalos
2pacientes com agendas e estoques separados no mesmo aparelho
1dispensação observada e registrada, do avanço à queda
Intervalos medidos entre as 5 detecçõesFases comandadas por cavidade
média 820 · soma 4.100
média 820
7951→2
8452→3
8613→4
7984→5
8015→1
Eixo a partir de 760 fases para destacar a variação (máx. 861, mín. 795). Ensaio aceito pelo aplicativo, com disco vazio. A média é uma referência experimental deste protótipo, não uma constante para outras impressões ou motores. Fase comandada não é posição medida por encoder.

O que o sensor lê

O TCRT5000 mede reflexão óptica. Mudanças no retorno distinguem superfície, furo e ocupação na geometria calibrada. Ele não mede distância em milímetros nem comprova ingestão.

Animação esquemática.

Demonstrado em bancada

  • Comunicação real entre central, INT01 e SUB01
  • Controle dos LEDs RGB e leitura de estados pelo app
  • Giro contínuo e parada durante o movimento
  • Cinco paradas pelo sensor e intervalos medidos
  • Uma dispensação observada: avanço, queda e retorno
  • Atualização do firmware SUB pelos pogos

Implementado em software

  • App, API e sincronização com a central, conferida por hash
  • Vários pacientes com agendas e estoques separados
  • Vínculo módulo → paciente → medicamento → encaixe
  • Fila local, reenvio de eventos e reconciliação
  • Executor de agenda testado em simulação

Em validação

  • Calibração com o silo montado e busca automática
  • Dispensar 1, 2 ou 3 unidades com vínculo, ponta a ponta
  • Operação autônoma da agenda no módulo físico
  • Partida a frio com relógio RTC e sem rede

Bastidores da bancada

Fotos do protótipo durante a montagem e os ensaios. A fiação mostrada é anterior ao reparo elétrico em andamento.

Placa ESP32 usada nos módulos, segurada na mão
Sensor óptico TCRT5000, com emissor e receptor
Sensor TCRT5000 soldado à fiação do submódulo
ESP32, sensor e driver do motor junto à carcaça impressa

Próximos passos

Consolidar repetibilidade e autonomia.

Sempre com cada resultado registrado.

  1. Calibração após o reparo elétrico

    Repetir a calibração com o silo montado e aceitar a busca automática da geometria.

  2. Dispensar 1, 2 ou 3 unidades

    Validar fisicamente o fluxo vinculado, com baixa no estoque certo.

  3. Relógio e partida a frio

    Ativar o RTC e validar a operação após falta de energia, sem rede.

  4. Configuração guiada por Bluetooth

    Concluir a primeira instalação pelo celular Android.

  5. Câmera e assistente

    Integrar a análise por câmera e o assistente de voz e texto com vários pacientes.

Equipe

Quem construiu o DoseCerta.

Engenharia de Robôs · Centro Universitário FEI · 2026

    Trabalho
    Orientação
    Apresentação

    Organizar. Disponibilizar. Acompanhar.

    Uma rotina de cuidado mais organizada, acompanhável e conectada ao dispositivo físico.