Paso 1: Hazlo
¿Qué es?
Haz un registrador de nivel de sonido para monitorizar cómo de ruidosos o silenciosos se vuelven los diferentes lugares a tu alrededor con el tiempo
Introducción
Guía de programación
Qué aprenderás
- Cómo utilizar el nuevo sensor de micrófono integrado de micro:bit para medir cómo de fuerte es un sonido
- Usa variables y operadores para hacer un seguimiento de los valores máximos al recopilar datos del mundo real
Cómo funciona
- El nuevo micrófono micro:bit mide los niveles de sonido entre 0 y 255, al igual que el sensor de luz.
- Un bucle compara constantemente el nivel de sonido actual con una variable maxSound almacenando el sonido más alto. Si el sonido actual es más alto que el más alto anterior, se restablece maxSound al nuevo valor de sonido más alto.
- Dentro del bucle, un comando if comprueba si has pulsado el botón A. Si lo haces, muestra el número de nivel de sonido en la salida de la pantalla LED. Puedes usar esto para monitorizar cómo de ruidosos se vuelven los diferentes lugares a lo largo del tiempo.
- Restablece el valor máximo pulsando el botón de reiniciar en la parte trasera del micro:bit.
Qué necesitas
- nuevo micro:bit con sonido (o simulador MakeCode)
- Editor de MakeCode o de Python
- pilas (opcionales)
Paso 2: Prográmalo
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
Paso 3: Mejóralo
- Modifica el proyecto para que también registre el nivel de sonido más silencioso, o mínimo
- Usa la radio para enviar niveles de sonido a otro micro:bit para que puedas monitorizar los niveles de sonido de forma remota
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.