Le pomoduino: faire une minuterie pomodoro-alimenté arduino

le technique Pomodoro

est un système de gestion du temps populaire qui consiste à briser le travail en morceaux de 25 minutes avec un repos de 5 minutes. Divers logiciels existent pour aider, mais si vous souhaitez utiliser le système pomodoro pendant que vous travaillez loin de votre ordinateur, ou pendant que vous êtes à votre plan de travail? Faire une minuterie pomodoro Arduino puissance est un projet d`introduction pour vous aider à apprendre votre chemin autour d`un Arduino, et entraînera réellement quelque chose d`utile.Cut Through procrastination Avec ces applications technique Pomodoro & LogicielCut Through procrastination Avec ces applications technique Pomodoro & LogicielLa procrastination est une maladie qui infiltre les étudiants et les travailleurs dans tous les coins du monde et il contamine les amateurs et les professionnels. En tant qu`écrivain, je souffre de la procrastination sur une base quotidienne. Certaines personnes...Lire la suite

Le but

Si vous voulez essayer de comprendre comment le mettre en place avant de regarder l`avenir, voici ce que nous essayons de faire. Nous aurons trois un LDE pour « travail », un pour « pause », et une lumière d`avertissement. La lumière de travail reste allumé pendant 25 minutes, et le témoin sera également pendant les deux dernières minutes de cet intervalle. Après 25 minutes, le travail et les lumières d`avertissement s`éteint, et le voyant de pause se met en marche pendant 5 minutes (le témoin sera à nouveau pendant les deux dernières minutes).

Seront également inclus un bouton qui va retarder le changement des lumières pendant deux minutes pour vous donner un peu de temps de travail supplémentaire ou temps de pause.

De quoi as-tu besoin

Pour ce projet, nous allons utiliser les éléments de suivi - qui tous vous devriez avoir dans votre kit de démarrage.

  • microcontrôleur Arduino (nous avons utilisé un Mega, mais Uno fonctionnera bien aussi)
  • breadboard
  • cable USB
  • 6 fils
  • 3 x 330 ohms résistances
  • 3 x LED (nous avons utilisé vert, jaune et bleu)
  • 1 bouton-poussoir

Etape 1: Tout Up

Mettez chacune des LED dans une autre colonne sur la carte de test (il est plus facile si elles sont espacées un peu), et placez le bouton un peu plus bas. Assurez-vous que le bouton est face à la bonne direction, il y a deux ensembles de deux broches sur un seul côté du bouton, et les broches doivent être dans la même rangée.

pomoduino-Setup1

