Pastillero inteligente- Grupo 03

1. Objetivos del proyecto

El objetivo principal de este proyecto es diseñar e implementar un pastillero inteligente basado en Arduino que permita mejorar el seguimiento de la medicación por parte del usuario, reduciendo olvidos y facilitando la toma correcta de los medicamentos a lo largo de la semana.

Para ello, se plantean los siguientes objetivos específicos:

  • Desarrollar un sistema capaz de generar avisos automáticos en horarios configurables mediante señales acústicas y visuales.
  • Implementar un mecanismo de confirmación de toma basado en la apertura y cierre de compartimentos mediante microswitches.
  • Integrar un sistema de visualización que muestre información relevante como la hora actual y las alarmas configuradas.
  • Diseñar una interfaz sencilla e intuitiva, utilizando un joystick, que permita modificar los horarios de las alarmas por el usuario.
  • Construir un sistema fiable que funcione en tiempo real gracias al uso de un módulo RTC.

2. Descripción del proyecto

El sistema avisa mediante un buzzer y un LED cuando llega la hora de la medicación, y mantiene la alerta activa hasta que el usuario abre el compartimento correspondiente y lo cierra posteriormente, detectado mediante un microswitch.

Además, el dispositivo incluye una pantalla LCD que muestra en todo momento la hora actual así como la alarma configurada. La configuración de horarios se realiza mediante un joystick, que permite modificar las alarmas de cada día.

3. Componentes 

El sistema se basa en los siguientes elementos:

  • Un módulo RTC (DS3231) que proporciona la hora y fecha en tiempo real.
  • Una pantalla LCD 16×2 para mostrar información.
  • Un buzzer para avisos sonoros.
  • Un LED como indicador visual.
  • Un joystick para la configuración manual de alarmas.
  • 7 microswitches, uno por compartimento del pastillero.

4. Funcionamiento general del sistema

El funcionamiento del sistema es el siguiente:

  1. El RTC obtiene la hora y el día actual.
  2. El sistema compara la hora con las alarmas programadas.
  3. Si coincide:
    • Se activa el buzzer de forma intermitente.
    • Se enciende el LED.
    • La pantalla muestra “TOMA PASTILLA”.
  4. La alarma solo se desactiva cuando el usuario abre/cierra el compartimento correspondiente.
  5. El joystick permite modificar la hora de la alarma de cada día.

5. Implementación

Hardware utilizado:

  • Arduino UNO
  • RTC DS3231
  • LCD 16×2 con módulo I2C
  • Buzzer activo
  • LED
  • Joystick analógico
  • 7 microswitches
  • Resistencias y cables de conexión

Software:

  • Arduino IDE
  • Librerías:
    • RTClib
    • LiquidCrystal_I2C

6. Código 

Link al código completo:

https://app.arduino.cc/sketches/1eb7c415-5612-4e90-a642-ee33712b6488?view-mode=preview

7. Reparto de tareas

En el desarrollo del proyecto, ambos miembros hemos participado activamente en las distintas áreas, abarcando tanto el diseño y montaje del circuito (incluyendo Arduino, sensores y conexiones), como la integración de componentes hardware como la pantalla LCD, el módulo RTC, el buzzer y el LED. Asimismo, se ha llevado a cabo el desarrollo del código, incluyendo la lógica de funcionamiento de las alarmas, la programación de la interfaz mediante joystick y las tareas de ajuste, depuración y validación del sistema.

Todo el trabajo ha sido realizado de forma conjunta por ambos miembros, colaborando en la toma de decisiones, la integración final del sistema hardware-software y la elaboración tanto de la memoria como de la presentación.

8. Coste aproximado de materiales

ComponenteCoste aproximado
RTC DS32315,99€
LCD 16×2 I2C5,99€
Buzzer4,15€
Joystick4,00€
Microswitches (x7)4,69€
Cables Dupont4,60€
Total29,42€

9. Problemas encontrados y soluciones

Problema 1: Fallo en microswitch

  • Problema: uno de los microswitches no detectaba correctamente la apertura y cierre del compartimento, mostrando siempre el mismo estado.
  • Solución: se comprobó el cableado y, al ver que el problema persistía, se sustituyó el microswitch por uno nuevo, solucionando el fallo de detección. 

Problema 2: Error “Missing FQBN”

  • Problema: el IDE no reconocía la placa.
  • Solución: selección manual de la placa Arduino en el IDE.

Problema 3: Buzzer continuo

  • Problema: el buzzer era molesto al sonar constantemente.
  • Solución: implementación de buzzer intermitente usando millis().

Problema 4: Gestión de alarmas

  • Problema: la alarma se apagaba automáticamente.
  • Solución: se implementó lógica de persistencia hasta detectar el cierre del compartimento. 

Problema 5: Librería LCD incompatible

  • Problema: advertencias de compatibilidad con LiquidCrystal_I2C.
  • Solución: uso de versión estable de la librería o ignorar advertencia si funciona correctamente.

10. Casos de uso

El sistema está diseñado para:

  • Personas mayores con medicación diaria
  • Pacientes con tratamientos semanales
  • Recordatorio automático de pastillas
  • Control de cumplimiento de medicación
  • Reducción de olvidos en tratamientos médicos

11. Vídeo explicativo

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *