Construye tu timer Pomodoro con M5Stick y UIFlow

En este artículo te explico cómo construir un timer para la técnica Pomodoro utilizando un M5StickC Plus2 y la plataforma UIFlow. Aprovecha mejor tu tiempo de trabajo o estudio con este tutorial paso a paso.

Introducción

La técnica Pomodoro es un método de gestión del tiempo que busca mejorar la productividad y la concentración. Fue creado por Francesco Cirillo a fines de los años 80. Se llama “Pomodoro” porque Cirillo utilizaba un temporizador de cocina con forma de tomate (“pomodoro” en italiano) para medir sus intervalos de trabajo.

El método se basa en dividir el trabajo o estudio en intervalos de tiempo, generalmente de 25 minutos, llamados “pomodoros”, seguidos de un breve descanso de 5 minutos. Después de completar cuatro pomodoros, se toma un descanso más largo, de unos 15 a 30 minutos.

En este artículo, te comparto el diseño de un temporizador Pomodoro programado con un M5StickC Plus2 empleando UIFlow. Este dispositivo no solo te ayudará a estudiar o concentrarte en diversas tareas, sino que también te permitirá practicar y mejorar tus habilidades de programación.

Fig. 1. Técnica Pomodoro

Materiales necesarios

  • M5StickC Plus2 x 1

Interface

La interface del programa es muy simple y contiene solo cuatro elementos:

Fig. 2. Interface
  • Título: Sirve para mostrar el estado del timer: Run (corriendo) o Pausa
  • Imagen: Imagen decorativa
  • Tiempo restante: Tiempo que le queda a este pomodoro. Si está en color rojo, es un período de trabajo. Si está en verde, un período de descanso.
  • Barra de progreso: Complementa la información anterior con una barra. Se aplica la misma convención de colores.

Programa

El programa del timer Pomodoro está hecho en UIFlow ver 1. Implementa pomodoros de trabajo de 25 minutos seguidos de descansos de 5 minutos. No se implementan los períodos de descanso mas largos y los tiempos están fijos en el programa (lo que se suele denominar “harcodeados”).

Diagrama de flujo

Para explicar el funcionamiento del programa utilizaré el siguiente diagrama de flujo simplificado.

Fig. 3. Diagrama de flujo

En el diagrama puedes ver que el programa se divide en tres partes o módulos:

  • El programa principal que comienza en Setup
  • Una función llamada ShowTime (mostrar tiempo)
  • Una segunda función que responde al evento Presionar el botón “A” (el del frente del M5Stick).

El programa principal comienza en Setup donde se inicializa la interfaz, los distintos elementos y colores de la pantalla y algunas variables, cargando TIME con 25, para contar el tiempo de un pomodoro, y RUNNING en 0 para que el timer inicie en modo pausa.

A continuación empieza un bucle (bloque amarillo Bucle) donde se verifica el estado de RUNNING y si vale 1 (timer en marcha), se hace un retardo de 1 minuto, se descuenta el tiempo, se lo muestra en pantalla usando ShowTime y se comprueba si ha llegado a cero.

Cuando el tiempo llega a cero se hace una nueva comprobación: si la variable MODE indica que el pomodoro actual era de Trabajo, se carga el tiempo con 5 minutos y se establece el modo Descanso, caso contrario se carga el tiempo con 25 minutos y se establece el modo Trabajo. Esto es para que luego de un pomodoro de trabajo de 25 minutos siga otro de descanso de 5 minutos y viceversa.

Si en algún momento se presiona el botón “A” del frente, funciona el evento correspondiente y lo que hace es alternar el valor de RUNNING, entre 0 y 1. De esta manera si está en Pausa y apretamos la tecla pasará a Run y si la volvemos a apretar volverá a Pausa. Esto se actualiza en el titulo de la pantalla.

Finalmente, ShowTime es una función que muestra el tiempo con dos digitos en la pantalla y el código se ha puesto aparte para mejorar la claridad del programa.

Programa UIFlow

El programa en UIFlow1 completo puede verse a continuación.

Fig. 4. Programa en UIFlow1

Repositorio

Este proyecto, como todos los otros que he realizado con el M5Stick están en mi repositorio de GitHub:

Fig. 5. El timer Pomodoro con M5Stick en funcionamiento

Mas info

Página del M5StickC Plus2 en M5Stack

Conclusiones

Construir un timer para la técnica Pomodoro utilizando un M5StickC Plus2 y la plataforma UIFlow es una excelente manera de aumentar tu productividad en el trabajo o el estudio mientras mejoras tus habilidades de programación.

En este tutorial te he guiado paso a paso en el diseño del temporizador, incluyendo una explicación completa del desarrollo del programa. Con este proyecto, no solo podrás gestionar mejor tu tiempo, sino también explorar las capacidades de programación y personalización que ofrece el M5StickC Plus2.

Como siempre, cualquier duda o sugerencia puedes dejarla mas abajo en la sección de comentarios. Nos vemos pronto con otro interesante y útil proyecto!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias