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.
Nous suivre