Visualiza el volumen del sonido
Gradiente de colores
En esta actividad vamos a crear una barra de colores para representar el volumen del sonido. La tira de NeoPíxeles se irá iluminando progresivamente del verde al rojo, pasando por el amarillo.
Una forma de hacerlo sería comprobar el número de LED y asignarle un color específico, pero es un método poco eficiente y nada escalable (sirve para 3 LEDs pero no para 20).
El modelo RGB define el color con cantidades de rojo, verde y azul, pero no permite hacer una transición fluida de un color a otro que no sea uno de estos colores fundamentales. Para cambiar gradualmente de un color a otro existe un modelo más adecuado: el modelo de color HSV.
Modelo de color HSV
Para trabajar con este modelo de color es necesario importar la biblioteca Gráficos y pantallas→Color:
- El bloque
color con tono _ (0-360) saturación _ % brillo _ %
permite obtener un color especificando el tono (hue), la saturación (saturation) y el brillo (value).
Si fijamos los valores de saturación y brillo al máximo (100), solo necesitamos variar el tono (H) de 0° a 360° para obtener cualquier color.
Este bloque devuelve un color en formato RGB codificado, para que los bloques de la iblioteca NeoPíxel y otras, como TFT o Tortuga, puedan mostrar los colores resultantes.
![]() |
![]() |
---|
- En este modelo, el color rojo corresponde a 0°, el amarillo a 60° y el azul a 240 grados.
Reto 1: encuentra el rango de valores para pasar de rojo a verde
Solución al reto 1
Rojo
Amarillo
Verde
Mostrar el gradiente de color
Ya sabemos que para generar el efecto deseado deberemos variar el tono entre 0 y 120.
Solo falta usar este bloque en el programa de la unidad anterior, con el potenciómetro conectado, para obtener el gradiente de colores.
Como el rango que queremos es de 0 a 120 y tenemos 10 LEDs, tendremos que usar un factor de 12.
Este bloque deberá ir dentro de un bloque de repetición, por ejemplo un bloque
por siempre
para que funcione de forma continua. Es recomendable poner una pequeña espera para que la placa no realice más operaciones de las necesarias.Pero, ¿el orden de los colores es el correcto?
Reto 2: invierte el orden del gradiente para que empiece en verde y acabe en rojo
Solución al reto 2
Micrófono
Algunas placas llevan micrófono incorporado: micro:bit V2, micro:STEAMakers, M5Stack-Core2, Boardie y otras.
Ahora cambiaremos el potenciómetro por un micrófono, de modo que el volumen del sonido que reciba se verá reflejado en el número de NeoPíxeles iluminados.
Para usar el micrófono deberemos abrir la biblioteca Sensores→Micrófono:
Últimos pasos
Finalmente, solo hace falta usar el bloque
volumen
para captar el nivel del sonido que recibe el micrófono.Podemos ajustar el nivel de sensibilidad de este reduciendo el factor de división de 1023 a un valor menor, por ejemplo a la mitad.
⬅️ Actividad anterior | Actividad siguiente ➡️ |
---|
© by Citilab Edutec 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.