Contre la Montre

Introduction

Tu vas apprendre comment construire un chronomètre, pour que tu puisses l’utiliser pour défier tes amis !

Instructions: Si tu lis ceci en ligne, appuye sur A+B sur la micro:bit ci-dessous pour remettre ton chronomètre à 0, A pour déclencher ton chronomètre, et B pour l’arrêter.

Introduction:

Dans ce projet, les enfants vont apprendre à réaliser un chronomètre, qui pourra être utilisé pour défier leurs amis !

Matériaux

Pour ce projet, l’éditeur PXT micro:bit sera utilisé.

Vous pouvez trouver une version déjà réalisée de ce projet sur pxt.microbit.org/#pub:55342-38825-28229-57221, et le fichier compilé .hex peut être téléchargé en cliquant sur le lien ‘Télécharger les Ressources du projet’ pour ce projet, qui contient :

  • microbit-Against-the-Clock.hex
  • microbit-Countdown.hex

Objectifs d’apprentissage

  • Répetition (boucle while);
  • Opérateur Booléen not.

Ce projet couvre les éléments suivants du programme Raspberry Pi Digital Making Curriculum :

Défis

  • “Défie tes amis !” - utilise le chronomètre pour lancer des défis aux autres.
  • “Compte à rebours” - utilise une boucle while pour créer un chronomètre qui compte à rebours jusqu’à atteindre 0.

Configurer ton chronomètre

Remettons ton chronomètre à 0 quand les boutons A et B sont pressés simultannément.

  • Va sur jumpto.cc/pxt-new pour démarrer un nouveau projet dans l’éditeur PXT. Appelle ton projet ‘Chrono’.
  • Efface les blocs au démarrage et toujours, tu n’en auras pas besoin.
  • Ajoute un bloc lorsque le bouton est pressé et sélectionne A+B :.
  • Clique sur ‘Variables’ puis ‘Créer une variable’, et crée une nouvelle variable appellée temps.

  • Quand les boutons A et B sont pressés ensemble, tu veux que temps ait la valeur 0. Pour cela, place un bloc définir dans ton bloc lorsque le bouton A+B est pressé :

    La valeur par défaut vaut zéro et c’est ce dont tu as besoin.

  • Tu devrais aussi afficher le temps. Pour cela, place un bloc montrer nombre et met ta variable temps dedans :

  • Clique sur ‘lancer’ pour tester ton code. Appuye sur le bouton ‘A+B’ (sous la micro:bit) pour mettre ton chronomètre à 0.


Démarrer et arrêter ton chronomètre

Utilisons le bouton A pour démarrer ton chronomètre, et le bouton B pour l’arrêter.

  • Ton chronomètre doit démarrer quand le bouton A est appuyé. Ajoute un nouveau bloc lorsque le bouton A est pressé à ton script :

  • Le chronomètre doit compter tant que le bouton B n’a pas été pressé. Pour cela, place tout d’abord un bloc lorsque dans ton nouveau bloc lorsque le bouton A est pressé.

  • Place un bloc pas, de ‘Logique’ dans ton bloc lorsque :

  • Tu peux alors placer un bloc bouton B pressé après le bloc pas.

    N’importe quel code à l’intérieur de cette boucle lorsque sera exécuté indéfiniment, tant que le bouton B n’est pas pressé.

  • Ensuite, tu vas devoir ajouter 1 à ta variable temps à chaque seconde (1 seconde = 1000 ms). Ajoute un bloc pause pour forcer ton chronomètre à attendre 1 seconde.

  • Pour augmenter ton variable temps,

  • Enfin, tu auras besoin d’afficher la variable temps mise à jour. Voici ce à quoi ton code devrait ressembler :

  • Clique sur ‘lancer’ pour tester ton code.
  • Appuie sur les boutons A et B simultannément pour remettre ton chronomètre à 0
  • Appuie sur le bouton A pour démarrer ton chronomètre
  • Appuie (et garde appuyé) le bouton B pour arrêter ton chronomètre

Défie tes amis !

Utilise le chronomètre pour défier tes amis. Par exemple, tu pourras voir le temps nécessaire pour qu’ils récitent l’alphabet à l’envers, ou pour qu’ils donnent le nom de 10 capitales.


Défi : Compte à Rebours

Peux tu créer un nouveau chronomètre, qui compte à rebours jusqu’à 0 ? Voilà comment ton nouveau chronomètre devrait fonctionner :

  • Appuyer sur A et B simultanément doit donner la valeur 10 à ton temps

  • Appuyer sur le bouton B doit ajouter 1 à ton chronomètre

  • Appuyer sur le bouton A doit enlever 1 de ta variable temps jusqu’à atteindre 0. Cela signifie que tu auras besoin d’une boucle lorsque qui tourne aussi longtemps que temps est plus grand que (>) 0.

Chronomètre de précision

As tu remarqué que ton chronomètre n’est pas très précis ? Cela est du au temps nécessaire pour afficher et faire défiler des nombres sur la micro:bit.

Essaye d’ajuster la pause pour améliorer le chronométrage. Tu peux utiliser un bloc si/alors pour avoir une pause plus courte pour les nombres plus grands qui prennent plus de temps à faire défiler.

Produit ajouté avec succès à la comparaison des produits