miércoles, 12 de octubre de 2016

Sensor de sonido con Arduino

Hola chicos, hoy he querido probar el sensor de sonido con el Arduino, para ello, he utilizado los siguientes materiales:
Sensor de sonido
  1. Arduino NANO: no tiene porqué ser de la marca Arduino, por ejemplo el que he utilizado es "pirata" compatible con el Arduino IDE al instalarle unos drivers.
  2. Sensor de sonido: cualquiera que pueda ser utilizado con un Arduino vale, el mio lo he comprado aquí. Aclaro que este sensor detecta la fuerza con la que hablamos, la intensidad, no la frecuencia del sonido.
  3. Una placa en la que puedas soldar todos los componentes o una protoboard.
  4. Cables, ya sean macho-macho(si utilizas protoboard) o sin punta para soldar (que son los que yo he utilizado).

Para programar y para comunicarme con el Arduino he utilizado el Arduino IDE, si no lo tienes lo puedes descargar en la página oficial de Arduino.
En el programa me comunico con el Arduino mediante el Serial y para hacerlo todo un poco más ameno, he utilizado el protocolo Moncada el cual he usado con los siguientes comandos (en el protocolo Moncada, cada comando acaba con &, pero en esta guía no añadiré este caracter por cada comando):
  • PRUEBA: prueba las comunicaciones.
  • LEEANA: Lee el valor analógico del sensor.
  • LEEDIG: Lee el valor digital del sensor.
  • LEECON: Activa la lectura continua del valor analógico.
  • LEECOF: Desactiva la lectura continua del valor analógico.
  • INTRON: Activa la interrupción que notifica el valor digital.
  • INTROF: Desactiva la interrupción que notifica el valor digital.

Resumiendo un poco el protocolo Moncada, es un protocolo de comunicaciones Serial en el que envías un comando en mayúsculas de unas seis letras (esta cifra puede variar, seis letras en mi proyecto) seguido de los argumentos (si los hay) y de un & para finalizar. La respuesta sera: comando (el comando que hayamos enviado) + OK + &, pudiendo estar acompañada o no de argumentos de respuesta. Para mi proyecto la ventana Serial debe estar configurada a 9600 baudios sin ajuste de linea.

Cosas que no me han gustado:
  • El sensor tiene dos salidas, una analógica y una digital, la salida analógica se supone que tiene que enviar de 0 a 5 voltios al Arduino según cambie la intensidad del sonido, pero la diferencia entre hablar fuerte y flojo casi ni se distingue.
El proyecto me ha quedado así:
Proyecto finalizado
El programa que he utilizado puedes descargarlo aquí.
Mañana subiré un diagrama con las conexiones que he utilizado.


No hay comentarios:

Publicar un comentario