courir les fils broches 5, 7 et 13 à la colonne qui contient la branche négative de la diode bleue, jaune et vert (la branche négative est la plus courte des deux). Ensuite, mettre une résistance dans la même colonne que chaque branche positive, et les connecter au rail négatif du côté de la planche à pain (le bleu, bien que la couleur ne compte pas vraiment, il est juste convention d`utiliser le bleu pour plus de clarté) .

pomoduino-Setup2

exécuter également un fil à partir du rail bleu sur la carte de test à l`une des branches sur la touche, et un autre fil de l`autre branche (du même côté) à la broche 2 sur le Arduino. Puis la terre le rail bleu dans la broche GND sur l`Arduino.

pomoduino-setup3

Voici un schéma qui peut dissiper toute confusion:

pomoduino

C`est tout! Passons maintenant à la programmation.

Programmation Votre Arduino

Ci-dessous le code de la minuterie Pomoduino - ont une lecture par les commentaires en ligne, car ils expliquent ce que chaque étape du code est en train de faire.

int vert = 13-int jaune = 7-int bleu = 5-int ledStateGreen = FAIBLE-int ledStateBlue = FAIBLE-longues previousMillis = 0-long intervalle-int buttonPin = 2-int ButtonState = 1-bool pressé = 0-à long pressTime = 0-la phase int = 0-vide installer() {pinMode(vert, SORTIE)-pinMode(jaune, SORTIE)-pinMode(bleu, SORTIE)-pinMode(buttonPin, INPUT_PULLUP)-digitalWrite(buttonPin, HAUTE)-}vide boucle() {// mise à jour heure actuelle et de l`état de boutoncurrentMillis unsigned long = Millis()-int ButtonState = digitalRead(buttonPin)-// temps de mesure depuis la dernière touche presseà long progrès = currentMillis - previousMillis-// vérifier si le bouton a été pressé// plus de 2 secondes depuis la dernière presse// (pour éviter que plusieurs presses enregistrement)si ((pressTime - currentMillis) gt; 2000){si(ButtonState == 0){pressé = 1-pressTime = currentMillis-}autre{pressé = 0-}}// phase 0 est "travail" phase// si le bouton a été pressé, ajouter 2 minutes pour travailler minuteriesi (phase == 0){si (pressé == 1){intervalle = 1620000-}// Si l`intervalle est terminé, enregistrement en cours// temps pour mesurer prochain intervalle si(currentMillis - previousMillis gt; intervalle) {previousMillis = currentMillis-// Définir les états LED vert et bleusi (ledStateGreen == FAIBLE){ledStateGreen = HAUTE-ledStateBlue = FAIBLE-}autre {ledStateGreen = FAIBLE-}// appliquer états LED à LED// intervalle de réinitialisation et passer à "Pause" phasedigitalWrite(vert, ledStateGreen)-digitalWrite(bleu, ledStateBlue)-intervalle = 1500000-ButtonState = 1-phase = 1-}}autre {// si le bouton a été pressé, ajouter 2 minutes pour briser la minuteriesi (pressé == 1){intervalle = 420000-}// Si l`intervalle est terminé, enregistrement en cours// temps pour mesurer prochain intervalle si(currentMillis - previousMillis gt; intervalle) {previousMillis = currentMillis-// l`ensemble bleu et vert états LEDsi (ledStateBlue == HAUTE){-ledStateBlue = FAIBLE- }autre {ledStateBlue = HAUTE-ledStateGreen = FAIBLE-}// appliquer états LED à LED// intervalle de réinitialisation et mis à "travail" phasedigitalWrite(vert, ledStateGreen)-digitalWrite(bleu, ledStateBlue)-intervalle = 300000-ButtonState = 1-phase = 0-}}// calculer le temps laissé dans l`intervalletimeleft unsigned long = (intervalle - le progrès)-// s`il y a moins de deux minutes, allume LED jaunesi (temps restant lt; 120000) {digitalWrite(jaune, HAUTE)- }autre {digitalWrite(jaune, FAIBLE)- }// Variable pressée de remise à zéropressé = 0-}

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

Video: [Arduino] Minuteur simpliste (max 99m 59s) à trois boutons

Video: Arduino Pomodoro Timer

Une fois que vous avez tout branché et le code est entré dans l`EDI, vous êtes prêt à partir! Téléchargez le croquis et vous aurez une minuterie Pomodoro travailler avec un bouton de retard de 2 minutes. Si le voyant d`avertissement se poursuit et vous avez besoin de plus de temps, appuyez simplement sur le bouton.

Vous pouvez remarquer que le bouton est câblé directement à la broche d`entrée Arduino. En utilisant l`une des résistances pullup intégrées dans l`Arduino, vous n`avez pas besoin d`exécuter un fil à partir du port 5V au bouton ou utiliser une résistance en ligne avec elle. Vous pouvez obtenir plus d`informations sur la référence Arduino pour les broches numériques.

Plus de défis avancés

Si vous avez fait votre Pomoduino et vous cherchez à prendre quelque chose un peu plus avancé, vous pouvez essayer une des opérations suivantes:

Video: comment fonction une minuterie avec un contacteur

  • Ajouter une séquence de LED qui éclairent et servent de compteur du nombre de séances de travail terminés
  • Faites le bouton ajouter deux minutes à la minuterie pour chaque fois que vous poussez
  • Ajouter un haut-parleur et jouer un bruit quand il est temps de se remettre au travail
  • Utilisez une batterie de 9V pour le rendre portable
  • Au lieu d`utiliser une lumière d`avertissement, le feu vert clignote ou bleu pendant dix minutes avant de
  • Afficher un compte à rebours sur un écran LED

Projets D`autres grands débutants

Si vous êtes nouveau Arduino, nous avons beaucoup de tutoriels amusants pour vous de prendre. Essayez une contrôleur de feux de circulation, une cube LED futuriste, une alarme lever du soleil, ou système d`alarme. Si vous décidez de prendre l`un des défis les plus avancés énumérés ci-dessus, laissez-nous savoir comment ça se passe!Programmation Arduino pour les débutants: Le contrôleur de la circulation LumièreProgrammation Arduino pour les débutants: Le contrôleur de la circulation LumièreLa semaine dernière, nous avons appris au sujet de la structure de base d`un programme Arduino et avons examiné de plus près l`exemple de « clignotement ». Nous espérons que vous avez pris l`occasion d`expérimenter avec le code, le réglage des timings. Cette fois,...Lire la suite

Articles connexes