Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

¿Te imaginas poder controlar dispositivos electrónicos con tan solo un aplauso o una palmada? En este artículo, exploraremos cómo utilizar un sensor de sonido junto con Arduino para crear una interfaz de control única y sensorial. Descubre cómo puedes integrar esta tecnología en tus proyectos electrónicos y sorprende a todos con tus habilidades de control mediante el sonido. ¡No te lo pierdas!

¿Estás listo para que tu próximo proyecto sea escuchado?

Estos sensores de sonido son económicos, fáciles de usar y pueden detectar voces, aplausos o golpes de puertas.

Puede usarlos para una variedad de proyectos reactivos al sonido, como: B. para activar las luces aplaudiendo o vigilar a tus mascotas mientras estás fuera.

¿Sabes cómo funcionan los micrófonos electret?

Dentro del micrófono hay una membrana delgada y una placa trasera. Juntos actúan como un condensador.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

Cuando hablas por el micrófono, tu voz crea ondas sonoras que golpean el diafragma y lo hacen vibrar.

A medida que la membrana vibra en respuesta al sonido, las placas se acercan o alejan, cambiando la capacitancia. Esto crea un voltaje en las placas que podemos medir para determinar la amplitud del sonido.

Descripción general del hardware

El sensor de sonido es una pequeña placa de circuito que contiene un micrófono (50 Hz-10 kHz) y algunos circuitos de procesamiento para convertir la onda de sonido en una señal eléctrica.

Esta señal eléctrica se envía al comparador integrado de alta precisión LM393, que la digitaliza y la pone a disposición en el pin OUT.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

El módulo contiene un potenciómetro para ajustar la sensibilidad de la señal de SALIDA.

Le permite establecer un umbral para que el módulo emita BAJA si la amplitud del sonido excede el umbral; de lo contrario, ALTA.

Esta configuración es muy útil para desencadenar una acción cuando se alcanza un determinado umbral. Por ejemplo, si la amplitud del sonido supera un umbral (se detecta un golpe), puedes activar un relé para controlar la luz.

Gire la perilla en el sentido contrario a las agujas del reloj para aumentar la sensibilidad y en el sentido de las agujas del reloj para disminuirla.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

El módulo también contiene dos LED. El LED de alimentación se enciende cuando el módulo está encendido y el LED de estado se enciende cuando el nivel de sonido excede el umbral.

Asignación de pines del sensor de sonido

El sensor de sonido sólo tiene tres pines:

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

VCC suministra energía al sensor. Se recomienda alimentar el sensor de 3,3V a 5V.

Tierra es el pin de tierra.

FUERA DE El pin emite ALTA en condiciones silenciosas y BAJA cuando se detecta ruido. Puedes conectarlo a cualquier pin digital de un Arduino o directamente a un relé de 5V.

Cableado de un sensor de sonido a un Arduino

Conectemos el sensor de sonido al Arduino.

Las conexiones son bastante simples. Primero, conecte el pin VCC del módulo al pin 5V del Arduino y el pin GND a tierra.

Finalmente, conecte el pin OUT al pin digital #8 de Arduino. ¡Eso es todo!

El cableado se muestra en la siguiente imagen.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

Establecer umbral

El módulo tiene un potenciómetro incorporado para configurar el umbral de nivel de sonido por encima del cual la salida del módulo es BAJA y el LED de estado se ilumina.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

Ahora, para establecer el umbral, haga clic con el dedo cerca del micrófono y ajuste el potenciómetro hasta que el LED de estado del módulo parpadee en respuesta a sus clics.

Eso es todo; Su módulo ahora está listo para usar.

Ejemplo 1: detección de sonido básica

El siguiente ejemplo sencillo detecta aplausos o chasquidos y muestra un mensaje en el monitor serie. Prueba el boceto. Lo discutiremos en detalle más adelante.

#define sensorPin 8

// Variable to store the time when last event happened
unsigned long lastEvent = 0;

void setup() {
	pinMode(sensorPin, INPUT);	// Set sensor pin as an INPUT
	Serial.begin(9600);
}

