Si llegaste aquí desde nuestro video de las luces que se encienden con un aplauso o con la música, esta es la guía completa para armarlo tú mismo (o que lo arme tu hijo). Cuando comentaste «LED» prometimos pasarte la información: aquí está, paso a paso, con materiales, conexiones y código listo.

El proyecto en acción: las luces reaccionan al sonido. Abajo te explicamos cómo armarlo.

¿Qué hace este proyecto?

Un sensor de sonido «escucha» el ruido del ambiente (tu voz, un aplauso, la música) y le dice al Arduino qué tan fuerte está sonando. El Arduino traduce ese nivel en luz: mientras más fuerte el sonido, más LEDs se encienden y cambian de color. En palabras simples: el sonido entra como número y la luz sale como espectáculo. Ese salto del mundo real a una acción es justo de lo que se trata la robótica.

  • Leer un sensor analógico (valores de 0 a 1023).
  • Controlar una tira LED direccionable (cada LED por separado).
  • Mapear un rango a otro con map(): sonido a cantidad de luces.
  • Entender tierra común y alimentación: por qué un circuito «no prende».

Materiales que necesitas

  • Arduino UNO (o compatible): el cerebro que lee el sonido y manda la luz.
  • Sensor de sonido KY-038 (o KY-037): «oye» el ruido del ambiente.
  • Tira LED WS2812B / NeoPixel (5V, unos 30 LEDs): las luces que reaccionan.
  • Resistencia de 330 Ω: protege la línea de datos de la tira.
  • Cables dupont y protoboard: para conectar sin soldar.
  • Cable USB o fuente de 5V. Opcional: capacitor de 1000 µF para tiras largas.

Nota técnica: esta guía usa una tira direccionable WS2812 de 5V (la más común para este efecto y la más segura para empezar). Si tu tira es analógica de 12V, el circuito cambia y necesitas un MOSFET; lo explicamos al final.

Conexiones (cómo se arma)

Diagrama de conexión: sensor KY-038, Arduino y tira LED WS2812
Diagrama de conexión del circuito: KY-038 + Arduino + tira WS2812.

Guíate con el diagrama de arriba. Las conexiones clave son estas:

  • Arduino 5V → VCC del KY-038 y 5V de la tira (cable rojo, +).
  • Arduino GND → GND del KY-038 y GND de la tira (cable negro, −): todos juntos.
  • Arduino A0 → salida A0 del KY-038 (la señal analógica de cuánto suena).
  • Arduino D6 → resistencia de 330 Ω → entrada de datos DIN de la tira.

La regla de oro: todas las tierras (GND) van conectadas entre sí. El error número uno de los principiantes es olvidar la tierra común y que «nada prende». Fíjate también en la flecha de la tira: los datos entran por el lado DIN, no por DO.

El código de Arduino (explicado)

Usa la librería Adafruit NeoPixel: instálala desde el Gestor de Librerías del Arduino IDE buscando «Adafruit NeoPixel». Luego carga este programa:

#include <Adafruit_NeoPixel.h>

#define PIN_LED     6        // Datos de la tira WS2812 (DIN)
#define NUM_LEDS    30       // Cuantos LEDs tiene tu tira
#define PIN_SONIDO  A0       // Salida analogica del KY-038

Adafruit_NeoPixel tira(NUM_LEDS, PIN_LED, NEO_GRB + NEO_KHZ800);

int nivelReposo = 0;         // Ruido de fondo (silencio) medido al iniciar

void setup() {
  tira.begin();
  tira.setBrightness(120);   // 0-255: sube o baja el brillo
  tira.show();               // Apaga todo al arrancar

  // Calibracion: mide el "silencio" durante ~1 segundo
  long suma = 0;
  for (int i = 0; i < 100; i++) { suma += analogRead(PIN_SONIDO); delay(10); }
  nivelReposo = suma / 100;
}

