Los transductores son dispositivos que convierten energía de una forma a otra. Un micrófono es un transductor que convierte la energía sonora en señales eléctricas. Micrófonos están disponibles en diferentes formas y tamaños. Dependiendo de la aplicación, un micrófono puede utilizar diferentes tecnologías para convertir sonidos en señales eléctricas.
El micrófono de condensador electret https://es.wikipedia.org/wiki/Micr%C3%B3fono_electret es un condensador de placas paralelas y trabaja en el principio de una capacitancia variable. Consiste en dos placas, una fija (llamada la placa trasera) y el otro movible (llamado diafragma) con una pequeña separación entre ellos. Un potencial eléctrico carga la placa. Cuando el sonido golpea al diafragma se inicia moviendo, cambiando así la capacitancia entre las placas.
Este módulo tiene dos salidas:
- AO: salida analógica, señal de voltaje de salida en tiempo real del micrófono
- DO: salida digital, cuando la intensidad del sonido alcanza un cierto umbral, la salida es una señal de nivel alto o bajo. La sensibilidad del umbral puede lograrse ajustando el potenciómetro.
Para asegurarse de que el micrófono pueda detectar tu voz o un sonido de palmas, se debe cambiar su sensibilidad girando el potenciómetro azul en el módulo.
![](https://www.prometec.net/wp-content/uploads/2016/04/partes-ky-038.png)
Al modificar el potenciómetro, se ajusta la ganancia de la señal del micrófono y la salida analógica modifica su valor.
Para la salida digital, se compara la salida analógica con un valor fijo de la salida del altavoz, así que modificando el potenciómetro, se modifica la sensibilidad para que se active el pin digital.
Conexión con Arduino:
Este módulo proporciona dos modos de salida de señal, para lo cual escribimos dos códigos para probarlos:
- analog_signal_output: https://github.com/jecrespo/Arduino-Kit-China-Guide/blob/master/01-Microfono/analog_signal_output/analog_signal_output.ino
- digital_signal_output: https://github.com/jecrespo/Arduino-Kit-China-Guide/blob/master/01-Microfono/digital_signal_output/digital_signal_output.ino
El código analog_signal_output muestra por el serial plotter el valor de la salida analógica. Probar la salida con diferentes valores del potenciometro.
El código de digital_signal_output funciona cuando la voz llega a un cierto valor, activará una señal digital y se enciende el indicador L al mismo tiempo. Este valor desencadenante puede cambiarse según el método de ajuste de sensibilidad con el potenciometro. Este código también nos ayuda a calibrar la sensibilidad de la salida digital, cuando las pulsaciones de un sonido están entre 2 y 15 y la distancia entre pulsos consecutivos no es mayor de 100 ms.
Esta es la parte más complicada de este ejercicio. Para ajustar el límite de disparo lo que hacemos es girar el potenciómetro con un destornillador. Tenemos que dejarlo de tal forma que el LED que marca si está accionada la salida digital esté apagado, pero lo más próximo posible al límite en el que se enciende.
- Si lo ajustamos mal y el LED está encendido, no detectamos ningún cambio y no podremos reaccionar a ningún estímulo sonoro.
- Si lo ajustamos de forma que esté apagado pero demasiado lejos del límite en el que se enciende, habrá que hacer un sonido muy alto para detectar el sonido.
- Un valor adecuado para una sensibilidad adecuada es que en la salida analógica haya un valor entre 530 y 600.
Para encender un led con dos palmadas consecutivas usar este código: https://github.com/jecrespo/Arduino-Kit-China-Guide/blob/master/01-Microfono/encender_palmas/encender_palmas.ino