El Pomoduino hace un temporizador de Pomodoro con Arduino

  • Harry James
  • 0
  • 983
  • 196
Anuncio

La técnica pomodoro Procrastinación corta con estas aplicaciones y software de la técnica Pomodoro La procrastinación corta con estas aplicaciones y software de la técnica Pomodoro La procrastinación es una enfermedad que afecta a estudiantes y trabajadores en todos los rincones del mundo e infecta a aficionados y profesionales por igual. Como escritor, sufro de dilaciones a diario. Algunas personas ... es un sistema popular de gestión del tiempo que implica dividir el trabajo en fragmentos de 25 minutos con un descanso de 5 minutos. Existen varios programas para ayudar con esto, pero ¿qué sucede si desea usar el sistema pomodoro mientras trabaja lejos de su computadora o mientras está en su banco de trabajo? Hacer un temporizador de pomodoro con Arduino es un gran proyecto introductorio 15 Grandes proyectos Arduino para principiantes 15 Grandes proyectos Arduino para principiantes ¿Está interesado en proyectos Arduino pero no sabe por dónde empezar? Estos proyectos para principiantes le enseñarán cómo comenzar. para ayudarlo a aprender un Arduino, y realmente resultará en algo útil.

La meta

En caso de que desee tratar de descubrir cómo configurar esto antes de mirar hacia adelante, esto es lo que estamos tratando de hacer. Tendremos tres luces; uno para “trabajo,” uno para “rotura,” y una luz de advertencia. La luz de trabajo permanecerá encendida durante 25 minutos, y la luz de advertencia también estará encendida durante los últimos dos minutos de ese intervalo. Después de 25 minutos, las luces de trabajo y de advertencia se apagarán, y la luz de descanso se encenderá durante 5 minutos (la luz de advertencia se encenderá nuevamente durante los últimos dos minutos).

También se incluirá un botón que retrasará el cambio de las luces durante dos minutos para darle un poco más de tiempo de trabajo o descanso..

Que necesitas

Para este proyecto, utilizaremos las siguientes partes, todas las cuales debe tener en su kit de inicio.

  • Microcontrolador Arduino (utilizamos un Mega, pero Uno también funcionaría bien)
  • Tablero de circuitos
  • cable USB
  • 6 cables
  • 3 x resistencias de 330 ohmios
  • 3 x LED (hemos usado verde, amarillo y azul)
  • 1 pulsador

Paso 1: configurar todo

Coloque cada uno de los LED en una columna diferente en el tablero (es más fácil si están separados un poco) y coloque el botón un poco más abajo. Asegúrese de que el botón esté orientado en la dirección correcta: hay dos conjuntos de dos pines en un solo lado del botón, y esos pines deben estar en la misma fila.

Tienda los cables de los pines 5, 7 y 13 a la columna que contiene el tramo negativo de los LED azul, amarillo y verde (el tramo negativo es el más corto de los dos). Luego, coloque una resistencia en la misma columna que cada tramo positivo y conéctelos al riel negativo en el costado de la placa de pruebas (el azul, aunque el color realmente no importa, es una convención usar el azul para mayor claridad).

También pase un cable desde el riel azul en la placa de prueba hasta una de las patas del botón, y otro cable desde la otra pata (en el mismo lado) hasta el pin 2 en el Arduino. Luego conecte a tierra el riel azul en el pin GND del Arduino.

Aquí hay un diagrama que debería aclarar cualquier confusión:

¡Eso es! Ahora a la programación.

Programando tu Arduino

