Tabla de contenido:

Espejo Arduino Infinity (Bluetooth y sonido reactivo): 9 pasos (con imágenes)
Espejo Arduino Infinity (Bluetooth y sonido reactivo): 9 pasos (con imágenes)

Video: Espejo Arduino Infinity (Bluetooth y sonido reactivo): 9 pasos (con imágenes)

Video: Espejo Arduino Infinity (Bluetooth y sonido reactivo): 9 pasos (con imágenes)
Video: ESTE ANALIZADOR DE MÚSICA NO SE VENDE EN NINGUNA TIENDA 2024, Mes de julio
Anonim
Image
Image
Espejo Arduino Infinity (Bluetooth y sonido reactivo)
Espejo Arduino Infinity (Bluetooth y sonido reactivo)
Espejo Arduino Infinity (Bluetooth y sonido reactivo)
Espejo Arduino Infinity (Bluetooth y sonido reactivo)

Creé un Infinity Mirror para un proyecto escolar con Arduino que puedes controlar con tu teléfono o tableta usando Bluetooth. El espejo también tiene un micrófono incorporado que detecta sonido / música y reacciona en consecuencia generando llamativas luces estroboscópicas al ritmo de la música. ¡Simplemente inicie la aplicación, conéctese a bluetooth y vea cómo sucede la magia!

En este Instructables te mostraré cómo puedes hacer este Infinity Mirror. ¡Entonces empecemos!

Paso 1: Reúna los materiales

Reunir materiales
Reunir materiales

Para hacer este espejo infinito, necesitará los siguientes materiales:

1) Arduino Uno ($ 30)

También puede usar un tipo diferente de Arduino, pero eso depende completamente de usted.

2) Mini tablero o PCB ($ 5)

Usé la placa de pruebas para la creación de prototipos y luego soldé todo a una placa perfilada / stripboard.

3) Tira de LED RGB digital 5050 WS2813 - 144 LED (1 metro) ($ 25)

También puede utilizar una tira de LED diferente, pero asegúrese de que todos los LED sean direccionables individualmente. También asegúrese de que la tira de LED dé un voltaje "extra" de 5V por cada metro de LED. Esto se debe a que el voltaje cae sobre la tira y la corriente al inicio puede aumentar considerablemente. (¡y tal vez queme el inicio de su tira de LED!) Puede leer más sobre esto aquí: Powering Neopixels.

4) Prototipos de cables ($ 3)

Los colores no importan en general, pero es muy útil tenerlos como referencia para ti. Usé blanco, negro, rojo, verde, amarillo, naranja y azul.

5) Cable USB A a B ($ 4)

Esto se utilizará para cargar su código Arduino en la placa Arduino Uno.

6) Fuente de alimentación conmutada Mean Well - 5V 10A ($ 15)

Esto se usará para soportar la tira de LED con voltaje externo de 5V, porque el Arduino en sí no es lo suficientemente potente como para encender todos los LED. También puede optar por utilizar una fuente de alimentación con adaptador de pared, pero asegúrese de que funcione con 5V.

7) Cable de alimentación de 230 V con enchufe ($ 3)

Se utilizará para conectar la fuente de alimentación conmutada a la toma de corriente de 230V. Dependiendo de dónde viva, la cantidad de voltaje de la toma de corriente puede variar. En cualquier caso, necesitará un cable con enchufe adecuado.

8) Transceptor de RF del módulo Bluetooth HC-06 Esclavo de 4 pines ($ 8)

Este módulo se utilizará para enviar datos desde su teléfono o tableta al Arduino. Este módulo bluetooth solo puede servir como esclavo. El pin / contraseña estándar de bluetooth es 1234.

9) Módulo de sensor de detección de sonido de 3 pines ($ 3)

Este módulo se utilizará para detectar sonido ya que tiene un micrófono incorporado. Configure el potenciómetro para la cantidad deseada de sonido a la que se genera una señal. También puede usar un sensor de sonido diferente, pero eso depende de usted.