void loop() {
	// Read Sound sensor
	int sensorData = digitalRead(sensorPin);

	// If pin goes LOW, sound is detected
	if (sensorData == LOW) {
		
		// If 25ms have passed since last LOW state, it means that
		// the clap is detected and not due to any spurious sounds
		if (millis() - lastEvent > 25) {
			Serial.println("Clap detected!");
		}
		
		// Remember when last event happened
		lastEvent = millis();
	}
}

Si todo funciona correctamente, debería ver el siguiente resultado en el monitor serie cuando detecte el aplauso.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

Explicación del código:

El boceto comienza especificando el pin Arduino al que está conectado el pin OUT del sensor.

#define sensorPin 8

A continuación definimos una variable llamada lastEvent que almacena el momento en el que se detectó previamente un aplauso. Nos ayudará a reducir la detección accidental de ruido.

unsigned long lastEvent = 0;

En la sección de Configuración configuramos el pin OUT del sensor para que actúe como entrada y establezca comunicación serial.

pinMode(sensorPin, INPUT);
Serial.begin(9600);

En la sección del bucle, primero leemos la salida del sensor.

int sensorData = digitalRead(sensorPin);

Cuando el sensor detecta un sonido lo suficientemente fuerte como para exceder el umbral, la salida pasa a BAJA. Sin embargo, tenemos que asegurarnos de que el sonido provenga de palmadas y no de ruidos de fondo. Por lo tanto, esperamos 25 milisegundos después de que la salida baje. Si la salida permanece BAJA durante más de 25 milisegundos, se imprimirá el mensaje «Aplauso detectado» en el monitor serie.

if (sensorData == LOW) {
	if (millis() - lastEvent > 25) {
		Serial.println("Clap detected!");
	}
	lastEvent = millis();
}

Ejemplo 2: controlar dispositivos con una palmada

Para nuestro próximo proyecto, usaremos el sensor de sonido para crear un «badajo» que activa dispositivos alimentados por CA con una palmada.

Este proyecto controla dispositivos alimentados por CA mediante un módulo de relé de un solo canal. Si no está familiarizado con el módulo de relé, lea el siguiente tutorial.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.
Interfaz de un módulo de relé de un solo canal con Arduino
En su próximo proyecto, es posible que desee utilizar su Arduino para controlar un dispositivo de alto voltaje, como una lámpara, un ventilador u otro electrodoméstico. Sin embargo,…

alambrado

El cableado para este proyecto es sencillo.

Advertencia:
Esta placa interactúa con ALTO voltaje de CA. El uso inadecuado o incorrecto puede provocar lesiones graves o la muerte. Por lo tanto, está dirigido a personas que están familiarizadas y se sienten cómodas con el ALTO voltaje de CA.

Comencemos alimentando el módulo de sensor y relé. Conecte sus pines VCC al pin de 5V del Arduino y GND a tierra.

Conecte el pin de salida (OUT) del sensor de sonido al pin digital n.° 7 de su Arduino y el pin de control (IN) del módulo de relé al pin digital n.° 8.

También debe conectar el módulo de relé al dispositivo alimentado por CA que desea controlar. Deberá cortar la línea de CA viva y conectar un extremo del cable cortado (que viene de la pared) a COM y el otro a NO.

El cableado se muestra en el diagrama siguiente.

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.

código arduino

Aquí está el código para controlar dispositivos con una palmada.

#define sensorPin 7
#define relayPin 8

// Variable to store the time when last event happened
unsigned long lastEvent = 0;
boolean relayState = false;    // Variable to store the state of relay

void setup() {
	pinMode(relayPin, OUTPUT);  // Set relay pin as an OUTPUT pin
	pinMode(sensorPin, INPUT);  // Set sensor pin as an INPUT
}

void loop() {
	// Read Sound sensor
	int sensorData = digitalRead(sensorPin);

	// If pin goes LOW, sound is detected
	if (sensorData == LOW) {

	// If 25ms have passed since last LOW state, it means that
	// the clap is detected and not due to any spurious sounds
	if (millis() - lastEvent > 25) {
		//toggle relay and set the output
		relayState = !relayState;
		digitalWrite(relayPin, relayState ? HIGH : LOW);
	}

	// Remember when last event happened
	lastEvent = millis();
	}
}

