Tabla de contenido:

Luces de hadas musicales: 6 pasos (con imágenes)
Luces de hadas musicales: 6 pasos (con imágenes)

Video: Luces de hadas musicales: 6 pasos (con imágenes)

Video: Luces de hadas musicales: 6 pasos (con imágenes)
Video: LED Light Ballerinas 2024, Noviembre
Anonim
Image
Image

Por IanCumming Siga más por el autor:

Intervalómetro Arduino
Intervalómetro Arduino
No es solo un temporizador de una hora
No es solo un temporizador de una hora
No es solo un temporizador de una hora
No es solo un temporizador de una hora
Termómetro de un píxel
Termómetro de un píxel
Termómetro de un píxel
Termómetro de un píxel

Acerca de: Me gusta hacer cosas, desde cohetes hasta electrónica. Más sobre IanCumming »

Bienvenidos todos

Es casi la temporada festiva y muchas tiendas han comenzado a colocar sus decoraciones festivas, ¡pensé que era el momento adecuado para construir algunas luces de hadas musicales!

Paso 1: Piezas utilizadas

Piezas utilizadas
Piezas utilizadas

Usaré lo siguiente:

  • 12 LED
  • 12 resistencias limitadoras de corriente
  • 1 matriz de transistores Darlington ULN 2803
  • Algunos cables de puente
  • Un altavoz piezoeléctrico
  • Una placa de pruebas y
  • un Arduino
  • Para hacer la cadena de luces de colores utilicé 5 cables de un cable Ethernet

Paso 2: el código

// VARS GLOBALES int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 LED de base, puede agregar muchos leds de bytes en paralelo = {3, 4, 5, 6}; byte altavoz = 11; byte patternLength = 64; // patrón Longitud byte songLength = 51; const byte song = {// Jingle Bells Data 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // La estructura es el número de nota y luego // NoteLength en el patrón de bytes constantes del octavo = {// Patrón de datos 0b0001, 0b0010, 0b0100, 0b1000, // Bits corrispond a Leds en Array 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110, 0b01, 0b10, 0100 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b00b11, 0b0011, 0b00b11, 0b0011, 0b00b11, 0b0011, 0b00b11, 0b0011, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

En primer lugar, declaro mis variables, siendo las interesantes Song y Pattern.

  • La canción almacena la melodía; en este caso son Jingle bells.
  • El patrón almacena posiciones de encendido y apagado en los bits de los valores de la matriz.

Funciones personalizadas

// FUNCIONES int noteToHz (int note) {// Convertir una nota Nr. a Frecuencia float freq = 440 * (pow (1.059463094359, nota-21)); // -21 le da la nota 1 en C3 (Creo) return int (freq); // Los resultados tienen una precisión de 1hz} void lightLEDs (byte PORT_X) {// Control del estado de los LED para (int q = 0; q

Las dos funciones que tengo harán lo siguiente:

  • Calcule la frecuencia de la función de tono en el bucle.
  • encender o apagar los LED's dependiendo del valor pasado a la función

Función de configuración

void setup () {// configurar pines de SALIDA pinMode (altavoz, SALIDA); para (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], SALIDA); }}

En la función de configuración, configuro los pines necesarios en SALIDA.

Función de bucle

void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notas, Duración y reproducción de la melodía int note = noteToHz (song [t * 2]); int length = ((canción [(t * 2) +1] * barTime) / 8); tono (altavoz, nota, longitud - 50); // ¡Luces parpadeantes! lightLEDs (patrón [t% patternLength]); retraso (duración); } // Bucle de silencio int randomSilence = random (1000, 5000); para (int t = 0; t

Tengo 2 bucles en la función Main Loop. Un bucle de canción y un bucle de silencio

El bucle de la canción leerá los datos de la matriz de canciones, reproducirá la nota usando la función de tono

El bucle de la canción

  • Leer los datos de la matriz de canciones,
  • Toque la nota usando la función de tono y luego
  • Encienda la matriz de patrones de lectura de los LED.

En el bucle del silencio

solo los LED están encendidos

Conecte el Arduino y cargue el código. (Luego desenchúfelo)

Paso 3: iniciar el circuito

Iniciando el circuito
Iniciando el circuito
Iniciando el circuito
Iniciando el circuito
Iniciando el circuito
Iniciando el circuito
Iniciando el circuito
Iniciando el circuito

Voy a empezar con la cadena de luces

  • Utilicé un cable de un cable Ethernet y soldé 3 LED en paralelo cuatro veces, asegurándome de espaciar los LED de manera uniforme en aproximadamente 2 metros
  • Soldé el ánodo de cada cable a un solo cable.
  • Luego, el cátodo de cada LED a 4 cables separados. Con una resistencia por supuesto
  • Repetí este proceso 3 veces para obtener una cadena de 12 LED y puse pines de encabezado en el extremo de los 5 cables

Conecte los rieles positivo y de tierra a la placa de pruebas

Paso 4: el ULN2803

El ULN2803
El ULN2803
El ULN2803
El ULN2803
El ULN2803
El ULN2803

Coloque el chip ULN2308 en la placa de pruebas

El ULN2308 es un chip de matriz de transistores; de la hoja de datos puedo ver

  • Ese pin 1 es una entrada que activa el pin 18
  • El pin 2 enciende el 17. Etc.
  • El pin 9 está a tierra
  • Conecte el pin 9 del chip al riel de tierra
  • Conecte el riel positivo a una regleta de terminales, una franja por encima del pin 18. (Verá por qué en un minuto)
  • Conecte el pin 1 del chip al pin 3 del Arduino
  • 2 va a 4
  • 3 del chip pasa a 5 y
  • 4 va al pin 6 del Arduino
  • Coloque la cadena de LED en la placa de pruebas. Donde el cable de ánodo común está conectado a la tira conectada a 5 voltios. El resto de los pines de luz de hadas deben ir a los pines 18, 17, 16 y 15 del chip.

Paso 5: agregar sonido

Adición de sonido
Adición de sonido
  • Conecte el altavoz piezoeléctrico entre 2 regletas de terminales
  • Conecte el polo negativo del elemento piezoeléctrico a tierra y
  • El otro extremo del altavoz al pin 11

Paso 6: Conclusión

Conclusión
Conclusión
Conclusión
Conclusión

Tengo una cadena de luces que reproducirán cascabeles al azar para recordarme que es la temporada festiva.

Recomendado: