Skip to content

Actividad

Luces de discoteca

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

Paso 1: Hazlo

¿Qué es?

¡Crea tu propio espectáculo de luces de discoteca con el nuevo micro:bit! Las luces LED parpadean al ritmo de la música recogida por el micrófono integrado. Cuanto más fuertes sean los sonidos, más brillantes brillan.

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
  • Cómo variar el brillo de la salida de la pantalla LED en respuesta a las lecturas de entrada del sensor

Cómo funciona

  • El micrófono mide el volumen de los sonidos que capta como números del 0 al 255. 0 es el sonido más silencioso, 255 es el más fuerte.
  • Todos los LED de la pantalla se encienden cuando el programa se inicia.
  • El brillo de los LED también se puede ajustar usando números de 0-255. 0 es el más oscuro (apagado) y 255 es el más brillante.
  • Un bucle ajusta constantemente el brillo de los LED para que coincida con la cantidad de sonido recogida por el sensor de micrófono.
  • Cuanto más fuerte sea el sonido, más brillante será el brillo de los LED.
  • Graba este programa en un nuevo micro:bit con sonido, reproduce música a un ritmo fuerte y observa cómo las luces parpadean al compás de la música.

Lo que 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
3lights = Image("11111:"
4              "11111:"
5              "11111:"
6              "11111:"
7              "11111")
8
9while True:
10    display.show(lights * microphone.sound_level())

Paso 3: Mejóralo

  • Modifica el programa para usar tus propias imágenes o patrones
  • Si estás en una clase o grupo, graba el programa a múltiples micro:bits, atenúa las luces, reproduce algo de música ¡y disfruta de un espectáculo de luces!
  • ¿Puedes hacer que las luces sean más oscuras con sonidos más fuertes?