Le Pomoduino fabrique un minuteur Pomodoro alimenté par Arduino

  • Brian Curtis
  • 0
  • 3770
  • 26
Publicité

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… est un système de gestion du temps populaire qui consiste à diviser le travail en parties de 25 minutes avec un temps de 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 Vous êtes intéressé par des projets Arduino mais vous ne savez pas par où commencer? Ces projets pour débutants vous apprendront comment vous lancer. pour vous aider à apprendre votre chemin autour d'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 normal d'utiliser le bleu par souci 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.

Programmer 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 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 phase "pause" 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 "de 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 la LED 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 à partir! 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 avons beaucoup de tutoriels amusants à vous proposer. Essayez un contrôleur de feux de signalisation Programmation Arduino pour les débutants: Tutoriel sur le projet de contrôleur de feux de signalisation Programmation Arduino pour les débutants: Didacticiel sur le projet de contrôleur de feux de signalisation La construction d'un contrôleur de feux de signalisation Arduino vous aide à développer des compétences de base en codage! Nous vous commençons. , un cube LED futuriste Comment créer un cube LED Arduino palpitant qui ressemble à celui-ci est venu de l'avenir Comment faire un cube LED Arduino palpitant qui ressemble à celui-ci est venu de l'avenir Si vous avez touché à quelques projets Arduino débutants, mais Vous recherchez quelque chose d'un peu permanent et d'un tout autre niveau impressionnant, puis le modeste cube de 4 x 4 x 4 LED est…, une alarme de lever de soleil Projet de veilleuse et réveil Sunrise Alarm Projet de veilleuse et réveil Sunrise Arduino Aujourd'hui, nous allons faire un réveil sunrise, qui vous réveillera doucement et lentement sans avoir recours à une machine à bruit offensant. 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, approprié…. 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.!




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.