A continuación se muestra el código para el temporizador Pomoduino: lea los comentarios en línea, ya que explican qué está haciendo cada paso del código.

 int verde = 13; int amarillo = 7; int azul = 5; int ledStateGreen = BAJO; int ledStateBlue = LOW; largo anteriorMillis = 0; intervalo largo int buttonPin = 2; int buttonState = 1; bool presionado = 0; pressTime largo = 0; int fase = 0; configuración vacía () pinMode (verde, SALIDA); pinMode (amarillo, SALIDA); pinMode (azul, SALIDA); pinMode (buttonPin, INPUT_PULLUP); digitalWrite (buttonPin, HIGH);  void loop () // actualiza la hora actual y el estado del botón unsigned long currentMillis = millis (); int buttonState = digitalRead (buttonPin); // mide el tiempo desde el último botón presiona progreso largo = currentMillis - previousMillis; // verifique si el botón ha sido presionado // más de 2 segundos desde la última vez que presionó // (para evitar que se presionen varias veces) if ((pressTime - currentMillis)> 2000) if (buttonState == 0) prensa = 1; pressTime = currentMillis; else prensa = 0; // la fase 0 es la fase de "trabajo" // si se ha presionado el botón, agregue 2 minutos al temporizador de trabajo si (fase == 0) si (presionado == 1 ) intervalo = 1620000; // si el intervalo ha terminado, registre el tiempo actual // para medir el siguiente intervalo if (currentMillis - previousMillis> intervalo) previousMillis = currentMillis; // establece los estados del LED verde y azul si (ledStateGreen == LOW) ledStateGreen = HIGH; ledStateBlue = LOW; else ledStateGreen = LOW; // aplica los estados del LED a los LED // restablece el intervalo y cambia a la fase "break" digitalWrite (verde, ledStateGreen); digitalWrite (azul, ledStateBlue); intervalo = 1500000; buttonState = 1; fase = 1;  más // si se ha presionado el botón, agregue 2 minutos para interrumpir el temporizador si (presionado == 1) intervalo = 420000; // si el intervalo ha terminado, registre el tiempo actual // para medir el siguiente intervalo si (currentMillis - previousMillis> intervalo) previousMillis = currentMillis; // establece los estados del LED azul y verde if (ledStateBlue == HIGH) ; ledStateBlue = LOW;  else ledStateBlue = HIGH; ledStateGreen = LOW; // aplica los estados del LED a los LED // restablece el intervalo y establece la fase de "trabajo" digitalWrite (verde, ledStateGreen); digitalWrite (azul, ledStateBlue); intervalo = 300000; buttonState = 1; fase = 0;  // calcular el tiempo restante en el intervalo unsigned long timeLeft = (intervalo - progreso); // si quedan menos de dos minutos, encienda el LED amarillo if (timeLeft < 120000)  digitalWrite(yellow, HIGH);  else  digitalWrite(yellow, LOW);  // reset pressed variable pressed = 0; 

Nota: cuando esté probando esto, probablemente no quiera esperar 25 minutos para ver si funciona. En el video a continuación, tengo los intervalos establecidos en 5 segundos para el verde, 2 segundos para el azul y 1 segundo para el amarillo. Use un intervalo más corto para asegurarse de que todo funcione correctamente antes de usarlo para realizar un seguimiento del tiempo!

Una vez que tenga todo conectado y el código ingresado en el IDE, ¡estará listo! Sube el boceto y tendrás un temporizador pomodoro en funcionamiento con un botón de retraso de 2 minutos. Si la luz de advertencia se enciende y necesita más tiempo, simplemente presione el botón.

Puede notar que el botón está conectado directamente al pin de entrada Arduino. Al usar una de las resistencias pullup integradas en el Arduino, no necesita pasar un cable desde el puerto de 5V hasta el botón o usar una resistencia en línea con él. Puede obtener más información sobre la referencia de Arduino para pines digitales.

Desafíos más avanzados

Si ha hecho su Pomoduino y está buscando adquirir algo un poco más avanzado, puede intentar cualquiera de los siguientes:

  • Agregue una secuencia de LED que se iluminen y sirvan como contador del número de sesiones de trabajo completadas
  • Haga que el botón agregue dos minutos al temporizador por cada vez que lo presione
  • Agregue un altavoz y escuche un ruido cuando llegue el momento de volver al trabajo
  • Use una batería de 9V para hacerlo portátil
  • En lugar de usar una luz de advertencia, parpadee la luz verde o azul durante unos minutos antes de cambiar
  • Mostrar una cuenta regresiva en una pantalla LED

Otros grandes proyectos para principiantes

Si eres nuevo en Arduino, tenemos muchos tutoriales divertidos para que los lleves. Prueba un controlador de semáforo Programación Arduino para principiantes: Tutorial del proyecto Controlador de semáforo Programación Arduino para principiantes: Tutorial del proyecto Controlador de semáforo ¡Construir un controlador de semáforo Arduino te ayuda a desarrollar habilidades básicas de codificación! Te ayudamos a comenzar. , un cubo LED futurista Cómo hacer un cubo de LED Arduino pulsante que parece que vino del futuro Cómo hacer un cubo de LED Arduino pulsante que parece que vino del futuro Si has incursionado en algunos proyectos principiantes de Arduino, pero estás buscando algo un poco permanente y en un nivel completamente diferente, entonces el humilde cubo LED de 4 x 4 x 4 es ..., una alarma de amanecer Arduino Night Light y Sunrise Alarm Project Arduino Night Light y Sunrise Alarm Project Hoy, vamos a estarás haciendo una alarma de amanecer, que te despertará suave y lentamente sin recurrir a una máquina ofensiva que hace ruido. , o un sistema de alarma Cómo hacer un sistema de alarma Arduino simple Cómo hacer un sistema de alarma Arduino simple Detecte movimiento, luego asuste a un intruso con un sonido de alarma agudo y luces intermitentes. ¿Suena divertido? Claro que lo hace. Ese es el objetivo del proyecto Arduino de hoy, adecuado ... Si decide asumir uno de los desafíos más avanzados enumerados anteriormente, háganos saber cómo va!




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.