Skip to content

Activité

Touch stopwatch

Intermédiaire | MakeCode, Python | Boutons, Logo tactile, Écran LED | Entrée / Sortie, Logique booléenne, Opérateurs arithmétiques, Variables

Étape 1 : Fais-le

Qu'est-ce que c'est ?

Créez un vrai chronomètre en utilisant le capteur de logo tactile du nouveau micro:bit comme un bouton supplémentaire.

Introduction

Guide de codage

Ce que vous apprendrez

  • Comment utiliser le capteur à effleurement tactile du nouveau micro:bit comme un bouton supplémentaire dans un projet concret
  • Comment utiliser les variables et les opérateurs mathématiques pour mesurer le temps
  • Comment utiliser les opérateurs mathématiques pour convertir des unités (millisecondes en secondes)
  • Qu'est qu'une variable booléenne et comment elle peut être utilisée pour contrôler le flux d'un programme

Comment l’utiliser 

  • Flasher le programme sur un nouveau micro:bit avec haut-parleur intégré.
  • Appuyez sur le bouton A pour démarrer le chronomètre. Un cœur animé est affiché sur l'écran LED pendent qu'il mesure le temps.
  • Appuyez sur le bouton B pour l'arrêter. Vous pouvez le démarrer et l'arrêter autant de fois que vous le souhaitez et il continuera à ajouter du temps, tout comme un chronomètre.
  • Appuyez sur le logo tactile doré à l'avant du micro:bit pour afficher le temps mesuré en secondes.
  • Pour réinitialiser le temps à zéro, appuyez sur le bouton de réinitialisation à l'arrière du micro:bit.

Comment ça marche

  • Le micro:bit détecte combien de temps il a été alimenté en millisecondes (des milliers de secondes). C'est ce qu'on appelle le temps d'exécution.
  • Lorsque vous appuyez sur le bouton A, une variable appelée start est positionnée sur le temps d'exécution courant.
  • Lorsque vous appuyez sur le bouton B, le temps start est soustrait du nouveau temps courant pour déterminer combien de temps s'est écoulé depuis que vous avez commencé le chronomètre. Cette différence est ajoutée au temps total, qui est stocké dans une variable appelée time.
  • Si vous appuyez sur le logo tactile, le programme affiche le temps total écoulé sur l'écran LED. il convertit le temps de millisecondes (millièmes de secondes) en secondes en le divisant par 1000. Il utilise l'opérateur de division entière pour donner un résultat en nombres entiers.
  • Le programme utilise également une variable booléenne appelée running pour piloter le programme. Les variables booléennes ne peuvent avoir que deux valeurs : vrai ou faux. Si running est vrai, le chronomètre a été démarré. Si running est faux, le chronomètre n'a pas été démarré ou a été arrêté.
  • Si running est vrai, une boucle garde l'animation du cœur sur l'écran LED.
  • Il ne montrera le temps quand vous appuyez sur le logo que si le chronomètre a été arrêté, si running n'est pas vrai.
  • Le code empêche les fausses lectures en s'assurant que la variable time est modifiée en appuyant sur le bouton B que quand le chronomètre a déjà été démarré, c'est à dire quand running est vraie.

Ce dont vous aurez besoin

  • nouveau micro:bit avec son (ou simulateur MakeCode)
  • MakeCode ou éditeur Python
  • un boîtier de piles (optionnel)

Étape 2 : Codez

Étape 3 : Améliorez

  • Modifiez le programme pour que vous puissiez réinitialiser le temps en secouant le micro:bit.
  • Rendez le minuteur plus précis en utilisant des fractions de nombres au lieu d'entiers (nombres entiers).
  • Add a lap time function so that if if you touch the logo while the stopwatch is running it shows the time at that point. N'oubliez pas de vous assurer que ce n'est pas ajouté à la variabletemps