void loop() {
  int lectura = analogRead(PIN_SONIDO);           // sonido: 0..1023
  int sonido  = abs(lectura - nivelReposo);       // cuanto se separa del silencio
  int leds    = map(sonido, 0, 200, 0, NUM_LEDS); // traduce sonido -> n de LEDs
  leds = constrain(leds, 0, NUM_LEDS);

  for (int i = 0; i < NUM_LEDS; i++) {
    if (i < leds) {
      // Barra de volumen: verde (abajo) -> rojo (arriba)
      tira.setPixelColor(i, tira.Color(map(i, 0, NUM_LEDS, 0, 255),
                                       map(i, 0, NUM_LEDS, 255, 0), 0));
    } else {
      tira.setPixelColor(i, 0);                    // apagado
    }
  }
  tira.show();
  delay(15);
}
  • analogRead(A0) te da un número del 0 al 1023 según el sonido.
  • map(sonido, 0, 200, 0, NUM_LEDS) convierte ese sonido en cuántos LEDs encender. El 200 es el «techo»: bájalo si quieres que reaccione con poco ruido, súbelo si se satura.
  • La calibración del inicio mide tu silencio real, así funciona igual en una casa tranquila o en una fiesta.

Errores comunes y cómo arreglarlos

  • No prende nada: casi siempre falta la tierra común o la tira está al revés. Une todos los GND y conecta los datos al lado DIN.
  • Todos los LEDs quedan fijos: sensibilidad muy alta. Gira el potenciómetro del KY-038 o sube el 200 del código.
  • Solo prende 1 LED: NUM_LEDS mal puesto. Ajústalo al largo real de tu tira.
  • Colores raros o parpadeo: falta la resistencia de 330 Ω o la tira es larga sin fuente propia.
  • Se reinicia al subir el volumen: el USB no da suficiente corriente. Usa fuente 5V externa con GND común.

Seguridad

  • Este proyecto trabaja a 5V: es seguro para practicar y no se conecta al enchufe directamente.
  • No alimentes una tira larga solo desde el USB del Arduino: usa fuente externa de 5V.
  • Si pasas a 12V (tira analógica), hay más corriente: hazlo con supervisión y el MOSFET correcto.

En el curso Fundamentos de lógica y robótica de AJTecnology armamos proyectos como este con guía paso a paso y evaluaciones.

Ver curso de fundamentos

¿Y si mi tira es de 12V?

Las tiras analógicas (un solo color o RGB de 4 pines, 12V) no se controlan con datos, sino con un MOSFET que actúa como interruptor rápido. Conectas Arduino D6 (PWM) → resistencia 220 Ω → gate del MOSFET (por ejemplo IRLZ44N, lógico); el source a GND (común con el Arduino y con la fuente 12V); el drain al terminal (−) de la tira; y el (+) de la tira a los +12V de la fuente externa. En el código usas analogWrite(6, brillo) en vez de la librería NeoPixel. Comenta «LED 12V» si quieres este circuito con su propio diagrama.

Esto es solo el comienzo

En AJTecnology los estudiantes no memorizan teoría: arman proyectos reales como este, los hacen fallar, los corrigen y los hacen funcionar. Así se aprende electrónica, programación y pensamiento lógico de verdad.

Rutas y artículos relacionados

Empieza por fundamentos si nunca has cableado; revisa sensores y soldadura para cerrar el circuito mental completo.

¿Quieres que tu hijo lo aprenda con nosotros o ayuda para conseguir los materiales? Escríbenos con la edad del estudiante y tu ciudad.

WhatsApp · clase demostrativa

Ideas clave

  • El flujo es siempre el mismo: el sonido entra como número y la luz sale como acción.
  • Tierra común (GND) es el error #1: une todos los GND del circuito.
  • Una tira WS2812 de 5V es la más segura para empezar; la de 12V necesita MOSFET.
  • Calibra el umbral del sonido (el 200 del código) para que reaccione a tu música.

Preguntas frecuentes

¿Necesito saber programar para armarlo?

No. El código está listo para copiar y lo explicamos línea por línea; solo ajustas el número de LEDs y la sensibilidad.

¿Sirve para niños?

Sí. Es uno de los primeros proyectos del club porque engancha y se entiende rápido; con guía, un estudiante desde unos 10 años lo arma.

¿Qué tira LED debo usar?

Una WS2812B (NeoPixel) de 5V es la más sencilla. Si tienes una analógica de 12V, necesitas un MOSFET; lo explicamos al final del artículo.

¿Dónde consigo los materiales?

Escríbenos por WhatsApp con tu ciudad y te orientamos dónde conseguirlos. No publicamos precios fijos porque varían por zona.