10) Resistencia de 220 Ω ($ 0.25)

Esto se utilizará para controlar los voltajes de los LED. Si no usa esto, los LED eventualmente se calentarán mucho. Una resistencia de 220 Ω tiene rayas rojas, rojas y marrones en ese orden. La última franja representa la tolerancia. Oro significa ± 5%. Más información aquí: Resistencia 220 Ohm.

11) Condensador electrolítico 1000uF 16V ($ 0.25)

Esto se utilizará para agregar y almacenar capacitancia (energía) a su circuito. Más información aquí: Condensadores electrolíticos.

Caja y espejo:

Estos son los materiales y las dimensiones que utilicé para crear mi caja. También puede optar por comprar un marco o una caja prefabricada que sea lo suficientemente grande como para colocar un espejo reflectante unidireccional, un espejo normal, LED y dispositivos electrónicos. Solo recomiendo construirlo usted mismo si tiene las herramientas y los materiales correctos.

12) Vidrio de 25 x 25 cm (3 mm de espesor) ($ 5)

El vidrio se utilizará como espejo reflectante unidireccional, para el que necesitará la película de espejo unidireccional para ventanas (ver 13). También puede optar por comprar un espejo unidireccional / espejo semitransparente en su lugar que sea lo suficientemente grande como para caber dentro de su caja. Puede cortar vidrio usted mismo con un cortador de vidrio (ver 22), pero recomiendo consultar a especialistas para que lo hagan por usted o, mejor aún, comprar vidrio con las dimensiones adecuadas.

13) Película de espejo unidireccional tintada 30 x 30 cm ($ 5)

Para reproducir un espejo unidireccional, necesitará vidrio y un rollo de película para ventanas de espejo unidireccional tintada, que se aplicará sobre el cristal con agua y jabón (ver 29). La razón por la que es un poco más grande que el vidrio es porque se encogerá con el tiempo. Si elige comprar un espejo unidireccional como se mencionó anteriormente, entonces no lo necesitará.

14) Espejo de 25 x 25 cm (3 mm de grosor) ($ 5)

Solo un espejo normal, como el que tienes en el baño. Esto se utilizará, junto con el espejo unidireccional, para crear el efecto "infinito".

15) 2x listones de madera gruesa de 25 x 10 x 2 cm ($ 2)

Dos listones de madera para la parte superior e inferior de la caja.

16) 2x listón de madera grueso 27 x 10 x 2 cm ($ 2)

Dos listones de madera para el lado derecho e izquierdo de la caja.

17) 2x listones de madera delgada de 25 x 2,5 x 0,5 cm (1 dólar)

Dos listones de madera para la parte superior e inferior del interior de la caja (sobre los que se apoyarán los espejos y sobre los que se pegarán los LED).

18) 2x listones de madera delgados 24 x 2,5 x 0,5 cm (1 dólar)

Dos listones de madera para el lado derecho e izquierdo del interior de la caja (sobre los que se apoyarán los espejos y donde se pegarán los LED).

19) Lata / aerosol de pintura negra

Usé esto para pintar mi caja de negro para que se mezclara más con el tema oscuro.

Instrumentos:

Estas son las herramientas que necesitará para crear la caja y el espejo:

20) Cinta métrica ($ 3)

Usado para medir su caja, por supuesto. Más información aquí: Cómo leer una cinta métrica.

21) Cuadrado de medición ($ 5)

También se utiliza para medir su caja / materiales. No es realmente necesario, pero puede resultar muy útil.

22) Cortador / pelacables ($ 5)

Se utiliza para pelar y cortar cables. Como alternativa, también puede utilizar un cuchillo de cocina o un cuchillo stanley. Más información aquí: Cómo pelar cables.

23) Cortador de vidrio ($ 5)

