Skip to content

Actividad

Metrónomo

Principiante | MakeCode, Python | Botones, Pantalla LED, Sonido | Iteración, Tempo

Paso 1: Hazlo

¿Qué es?

Codifica tu propio metrónomo electrónico que produce ritmos regulares que puedes ralentizar y acelerar mientras practicas música.

Introducción

Guía de programación

Qué aprenderás

  • Cómo ajustar el ritmo de las notas musicales reproducidas por el micro:bit
  • Cómo usar botones de entrada y salida de audio para hacer un dispositivo electrónico útil

Cómo funciona

  • Al principio del programa, fija el tempo a 100 bpm - golpes por minuto. Esta es una forma estándar de medir el tempo o la velocidad, de la música.
  • Un bucle forever mantiene el micro:bit tocando una nota corta y luego un silencio durante un tiempo.
  • Puedes escuchar el sonido adjuntando auriculares a pin 0 y GND o al altavoz integrado del nuevo micro:bit.
  • Presiona el botón A para ralentizar el tempo a 5 bpm.
  • Presiona el botón B para acelerarlo en 5 bpm.
  • Presionando el botón A y B juntos muestra el tempo actual en la salida de la pantalla LED.

Qué necesitas

  • Un micro:bit
  • Editor de MakeCode o de Python
  • pilas (opcionales)

Paso 2: Prográmalo

1from microbit import *
2import music
3tempo = 100
4
5while True:
6    music.set_tempo(bpm=tempo)
7    music.play(['C4:1', 'r:3']) # play C for 1 tick, rest for 3 ticks
8    if button_a.was_pressed():
9        tempo -= 5
10    if button_b.was_pressed():
11        tempo += 5  
12    

Paso 3: Mejóralo

  • Puedes notar que reproduce su ritmo ligeramente más lento que un instrumento electrónico con el mismo ajuste BPM, esto se debe a que cada bucle toma un y un sexto de un tiempo, en lugar de un solo tiempo.
  • Puedes intentar hacerlo más preciso sumando fracciones de un tiempo para hacer un tiempo completo: 1/2 + 1/4 + 1/8 + 1/16 hace 15/16 para agregar el 1/16 de un tiempo para el que estás tocando el tono.
  • Los bloques 'forever' también añaden un poco de retraso, por lo que usar un bucle 'while true' dentro del mismo acelerará su código y lo hará más preciso.
  • El vídeo de código en la parte superior de esta página muestra cómo hacer esto.
Cuadrícula que muestra fracciones de tiempo que suman hasta quince semicorcheas