- Material requerido
- Funcionamiento de un sensor de sonido
- Diagrama del circuito del sensor de sonido
- Diagrama del circuito de la fuente de agua musical
- Programación de Arduino Nano para fuente danzante
Hay varias fuentes de agua que rocían agua incondicionalmente con interesantes efectos de iluminación. Así que divagué sobre el diseño de una fuente de agua innovadora que puede responder a la música externa y rociar agua según los ritmos de la música. ¿No suena interesante?
La idea básica de esta fuente de agua Arduino es tomar una entrada de cualquier fuente de sonido externa como móvil, iPod, PC, etc., muestrear el sonido y dividirlo en diferentes rangos de voltaje, luego usar la salida para encender varios relés. Primero usamos un módulo sensor de sonido basado en un micrófono de condensador para actuar en la fuente de sonido para dividir los sonidos en diferentes rangos de voltaje. Luego, el voltaje se alimentará al amplificador operacional para comparar el nivel de sonido con un límite particular. El rango de voltaje más alto corresponderá a un interruptor de relé ENCENDIDO que comprende una fuente de agua musical que opera al ritmo de la canción. Así que aquí estamos construyendo esta Fuente Musical usando Arduino y sensor de sonido.
Material requerido
- Arduino Nano
- Módulo sensor de sonido
- Módulo de relé de 12V
- Bomba DC
- LEDs
- Cables de conexión
- Tablero Vero o Protoboard
Funcionamiento de un sensor de sonido
El módulo del sensor de sonido es una placa electrónica basada en un micrófono electret simple que se utiliza para detectar el sonido externo del entorno. Se basa en el amplificador de potencia LM393 y un micrófono electret, se puede utilizar para detectar si hay algún sonido más allá del límite de umbral establecido. La salida del módulo es una señal digital que indica que el sonido es mayor o menor que el umbral.
El potenciómetro se puede utilizar para ajustar la sensibilidad del módulo sensor. La salida del módulo es ALTA / BAJA cuando la fuente de sonido es menor / mayor que el umbral establecido por el potenciómetro. El mismo módulo de sensor de sonido también se puede utilizar para medir el nivel de sonido en decibelios.
Diagrama del circuito del sensor de sonido
Como sabemos, en un módulo de sensor de sonido, el dispositivo de entrada básico es el micrófono que convierte las señales de sonido en señales eléctricas. Pero como la salida de la señal eléctrica del sensor de sonido es tan pequeña en magnitud que es muy difícil de analizar, hemos utilizado un circuito amplificador de transistor NPN que lo amplificará y alimentará la señal de salida a la entrada no inversora del Op- amperio. Aquí LM393 OPAMP se utiliza como un comparador que compara la señal eléctrica del micrófono y la señal de referencia proveniente del circuito divisor de voltaje. Si la señal de entrada es mayor que la señal de referencia, la salida del OPAMP será alta y viceversa.
Puede seguir las secciones de circuitos de amplificador operacional para obtener más información sobre su funcionamiento.
Diagrama del circuito de la fuente de agua musical
Como se muestra en el diagrama del circuito de la fuente musical anterior, el sensor de sonido se alimenta con un suministro de 3.3V de Arduino Nano y el pin de salida del módulo del sensor de sonido está conectado al pin de entrada analógica (A6) de Nano. Puede usar cualquiera de los pines analógicos, pero asegúrese de cambiar eso en el programa. El módulo de relé y la bomba de CC se alimentan mediante una fuente de alimentación externa de 12 V CC como se muestra en la figura. La señal de entrada del módulo de relé está conectada al pin de salida digital D10 de Nano. Para el efecto de iluminación, elegí dos colores diferentes de LED y los conecté a dos pines de salida digital (D12, D11) de Nano.
Aquí la bomba está conectada de tal manera que cuando se da un pulso ALTO a la entrada del módulo de relé, el contacto COM del relé se conecta al contacto NO y la corriente obtiene una ruta de circuito cerrado para fluir a través de la bomba hacia activar el flujo de agua. De lo contrario, la bomba permanecerá APAGADA. Los pulsos HIGH / LOW se generan a partir de Arduino Nano dependiendo de la entrada de sonido.
Después de soldar el circuito completo en perfboard, se verá a continuación:
Aquí usamos una caja de plástico como contenedor de fuente y una mini bomba de 5v para que actúe como fuente, usamos esta bomba previamente en un robot contra incendios:
Programación de Arduino Nano para fuente danzante
El programa completo de este proyecto de fuente de agua Arduino se encuentra en la parte inferior de la página. Pero aquí solo estoy explicando eso por partes para una mejor comprensión:
La primera parte del programa consiste en declarar las variables necesarias para la asignación de números de pin que vamos a utilizar en los siguientes bloques del programa. Luego defina una REF constante con un valor que sea el valor de referencia para el módulo del sensor de sonido. El valor asignado 700 es el valor equivalente en bytes de la señal eléctrica de salida del sensor de sonido.
int sensor = A6; int redled = 12; int greenled = 11; int pump = 10; #define REF 700
En la función de configuración vacía , hemos utilizado la función pinMode para asignar la dirección de datos de ENTRADA / SALIDA de los pines. Aquí el sensor se toma como ENTRADA y todos los demás dispositivos se usan como SALIDA.
configuración vacía () { pinMode (sensor, ENTRADA); pinMode (rojo, SALIDA); pinMode (verde, SALIDA); pinMode (bomba, SALIDA); }
Dentro del bucle infinito, se llama a la función analogRead , que lee la entrada del valor analógico desde el pin del sensor y la almacena en una variable sensor_value .
int sensor_value = analogRead (sensor);
En la parte final, se utiliza un bucle if-else para comparar la señal analógica de entrada con el valor de referencia. Si es mayor que la referencia, entonces todos los pines de salida reciben salida ALTA para que todos los LED y la bomba se activen, de lo contrario todo permanece APAGADO. Aquí también hemos dado un retraso de 70 milisegundos para diferenciar el tiempo de ENCENDIDO / APAGADO del relé.
if (sensor_value> REF) { digitalWrite (greenled, HIGH); digitalWrite (rojo, ALTO); digitalWrite (bomba, ALTA); retraso (70); } else { digitalWrite (verde, BAJO); digitalWrite (rojo, BAJO); digitalWrite (bomba, BAJA); retraso (70); }
Así es como funciona esta fuente de agua controlada por Arduino, a continuación se muestra el código completo con un video de trabajo.