Se utiliza para cortar cristales y espejos. Como alternativa puedes usar un diamante, pero no lo recomiendo. Más información aquí: Cómo cortar vidrieras.

24) Destornillador / taladro ($ 2)

Se utiliza para atornillar y perforar agujeros. Más información aquí: Cómo conducir un Woodscrew.

25) Martillo ($ 5)

Se utiliza para clavar clavos. Más información aquí: Cómo usar un martillo con seguridad.

26) Pegamento para madera ($ 5)

Si los tornillos o clavos no son lo suficientemente buenos, también puede aplicar un poco de pegamento para madera para mantener las piezas juntas. Más información aquí: Cómo pegar madera.

27) Sierra ($ 5)

Se utiliza para aserrar madera. Más información aquí: Cómo aserrar madera con una sierra de mano.

28) Uñas ($ 3)

Se utiliza para mantener juntas las piezas, en nuestro caso de forma permanente.

29) Tornillos ($ 3)

También se usa para mantener las piezas juntas, pero al usar tornillos en lugar de clavos, puede desconectar fácilmente las piezas si es necesario.

30) Agua y jabón

Se utiliza para aplicar la película de espejo unidireccional tintada sobre el vidrio. Y también se utiliza para limpiar el espejo infinito. Si desea saber cómo instalar la película para ventanas, puede seguir este tutorial: Cómo instalar la película para ventanas.

31) Papel de lija ($ 1)

Se utiliza para refinar los bordes afilados del vidrio y la madera.

Herramientas de soldadura (opcional):

32) Soldador ($ 15)

Opcional si elige soldar todo junto en lugar de dejarlo en la placa de pruebas. Si quieres saber cómo soldar, puedes seguir este tutorial: Cómo soldar componentes electrónicos.

33) Estaño de soldadura 0,6 mm - 100 g ($ 5,50)

Se utiliza para soldar los cables juntos.

34) Alambre para desoldar - 1 mm 1,5 m ($ 1,50)

Se utiliza para desoldar los cables, en caso de que cometiera un error por accidente.

35) Tubos termorretráctiles ($ 2)

Se utiliza para mantener juntos los cables soldados de forma segura.

36) 1 conector hembra de 3 pines ($ 0.10)

No es realmente necesario, pero podría ser útil si no desea soldar directamente el sensor de detección de sonido a los cables.

37) 1 conector hembra de 4 pines ($ 0.10)

No es realmente necesario, pero podría ser útil si no desea soldar directamente el módulo bluetooth a los cables.

Paso 2: Conexiones de la placa de pruebas

Image
Image
Conexiones de la placa de pruebas
Conexiones de la placa de pruebas
Conexiones de la placa de pruebas
Conexiones de la placa de pruebas

Una vez que haya ensamblado los materiales, es hora de hacer su primer prototipo utilizando una placa de pruebas. El tablero tiene cuatro columnas en total. Las dos primeras y las dos últimas columnas azul y roja comparten una conexión verticalmente, lo que representa las conexiones + 5V (rojo) y tierra / GND (azul). Las dos columnas en el medio son donde se colocarán sus componentes principales. Puede obtener más información sobre las placas de prueba aquí.

Entonces, lo que quiere hacer es conectar su Arduino a la placa de pruebas utilizando algunos cables prototipo. Como mencioné antes, los colores no importan pero son una referencia útil para ti. Por ejemplo, utilicé los cables rojos para representar + 5V y los cables blancos para representar GND. Tampoco importa dónde coloque sus pines siempre que permanezcan en el mismo circuito.

A continuación, desea conectar su tira de LED a la placa de pruebas. Notarás que tiene de 3 a 6 cables dependiendo del tipo que tengas. El blanco representa la entrada GND / min, el rojo representa la entrada de + 5V, el verde representa el PIN de entrada de datos y el azul representa el PIN de entrada de datos de respaldo (no conecte a menos que el LED esté vinculado). Enchufe la alimentación externa de 5V y conéctela a la tira de LED. ¡No olvide conectar también la resistencia y el condensador como se muestra en la imagen de arriba, o de lo contrario podría quemar sus LED!

