Le Pomoduino fait une minuterie Pomodoro alimentée par Arduino

Le Pomoduino fait une minuterie Pomodoro alimentée par Arduino / DIY

La technique pomodoro Traverser la procrastination avec ces applications et logiciels de la technique Pomodoro Traverser la procrastination avec ces applications et les logiciels de la technique Pomodoro La procrastination est une maladie qui envahit les étudiants et les travailleurs du monde entier et infecte les amateurs et les professionnels. En tant qu'écrivain, je souffre de la procrastination au quotidien. Certaines personnes… Lire la suite est un système de gestion du temps populaire qui consiste à diviser le travail en morceaux de 25 minutes avec un repos de 5 minutes. Il existe divers logiciels pour vous aider, mais que se passe-t-il si vous souhaitez utiliser le système pomodoro lorsque vous travaillez loin de votre ordinateur ou lorsque vous êtes sur votre établi? Réaliser un minuteur pomodoro alimenté par Arduino est un excellent projet d’introduction. 15 Grands projets Arduino pour les débutants 15 Grands projets Arduino pour les débutants Intéressé par Arduino mais vous ne savez pas par où commencer? Voici quelques-uns de nos meilleurs projets Arduino pour les débutants! Lisez-en plus pour vous aider à vous familiariser avec un Arduino, et aboutira à quelque chose d'utile.

Le but

Au cas où vous voudriez essayer de comprendre comment mettre cela en place avant de regarder vers l’avenir, voici ce que nous essayons de faire. Nous aurons trois lumières; un pour “travail,” un pour “Pause,” et une lumière d'avertissement. Le voyant de travail reste allumé pendant 25 minutes et le voyant d’avertissement reste allumé pendant les deux dernières minutes de cet intervalle. Après 25 minutes, les voyants de travail et d'avertissement s'éteignent et l'éclairage de pause s'allume pendant 5 minutes (le voyant reste allumé pendant les deux dernières minutes)..

Un bouton qui retardera le changement des lumières de deux minutes sera également inclus pour vous donner un peu plus de temps de travail ou de pause.

De quoi as-tu besoin

Pour ce projet, nous utiliserons les pièces suivantes, que vous devriez avoir dans votre kit de démarrage..

  • Microcontrôleur Arduino (nous avons utilisé un Mega, mais Uno fonctionnerait très bien aussi)
  • Planche à pain
  • cable USB
  • 6 fils
  • 3 résistances de 330 Ohm
  • 3 x LED (nous avons utilisé le vert, le jaune et le bleu)
  • 1 bouton poussoir

Étape 1: Tout mettre en place