Cuando hayas terminado, el sensor debería encender o apagar el dispositivo cada vez que aplaudas.

Explicación del código:

Si comparas este boceto con el anterior, notarás muchas similitudes pero también algunas diferencias.

Para empezar declaramos el pin Arduino al que está conectado el pin de control (IN) del relé. Además, hemos definido una nueva variable. relayState para rastrear el estado del relé.

#define relayPin 7

boolean relayState = false;

Configuramos esto en el setup. relayPin como salida.

pinMode(relayPin, OUTPUT);

Cuando percibimos el sonido del aplauso, simplemente cambiamos el estado del relé en lugar de imprimir el mensaje en el monitor serie.

relayState = !relayState;
digitalWrite(relayPin, relayState ? HIGH : LOW);

Solución de problemas

Si el sensor de sonido no se comporta correctamente, siga los pasos a continuación.

  • Asegúrese de que la fuente de alimentación esté limpia. Dado que el sensor de sonido es un circuito analógico, es más sensible a las perturbaciones en el suministro eléctrico.
  • El sensor también es sensible a las vibraciones mecánicas y al ruido del viento. Montar el sensor sobre una superficie sólida puede reducir algunas de estas vibraciones.
  • Este sensor de sonido tiene un rango de detección muy corto, tal vez solo 10 pulgadas, por lo que debe obtener un sonido mucho más cerca para obtener una lectura confiable.


Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded







Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada

Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada

¿Listo para darle oído a tu próximo proyecto? Los sensores de sonido son económicos, fáciles de usar y capaces de detectar voz, aplausos o golpes en la puerta. Puedes utilizarlos en una variedad de proyectos sensibles al sonido, como activar luces con un aplauso o monitorear a tus mascotas cuando no estás en casa.

¿Cómo funcionan los micrófonos electret?

En el interior de un micrófono hay un diafragma delgado y una placa posterior. Colectivamente, funcionan como un condensador. Cuando hablas en el micrófono, tu voz genera ondas sonoras que golpean el diafragma, haciéndolo vibrar. Cuando el diafragma vibra en respuesta al sonido, las placas se acercan o se alejan, cambiando la capacitancia. Como resultado, se genera un voltaje a través de las placas, que podemos medir para determinar la amplitud del sonido.

Resumen del hardware

El sensor de sonido es una pequeña placa que incorpora un micrófono (50Hz-10kHz) y algunos circuitos de procesamiento para convertir la onda de sonido en una señal eléctrica. Esta señal eléctrica se alimenta al comparador de alta precisión LM393 a bordo, que la digitaliza y la pone disponible en el pin OUT.

Configuración del sensor de sonido con Arduino

Para conectar el sensor de sonido a Arduino, simplemente conecta el pin VCC de la placa al pin 5V de Arduino, el pin GND a tierra y el pin OUT al pin digital #8. Luego, puedes ajustar la sensibilidad utilizando el potenciómetro en el módulo.

Ejemplos de proyectos

  1. Ejemplo 1 – Detección básica de sonido: Este ejemplo detecta aplausos o chasquidos y muestra un mensaje en el monitor serial. Puedes encontrar el código y la explicación detallada en el texto.
  2. Ejemplo 2 – Control de dispositivos con una palmada: En este proyecto, utilizamos el sensor de sonido para crear un «Clapper» que activa dispositivos alimentados por AC con una palmada. El código y el esquema de conexión también se encuentran en el artículo.

Resolución de problemas

Si el sensor de sonido no está funcionando correctamente, asegúrate de que la fuente de alimentación sea estable y limpia, y de que el sensor esté montado en un sustrato sólido para reducir las vibraciones. Además, ten en cuenta que el sensor tiene un rango de detección corto, por lo que el sonido debe estar más cerca para obtener una lectura confiable.

¡Explora las posibilidades del sensor de sonido con Arduino y dale vida a tus proyectos sensibles al sonido!


3 comentarios en «Interfaz del sensor de sonido con Arduino y dispositivos de control con una palmada.»

Deja un comentario