Por último, desea conectar su módulo bluetooth y sensor de detección de sonido a la placa de pruebas. Asigne el sensor de detección de sonido al pin A0 (analógico). En cuanto al módulo bluetooth, notarás que tiene un pin RXD y un pin TXD. Estos son para enviar y recibir señales. NOTA: conecte el pin TXD del módulo al pin RXD del Arduino y el pin RXD del módulo al pin TXD del Arduino. ¡No a los mismos pines!

Paso 3: codifica el Arduino

Codifica el Arduino
Codifica el Arduino

Entonces, el siguiente paso es codificar el Arduino. Necesitará el software Arduino IDE para hacer esto, que puede descargar aquí. Una vez que haya descargado el IDE, abra un nuevo documento y copie y pegue el siguiente código en la ventana del proyecto:

#incluir

// Pines que están conectados al Arduino

const int PIN = 6; // El pin de entrada de la tira de LED int NUMPIXELS = 144; // El número de píxeles que se iluminarán const int SOUNDSENSOR = A0; // El pin de entrada del sensor de sonido

int ButtonState = 0; // Estado que está asignado a un botón en la aplicación bluetooth

int volumen = 0; // Estado que comprueba si hay señal en el micrófono o no

// Variables de color

booleano PrimBlue = falso; booleano PrimGreen = falso; booleano PrimRed = falso; booleano PrimWhite = falso; booleano PrimYellow = falso; booleano PrimOrange = falso; booleano PrimPink = falso; booleano PrimPurple = falso;

// Variables de luz y sonido

booleano SoundDetect = falso; booleano FullLight = falso;

Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

configuración vacía () {

pinMode (SONIDO, ENTRADA); // Entrada del sensor de sonido pinMode (PIN, OUTPUT); // Entrada de la tira de LED

Serial.begin (9600);

strip.setPixelColor (0, 0, 0, 0); strip.setBrightness (0); strip.begin (); // Esto inicializa la biblioteca de NeoPixel strip.show ();

}

bucle vacío () {

// Defina la cantidad de brillo de acuerdo con el byte del deslizador brillo = analogRead (A0) / 4; Serial.println (brillo); if (Serial.available ()> 0) {ButtonState = Serial.read (); }

// Activar o desactivar LED y detección de sonido

if (FullLight == 1 && SoundDetect == 0) {strip.setBrightness (ButtonState); strip.show (); } else if (FullLight == 0 && SoundDetect == 0) {strip.setBrightness (0); strip.show (); } else if (FullLight == 0 && SoundDetect == 1) {strip.setBrightness (brillo); strip.show (); } else if (FullLight == 1 && SoundDetect == 1) {strip.setBrightness (0); strip.show (); }

////////////////////////// Interruptor LED //////////////////////// ////

if (ButtonState == 'a') {primaryColors (); FullLight = 1; SoundDetect = 0; }

if (ButtonState == 'b') {

FullLight = 0; SoundDetect = 0; }

////////////////////////// Interruptor de detección de sonido /////////////////////// /////

if (ButtonState == 'c') {PrimaryColors (); SoundDetect = 1; FullLight = 0; }

if (ButtonState == 'd') {

SoundDetect = 0; FullLight = 0; }

//////////////////////////Colores primarios////////////////////// ////

if (ButtonState == '1') {PrimaryColors (); PrimBlue = 0; PrimGreen = 0; PrimRed = 1; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; }

if (ButtonState == '2') {

colores primarios(); PrimGreen = 1; PrimBlue = 0; PrimRed = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; }

if (ButtonState == '3') {

colores primarios(); PrimRed = 0; PrimBlue = 1; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '4') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 1; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '5') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 1; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '6') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 1; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '7') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 1; PrimPurple = 0; } if (ButtonState == '8') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 1; }}

