“Si buscas resultados distintos no hagas siempre lo mismo� Albert Einstein
SENSOR DE SONIDO KY-38 Utilizando el sensor de sonido para encender un LED y para leer sus medidas En este capĂtulo vamos a trabajar con un sensor de sonido para tomar datos en tiempo real del sonido producido en un entorno y utilizar Microsoft Excel como interfaz hyperterminal para graficar los datos que se generan.
OBJETIVOS o o o o
Presentar el sensor de sonido KY-038. Utilizar el pin digital D0 del sensor. Mostrar las lecturas del sensor utilizando el pin analĂłgico A0 del sensor. Graficar datos generados en el arduino uno en tiempo real con Microsoft Excel
MATERIAL REQUERIDO.
Arduino Uno o compatible.
Una Protoboard.
Un diodo LED.
Un sensor de sonido KY-038 o similar.
Una resistencia de 330 Ohmios.
Algunos cables de Protoboard.
EL SENSOR DE SONYDO KY-038 Este tipo de sensor tiene montura Keyes para facilitarnos el montaje.
En la parte de la izquierda vemos los pines de conexión: En el centro tenemos la conexión a 5V y a GND (+ y G).
D0 es una salida digital que actúa a modo de comparador. Si el sonido captado por el micrófono supera un determinado nivel se pone a HIGH. A0 es una salida analógica que nos da un valor entre 0 y 1023 en función del volumen del sonido.[/fancy-ul] Además tenemos dos LEDs, uno que nos indica si hay alimentación en el sensor y otro que se ilumina si D0 está a HIGH. El ajuste de sensibilidad del micrófono lo hacemos mediante un potenciómetro que tendremos que girar con un destornillador plano.
CIRCUITO DE ILUMINACIÓN ACTIVADO POR SONIDO Primero vamos a usar la salida digital D0 como señal para encender un LED, de forma que cuando demos una palmada, un silbido o hagamos algún ruido un poco alto, se encienda o se apague un LED. Sólo necesitamos conectar el pin D0 y los dos pines de alimentación, tal como se ve en el diagrama electrónico y el montaje en la protoboard:
En el circuito de conexión el modulo se coloca directamente sobre la protoboard, se conecta el pin G del sensor de sonido a masa, el del símbolo + al positivo del riel de tensión, la salida A0 a la entrada analógica A0 de arduino y del pin D0 al pin número 2 del arduino. Luego se hace la típica conexión de un led conectando el catodo del led a masa y el anodo por medio de la resisitencia de 330 omhs al pin número 3 del arduino, finalmentese alimenta la protoboard con 5voltios y GND de arduino. Si hemos conectado bien el sensor, se debería iluminar el LED de alimentación. El de salida digital accionada puede o no estar encendido.
PROGRAMANDO EL SENSOR El programa para controlarlo es muy sencillo y es el mismo que hemos utilizado varias veces para controlar un interruptor. La diferencia es que, en vez de utilizar un pulsador, si el sensor detecta un sonido por encima del límite enviará una señal que recogeremos en la entrada digital 2.
Aquí vemos el modulo, el led rojo de la derecha es el de alimentación y estará siempre encendido, y el de la izquierda es el que indica la salida digital que está activa, generalmente viene de la fábrica regulado de manera que esta encendido.
Lo que debemos hacer, es colocar un destornillador plano sobre el percep multivuelta y girar en sentido contrario a las manecillas del reloj hasta que se apague dicho led, de esa manera la salida digital tiene un nivel bajo y solo se activa con un sonido fuerte.
Una vez verificamos que el led de la izquierda estรก apagado, podemos hacer un ruido fuerte, vemos como se enciende nuestro led verde y se mantiene encendido y si volvemos hacer otro ruido fuerte se apagara. Cada vez que se presente un cambio de sonido el led izquierdo del sensor de sonido se debe encender y el led verde cambiar su estado de encendido a apagado y de apagado a encendido.
No nos hemos olvidado de la salida analógica que la conectamos al arduino y no la utilizamos, nos brinda el valor de referencia de percep de sensibilidad, si por ejemplo tenemos regulado el modulo y queremos saber en qué punto de percep se encuentra utilizaremos el valor de la salida analógica mediante el monitor serial y así se anotara que valor se encuentra, de manera que si en algún momento pierde la regulación por algún motivo podemos volver a colocarlo al valor original.
Si se quiere tomar datos en tiempo real con este sensor de sonido, este programa lee el valor de la salida analógica y lo imprime en tiempo real en el monitor serial. Vamos a verificar el programa.
Ahora vamos a subir el programa. Todo lo que hay a la derecha de la doble barra (//) se considera un comentario y se pone en color gris. El IDE de Arduino lo cambia de color para indicarnos que se trata de un comentario. En este caso las entradas analรณgicas no requieren inicializaciรณn
Ahora corremos el programa y abrimos el monitor serial que nos muestra los valores de la salida analรณgica en tiempo real.
A continuaciรณn, se muestra el cรณdigo de cada programa con las aclaraciones de lo que se realiza en cada paso, para una mayor comprensiรณn de los procesos
HYPERTEMINAL ARDUINO CON MICROSOFT EXCEL Paso 1. Qué se necesita tener instalado en su PC
Windows (xp o superior) Arduino uno Microsoft office (2010 o superior) PLX-DAQ (programa de adquisición de datos de arduino a excel). Se puede descargar en el siguiente enlace: https://www.parallax.com/downloads/plx-daq. Automáticamente queda la carpeta en el escritorio con el mismo nombre del programa.
Paso 2. Generar archivos
Archivo con el código arduino Archivo ejecutable de PLX-DAQ Archivo de Excel con la macro
Paso 3. Definir variables para Excel en el código de arduino (SerialPrint)
Fecha y hora: Muestra la fecha y hora en que el arduino toma los datos en tiempo real del monitor serial. Valor: Se establece un rango que puede ser de 0 a 100 Secuencia: Imprime el valor tomado por el monitor serial del arduino
Paso 4. Graficar datos en tiempo real con Microsoft Excel
Abrir la hoja de Excel
Habilitar la macro PLX-DAQ
Cargar código de arduino y conectar con la macro para iniciar la graficación de datos en tiempo real
REFERENCIAS DE CONSULTA
Arduino desde cero en Español - Capítulo 13 - Sensor de Sonido KY-038 https://www.youtube.com/watch?v=wfiSH0CkInE&t=678s Comunicación arduino Excel con PLX-DAQ https://www.youtube.com/watch?v=Ba65z8_fJQc Detectar sonido con arduino y micrófono ky-038 https://www.luisllamas.es/detectar-sonido-con-arduino-y-microfono-ky-038/ Sensor de sonido. Montando un sistema de iluminación activado por sonido https://www.prometec.net/sensor-sonido-led-s4a/