Placez chacune des LED dans une colonne différente de la planche à pain (c'est plus facile si elles sont espacées un peu) et placez le bouton un peu plus bas. Assurez-vous que le bouton est orienté dans la bonne direction: il y a deux jeux de deux broches sur un seul côté du bouton et ces broches doivent être dans la même rangée..

Faites passer les fils des broches 5, 7 et 13 dans la colonne contenant le bras négatif des voyants bleu, jaune et vert (le bras négatif est le plus court des deux). Ensuite, placez une résistance dans la même colonne que chaque jambe positive, et connectez-les au rail négatif situé sur le côté de la planche à pain (la bleue, bien que la couleur importe peu, il est juste convention d'utiliser le bleu pour plus de clarté)..

Faites également passer un fil du rail bleu de la planche à pain à l’une des pattes du bouton et un autre fil de l’autre patte (du même côté) à la broche 2 de l’Arduino. Puis reliez le rail bleu à la broche GND de l’Arduino.

Voici un schéma qui devrait éclaircir toute confusion:

C'est tout! Passons maintenant à la programmation.

Programmation de votre Arduino

Vous trouverez ci-dessous le code du chronomètre Pomoduino - lisez attentivement les commentaires en ligne, car ils expliquent le fonctionnement de chaque étape du code..

 int vert = 13; int jaune = 7; int bleu = 5; int ledStateGreen = LOW; int ledStateBlue = LOW; long précédentMillis = 0; long intervalle; int buttonPin = 2; int buttonState = 1; booléen pressé = 0; long pressTime = 0; int phase = 0; void setup () pinMode (vert, OUTPUT); pinMode (jaune, OUTPUT); pinMode (bleu, OUTPUT); pinMode (buttonPin, INPUT_PULLUP); digitalWrite (buttonPin, HIGH);  void loop () // met à jour l'heure et l'état du bouton unsigned long currentMillis = millis (); int buttonState = digitalRead (buttonPin); // mesure le temps écoulé depuis la dernière pression sur un bouton longue progression = currentMillis - previousMillis; // vérifie si le bouton a été appuyé // plus de 2 secondes depuis la dernière pression // (pour empêcher l'enregistrement de plusieurs pressions) if ((pressTime - currentMillis)> 2000) if (buttonState == 0) appuyé = 1; pressTime = currentMillis; else appuyé = 0; // phase 0 est "travail" phase // si le bouton a été enfoncé, ajoutez 2 minutes pour que le minuteur fonctionne si (phase == 0) if (enfoncé == 1 ) intervalle = 1620000; // si l'intervalle est terminé, enregistrez l'heure actuelle // pour mesurer l'intervalle suivant si (currentMillis - previousMillis> intervalle) previousMillis = currentMillis; // définit les états des voyants vert et bleu if (ledStateGreen == LOW) ledStateGreen = HIGH; ledStateBlue = LOW; else ledStateGreen = LOW; // applique les états des voyants aux voyants // réinitialise l'intervalle et passe en "pause" phase digitalWrite (vert, ledStateGreen); digitalWrite (blue, ledStateBlue); intervalle = 1500000; buttonState = 1; phase = 1;  else // si le bouton a été actionné, ajoutez 2 minutes pour interrompre le chronomètre si (appuyé == 1) intervalle = 420000; // si l'intervalle est écoulé, enregistrez le temps // actuel pour mesurer le prochain intervalle si (currentMillis - previousMillis> intervalle) previousMillis = currentMillis; // définit les états des voyants bleu et vert if (ledStateBlue == HIGH) ; ledStateBlue = LOW;  else ledStateBlue = HIGH; ledStateGreen = LOW; // application des états des voyants aux voyants // réinitialisation de l'intervalle et définition de la phase "travail" digitalWrite (vert, ledStateGreen); digitalWrite (blue, ledStateBlue); intervalle = 300000; buttonState = 1; phase = 0;  // calcule le temps restant dans l'intervalle unsigned long timeLeft = (interval - progress); // s'il reste moins de deux minutes, allume le voyant jaune si (timeLeft < 120000)  digitalWrite(yellow, HIGH);  else  digitalWrite(yellow, LOW);  // reset pressed variable pressed = 0; 

Remarque: lorsque vous testez cela, vous ne voulez probablement pas attendre 25 minutes pour voir si cela fonctionne. Dans la vidéo ci-dessous, les intervalles sont définis sur 5 secondes pour le vert, 2 secondes pour le bleu et 1 seconde pour le jaune. Utilisez un intervalle plus court pour vous assurer que tout fonctionne correctement avant de l'utiliser pour garder une trace du temps!

Une fois que tout est câblé et que le code est entré dans l'EDI, vous êtes prêt! Téléchargez le croquis et vous aurez un minuteur pomodoro en état de fonctionnement avec un bouton de délai de 2 minutes. Si le voyant s'allume et que vous avez besoin de plus de temps, appuyez simplement sur le bouton.

Vous remarquerez peut-être que le bouton est câblé directement sur la broche d’entrée Arduino. En utilisant l'une des résistances de rappel intégrées à l'Arduino, vous n'avez pas besoin de faire passer un fil du port 5V au bouton ou d'utiliser une résistance en ligne avec ce dernier. Vous pouvez obtenir plus d'informations sur la référence Arduino pour les broches numériques.

Défis plus avancés

Si vous avez fabriqué votre Pomoduino et que vous souhaitez utiliser quelque chose d'un peu plus avancé, vous pouvez essayer l'une des solutions suivantes:

  • Ajoutez une séquence de LED qui s’allument et servent de compteur du nombre de sessions de travail terminées
  • Faites en sorte que le bouton ajoute deux minutes à la minuterie chaque fois que vous appuyez dessus
  • Ajoutez un haut-parleur et faites du bruit au moment de retourner au travail
  • Utilisez une pile 9V pour le rendre portable
  • Au lieu d’utiliser un voyant, faites clignoter le voyant vert ou bleu pendant quelques minutes avant de passer
  • Afficher un compte à rebours sur un écran LED

Autres grands projets pour débutants

Si vous êtes nouveau sur Arduino, nous vous proposons de nombreux didacticiels amusants. Essayez un contrôleur de feux de signalisation Programmation Arduino pour les débutants: Le contrôleur de feux de signalisation Programmation Arduino pour les débutants: le Contrôleur de feux de circulation La semaine dernière, nous avons découvert la structure de base d'un programme Arduino et avons examiné de plus près l'exemple de «clignotement». J'espère que vous en avez profité pour expérimenter le code, en ajustant les timings. Cette fois,… Lire la suite, un cube LED futuriste Comment faire un cube LED Arduino palpitant qui ressemble à celui-ci vient de l'avenir Comment faire un cube LED Arduino pulsant qui ressemble à celui-ci vient de l'avenir Si vous avez projets Arduino débutants, mais recherchons quelque chose d’un peu permanent et à un tout autre niveau d’impressionnant, puis le modeste cube de 4 x 4 x 4 LED… Read More, une alarme de lever du soleil Arduino Night Light et Sunrise Alarm Project Arduino Night Light et Projet d'alarme Sunrise Aujourd'hui, nous allons fabriquer un réveil sunrise qui vous réveillera doucement et lentement sans recourir à une machine à bruit offensante. En savoir plus ou un système d'alarme Comment créer un système d'alarme Arduino simple Comment créer un système d'alarme Arduino simple Détectez les mouvements, puis effrayez un intrus avec une alarme aiguë et des lumières clignotantes. Cela semble-t-il amusant? Bien sûr que si. C’est l’objectif du projet Arduino d’aujourd’hui, à savoir… Lire la suite. Si vous décidez de relever l'un des défis les plus avancés énumérés ci-dessus, dites-nous comment cela se passe.!

En savoir plus sur: Arduino, Gestion du temps, Logiciel de minuterie.