Skip to content

Actividad

Aplauso de corazones

Principiante | MakeCode, Python | Micrófono, Pantalla LED | Entrada/salida

Paso 1: Hazlo

¿Qué es?

Haz que el nuevo micrófono del micro:bit responda a los aplausos y golpes con un programa de luz animado.

Introducción

Guía de programación

Qué aprenderás

  • Cómo los ordenadores toman entradas, las procesan usando código y crean salidas diferentes
  • Cómo utilizar el nuevo sensor de micrófono incorporado en micro:bit para activar eventos en tu código
  • Para que el micrófono del micro:bit pueda utilizarse para responder a sonidos silenciosos y fuertes

Cómo funciona

  • Cuando el micrófono detecta un sonido alto, como un aplauso, muestra un corazón grande en la pantalla LED.
  • Si detecta un sonido bajo, por ejemplo después de que tu aplauso haya terminado, muestra un pequeño corazón.
  • El efecto de esto es crear una animación de corazón sencilla que responde a aplausos o golpes fuertes de música

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 *
2
3while True:
4    if microphone.current_event() == SoundEvent.LOUD:
5        display.show(Image.HEART)
6        sleep(200)
7    if microphone.current_event() == SoundEvent.QUIET:
8        display.show(Image.HEART_SMALL)

Paso 3: Mejóralo

  • Crea tu propia animación usando otros iconos o dibujando tus propias imágenes.
  • Haz que el micro:bit responda a un sonido fuerte haciendo un sonido propio.
    ¿Causa esto algún problema? ¿Cómo puedes arreglarlos?
  • Puedes cambiar el nivel de sonido que activa un evento de sonido alto. Este nivel se llama un umbral. En MakeCode, usa el bloque de entrada «establecer umbral de sonido fuerte en...» para elegir diferentes niveles de sonido y hacerlo más o menos sensible a los sonidos fuertes.
  • En Python, para cambiar el umbral de sonidos fuertes usa microphone.set_threshold(SoundEvent.LOUD, 128) - cambiando el número 128 al valor que desees entre 0 y 255.