Skip to content

Activitat

Registrador de so

Intermedi | MakeCode, Python | Micròfon, Pantalla LED | Entrada/sortida, Operadors aritmètics, Tractament de dades, Variables

Pas 1: Crea-ho

En què consisteix?

Fes un enregistrador del nivell de so per a monitorar com de sorollós o silenciós es tornen els diferents llocs al teu voltant amb el temps

Introducció

Guia de programació

Què aprendràs

  • Com utilitzar el sensor de micròfon integrat de la nova micro:bit per mesurar el volum d'un so
  • Utilitza variables i operadors per fer un seguiment dels valors màxims en recopilar dades del món real.

Com funciona

  • El nou micròfon de la micro:bit mesura el nivell de so en números entre 0 i 255, com el sensor de llum.
  • Un bucle compara constantment el nivell de so actual amb una variable maxSound (soMaxim) guardant el so més fort. Si el so actual es més fort que el més fort anterior, s'estableix maxSound al nou valor de so més alt.
  • Dins del bucle, un comandament 'si' comprova si has premut el botó A. Si ho has fet, mostra el número de nivell de so en la sortida de la pantalla de leds. Pots utilitzar-lo per controlar el soroll que es fa en diferents llocs al llarg del temps.
  • Restableix el valor màxim prement el botó de restabliment de la part posterior de la micro:bit.

Què necessites

  • La nova micro:bit amb so (o simulador de MakeCode)
  • Editor MakeCode o Python
  • Piles (opcional)

Pas 2: Programa-ho

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            

Pas 3: Millora-ho

  • Modifica el projecte perquè també enregistri el nivell de so més fluix o mínim
  • Utilitza la ràdio per enviar nivells de so a un altre micro:bit perquè puguis controlar els nivells de so de manera remota