void primaryColors () {

for (int i = 0; i <NUMPIXELS; i ++) {if (PrimBlue == 1) {strip.setPixelColor (i, 0, 0, 255); } else if (PrimGreen == 1) {strip.setPixelColor (i, 0, 255, 0); } else if (PrimRed == 1) {strip.setPixelColor (i, 255, 0, 0); } else if (PrimWhite == 1) {strip.setPixelColor (i, 255, 255, 255); } else if (PrimYellow == 1) {strip.setPixelColor (i, 255, 255, 0); } else if (PrimOrange == 1) {strip.setPixelColor (i, 255, 102, 0); } else if (PrimPink == 1) {strip.setPixelColor (i, 255, 0, 255); } else if (PrimPurple == 1) {strip.setPixelColor (i, 102, 0, 204); } else {strip.setPixelColor (i, 255, 255, 255); }} strip.show (); }

Si le pide que instale la biblioteca Adafruit NeoPixel, haga esto yendo a Sketch> Importar biblioteca> Adafruit NeoPixel.

Paso 4: crea la aplicación Bluetooth

Image
Image
Construye la caja
Construye la caja

Ahora entremos en la parte interesante, ¡construyendo tu aplicación! Decidí utilizar un software de terceros llamado MIT App Inventor 2 para hacer esto. Si desea descargar los archivos del proyecto (.aia) y realizar cambios en la aplicación, puede descargarla a continuación. Pero también puede descargar la aplicación en sí (.apk) de inmediato sin tener que codificar nada. Solo tienes que instalarlo en tu dispositivo.

Paso 5: construye la caja

Construye la caja
Construye la caja
Construye la caja
Construye la caja
Construye la caja
Construye la caja

En este paso, construiremos la caja / marco para el espejo infinito.

El marco exterior

Primero, corte el listón grueso para el marco exterior (vea las imágenes de arriba). Necesitará dos piezas de 27 cm de longitud (para la parte superior e inferior) y dos piezas de 25 cm de longitud (para el lado izquierdo y el derecho). Ahora únalas clavando clavos en las esquinas de la caja (4 por cada lado), pero asegúrate de que los bordes encajen perfectamente. También puede optar por pegarlos juntos, pero eso depende de usted.

El marco interior

Luego, corte el listón delgado para el marco interior (vea nuevamente las imágenes de arriba). Necesitará dos piezas de 25 cm de largo (para la parte superior e inferior) y dos piezas de 24 cm de longitud (para el lado izquierdo y derecho). Ahora desea clavarlos a unos 0,5 cm por debajo de la parte superior del marco exterior utilizando 2 clavos para cada lado. También apliqué un poco de pegamento para madera aquí para hacerlos más resistentes. NOTA: ¡asegúrese de que el espejo unidireccional encaje perfectamente dentro del marco!

Perforar el orificio del micrófono

Dado que el micrófono es un objeto sensible, debe estar libre de cobertura. Por eso hice un agujero en la parte superior del marco del que sobresaldrá la cabeza del micrófono. No hagas el agujero demasiado grande, porque no querrás que tu micrófono se salga completamente del marco.

Pintar tu marco

Decidí pintar mi marco casi negro mate para darle algún tipo de efecto oscuro y misterioso. Si también decide pintarlo, asegúrese de que no queden manchas gruesas de pintura en el marco. Para evitar esto, debe pintar suavemente el marco con un pincel pequeño o mediano. Además, puede pintarlo por segunda vez si no está lo suficientemente cubierto. Déjelo secar durante un día más o menos.

Paso 6: suelde la electrónica a una PCB

Image
Image
Suelde la electrónica a una PCB
Suelde la electrónica a una PCB
Suelde la electrónica a una PCB
Suelde la electrónica a una PCB

