Skip to content

Activité

Enregistreur de son

Intermédiaire | MakeCode, Python | Microphone, Écran LED | Entrée / Sortie, Gestion des données, Opérateurs arithmétiques, Variables

Étape 1 : Fais-le

Qu'est-ce que c'est ?

Créez un enregistreur de niveau sonore pour surveiller le niveau de bruit ou de silence des différents endroits autour de vous au fil du temps

Introduction

Guide de codage

Ce que vous apprendrez

  • Comment utiliser le nouveau capteur du microphone intégré au micro:bit pour mesurer la force d'un son
  • Utiliser des variables et des opérateurs pour suivre les valeurs maximales relevées lors de la collecte de données réelles

Comment ça marche

  • Le microphone du nouveau micro:bit mesure les niveaux sonores en nombres compris entre 0 et 255, tout comme le capteur de lumière.
  • Une boucle compare constamment le niveau sonore actuel avec le contenu d'une variable maxSound qui stocke le niveau sonore le plus élevé. Si le niveau sonore actuel est supérieur au son le plus fort précédemment enregistré, il réinitialise la variable maxSound avec la nouvelle valeur la plus haute.
  • À l'intérieur de la boucle, une instruction "si" vérifie si vous avez appuyé sur le bouton A. Si c'est le cas, il affiche le niveau sonore sur la sortie de l'écran LED. Vous pouvez l'utiliser pour surveiller le niveau sonore à différents endroits au fil du temps.
  • Pour réinitialiser la valeur maximale, appuyez sur le bouton de réinitialisation à l'arrière du micro:bit.

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 : Programme-le

1from microbit import *
2maxSound = 0
3lights = Image("11111:"
4              "11111:"
5              "11111:"
6              "11111:"
7              "11111")
8# ignore first sound level reading
9soundLevel = microphone.sound_level()
10sleep(200)
11
12while True:
13    if button_a.is_pressed():
14        display.scroll(maxSound)
15    else:
16        soundLevel = microphone.sound_level()
17        display.show(lights * soundLevel)
18        if soundLevel > maxSound:
19            maxSound = soundLevel
20            

Étape 3 : Améliore-le

  • Modifiez le projet pour qu'il enregistre également le niveau sonore le moins élevé
  • Utilisez la communication radio pour envoyer les niveaux sonores à un autre micro:bit afin de pouvoir surveiller les niveaux sonores à distance