Skip to content

Activité

Applaudimètre

Intermédiaire | MakeCode, Python | Microphone, Écran LED | Capteurs, Mesure, Opérateurs arithmétiques, Sélection, Variables

Étape 1 : Fais-le

Qu'est-ce que c'est ?

Mesure combien de temps les applaudissements - ou tout autre bruit fort - durent avec ce minuteur qui utilise le microphone du nouveau micro:bit.

Introduction

Guide de codage

Ce que vous apprendrez

  • Comment déclencher des événements lorsque des mesures sonores bruyantes et silencieuses sont effectuées par le microphone
  • Comment utiliser le minuteur intégré au micro:bit
  • Comment fixer le seuil entre un événement bruyant ou silencieux

Comment ça marche

  • Au début du programme, le seuil permettant le déclenchement lors d'un événement sonore fort est défini. Utilisez une valeur plus élevée pour détecter des sons plus forts, une valeur plus petite pour des sons plus faibles. Vous pouvez utiliser n'importe quel nombre allant de 0 à 255.
  • Une variable nommée start est définie à 0. Ceci est utilisé pour garder une trace du début de l'événement sonore.
  • Lorsque le microphone détecte un son fort, la variable start est définie à la valeur actuelle du temps d'exécution du micro:bit, et une icône est affichée sur l'écran LED pour que vous sachiez que le minuteur a démarré.
  • Le temps d'exécution est la mesure de la durée pendant laquelle votre micro:bit a exécuté votre programme en millisecondes (millièmes de secondes).
  • Lorsque le son s'arrête, un événement sonore silencieux est déclenché.
  • Si un son fort avait déjà été détecté et que le minuteur a démarré, la variable start aura une valeur supérieure (>) à 0. Dans ce cas, une variable nommée time est définie à la valeur du temps d'exécution actuel auquel on soustrait le temps correspondant au début. Cela nous indique combien de temps le son fort a duré.
  • Etant donné que le temps est mesuré en millisecondes, le programme le divise par 1000 pour le convertir en secondes et l'affiche sur l'écran LED.

Ce dont vous aurez besoin

  • Un micro:bit
  • MakeCode ou éditeur Python
  • un boîtier de piles (optionnel)

Étape 2 : Programme-le

1from microbit import *
2microphone.set_threshold(SoundEvent.LOUD, 150)
3start = 0
4
5while True:
6    if microphone.was_event(SoundEvent.LOUD):
7        start = running_time()
8        display.show(Image.TARGET)
9
10    if microphone.was_event(SoundEvent.QUIET):
11        if start > 0:
12            time = running_time() - start
13            start = 0
14            display.clear()
15            sleep(100)
16            display.scroll(time / 1000)

Étape 3 : Améliore-le

  • Expérimentez avec différents seuils de détection des événements sonores bruyants et silencieux pour trouver les valeurs qui vous conviennent le mieux.
  • Ajoutez du code provenant du projet Enregistreur de son pour que vous puissiez également mesurer à quel point les applaudissements ont été forts.