En este paso soldaremos la electrónica a una PCB que luego instalaremos en la parte posterior de nuestro espejo. Soldar no es obligatorio, pero recomiendo encarecidamente hacerlo para mantener la electrónica segura en su lugar. Solda todo paso a paso por "componente" a la cuadrícula para evitar errores. Entonces, primero soldé el módulo de sonido a la placa, luego el módulo bluetooth y, por último, las tiras de LED. Recomiendo dejar un espacio en blanco entre los componentes que no pueden tocarse directamente entre sí, como los cables de entrada de + 5V y los cables de entrada GND (vea las imágenes de arriba).

Una vez que tenga sus componentes soldados a la placa, comience a hacer conexiones de puente aplicando un poco de estaño entre los componentes debajo de la placa. Alternativamente, puede pelar algunos cables y soldarlos a los componentes para hacer una conexión de puente.

Ahora desea probar el circuito simplemente conectando los cables al Arduino. ¡Asegúrese de que también ha enchufado la fuente de alimentación! Si los LED se encienden correctamente, ¡bien hecho! Sin embargo, si no se encienden, es posible que desee volver a verificar el circuito y buscar conexiones defectuosas.

Paso 7: instale los componentes electrónicos en la parte posterior

Instale la electrónica en la parte posterior
Instale la electrónica en la parte posterior

El siguiente paso es instalar la electrónica en un trozo de madera, que también usaremos para la parte trasera del espejo. Adjunté la electrónica a la placa con algunos tornillos y pegué dos bloques en el lado derecho e izquierdo de la parte posterior que se utilizan para atornillar la parte posterior de la caja a la caja misma.

Paso 8: ensambla los espejos con la caja

Ensamble los espejos con la caja
Ensamble los espejos con la caja
Ensamble los espejos con la caja
Ensamble los espejos con la caja
Ensamble los espejos con la caja
Ensamble los espejos con la caja

Ahora es el momento de montar los espejos, pegar los LED al marco y colocar el sensor de detección de sonido en su lugar.

Espejo unidireccional

El espejo unidireccional se colocará en el propio marco, con el lado tintado hacia abajo hacia el espejo y los LED. Para hacer este espejo usted mismo, necesitará la placa de vidrio y la película para ventanas tintada. Primero corte la película de la ventana en el tamaño correcto, pero deje aproximadamente 2-5 cm de espacio adicional en cada lado. A continuación, desea limpiar completamente la ventana y eliminar todos los restos de polvo. Luego cubra la ventana con un poco de agua y jabón y retire con cuidado el plástico de la película de la ventana (puede colocar cinta adhesiva en cada lado para quitarla fácilmente). Ahora también desea cubrir el lado pegajoso de la película de la ventana con agua y jabón para evitar que se pegue. Todo lo que tiene que hacer ahora es colocarlo sobre el vidrio y barrerlo firmemente en su lugar (vea las imágenes de arriba). Deje que se seque durante aproximadamente un día y retire la película de la ventana restante.

Pega los LED a la caja

El siguiente paso es pegar los LED a la caja, lo que se puede hacer quitando el papel adhesivo. También recomiendo aplicar un poco de pegamento rápido en la parte posterior de la tira para evitar que se desprenda.

¡Coloque los espejos y termínelo

El último paso es colocar el espejo unidireccional y el espejo normal en su lugar. El espejo normal va detrás de la tira de LED y el espejo unidireccional va al frente. Pégalos en su lugar con un poco de pegamento rápido y atornilla la placa posterior con los componentes electrónicos a la parte posterior de la caja. Coloque el sensor de detección de sonido en su lugar, conecte todos los cables y listo, ¡listo!

Paso 9: ¡Prueba tu Infinity Mirror

Todo lo que tienes que hacer ahora es probar si todo funciona. ¡Y eso es! ¡Ahora ha construido su propio Espejo Infinito Controlable por Bluetooth y Reactivo al Sonido!:D

No dudes en preguntar en la sección de comentarios si tienes alguna duda.

¡Gracias y diviértete!

Recomendado: