Tabla de contenido:

Selector de sonido: 9 pasos
Selector de sonido: 9 pasos

Video: Selector de sonido: 9 pasos

Video: Selector de sonido: 9 pasos
Video: Sistema de transmisión con palanca manual en funcionamiento 2024, Mes de julio
Anonim
Conmutador de sonido
Conmutador de sonido

¿Alguna vez ha tenido su música en el trabajo y no se dio cuenta de que alguien estaba tratando de hablar con usted? Peor aún, ¿alguna vez ha querido dormir en el trabajo, pero no tenía una buena manera de despertarse si alguien (como su jefe) estaba a punto de entrar en su cubículo? Yo tengo. Para resolver estos problemas inventé el SoundSwitcher basado en Arduino. Básicamente, esto usa 6 transistores para cambiar entre una fuente de sonido (en mi caso, un iPod) y el escudo Wave de Ladyada, lo que le permite saber lo que está sucediendo. Luego puede conectar el Arduino a cualquier tipo de sensor que desee. Por ejemplo, el mío está conectado a un telémetro ultrasónico, micrófono, botón de timbre y computadora Parallax Ping (alertas en un nuevo correo electrónico). Puede ir más allá conectando una fotorresistencia para detectar cuándo está sonando su teléfono celular (la pantalla se ilumina), o un sensor Parallax CH4 para que pueda recibir una advertencia temprana de aumento de los niveles de metano en su cubículo porque su compañero de cubículo tenía demasiado repollo en el almuerzo. De todos modos, la mayoría de ustedes probablemente no tengan ese problema (ojalá no lo tuviera). Además de lo que realmente hace el proyecto, también brinda instrucciones sobre cómo convertir texto a un archivo wav y transferir archivos a la tarjeta SD en el Arduino sobre Serial. Con suerte, estos pueden ser útiles para otros en sus proyectos. NOTA: Soy bastante nuevo en todo esto, por lo que no hay garantía de que esté haciendo las cosas bien. Este es el primer proyecto que he diseñado con transistores, por lo que es posible que me falten algunas tapas y diodos en alguna parte… Si alguien tiene algún consejo, me encantaría escucharlo e incorporarlo.

Paso 1: Partes

Partes
Partes
Partes
Partes

1- Arduino1- Wave Shield (Ladyada) 6 - Transistores 2n39046 - Resistencias de 330 Ohm6 - Resistencias de 22 Ohm2 - Resistencias de 10k Ohm (pullups para botones) 2 - Botones2 - Conectores de auriculares estéreo macho1 - Conector de auriculares estéreo hembra Cualquier sensor que desee, lo hice1 - Micrófono1 - Buscador de rango ultrasónico Parallax Ping1- Fotocélula1 - Computadora que ejecuta un script Ruby que verifica el correo electrónico y se conecta al Arduino a través de serie

Paso 2: transistores

Transistores
Transistores

Los transistores se utilizan principalmente para amplificar cosas o como interruptores. En este caso, estoy usando los transistores como interruptor. Cuando pongo el pin de Arduino en alto, el transistor permite que el sonido provenga del dispositivo conectado a mis auriculares. Tres transistores en cada lado me permiten cambiar el suelo y los canales estéreo izquierdo y derecho para cada fuente de sonido. Experimenté con varias resistencias y me decidí por estas. Los transistores no se calientan y la resistencia del transistor en sí es muy baja cuando el pin Arduino conectado es alto. Esto es importante para que pueda obtener un buen sonido sin silenciar. Como puede ver en el esquema en el siguiente paso, los transistores están conectados para que la base vaya al pin Arduino para controlarlo (con una resistencia entre ellos). El emisor se conecta tanto a tierra (con una resistencia) como a la entrada de sonido. El colector está conectado a la salida de sonido de los auriculares. Aquí hay una buena página web sobre el uso de transistores como interruptores

Paso 3: conéctelo todo junto

Conéctelo todo junto
Conéctelo todo junto

El esquema es bastante simple. Una cosa a tener en cuenta es que el protector de onda usa un montón de pines en el Arduino, así que manténgase alejado de ellos (los llené con soldadura en mi placa). Usé los pines 8 y 9 para los transistores (8 reproduce el escudo de onda, 9 reproduce la fuente de sonido externa). Se usó el pin analógico 0 para el micrófono (aunque no funciona muy bien, estoy trabajando en esto). El pin analógico 1 se utiliza para el botón "Ignorar". Cuando se presiona este botón, todos los sensores se ignoran durante un período de tiempo predefinido. El pin analógico 2 es un "timbre". Todavía quedan algunos pines libres para otras cosas. Estoy planeando agregar una resistencia de foto que coloco contra la pantalla de un teléfono celular para detectar cuando suena en el pin analógico 3. Lo agregaré aquí una vez que lo pruebe.

Paso 4: Sensores

Sensores
Sensores

En este momento estoy usando los siguientes "sensores" (probablemente las entradas sean más precisas) para activar eventos: -Pulsar el botón para el timbre - Esto es bastante simple, hace que alguien pueda presionar un botón y reproducirá un sonido a través de sus auriculares haciéndole saber que alguien está cerca. El botón que usé cerró el circuito de forma predeterminada y abrió el circuito cuando se presionó el botón (solo los tenía alrededor). No olvide las resistencias pullup (generalmente una resistencia de 10k Ohm que va al lado del pin Arduino del cable para ayudar a dar una buena señal alta cuando el circuito está abierto). El mío está conectado a Arduino Analog Pin 2.-Buscador de rango ultrasónico Parallax Ping - Avíseme cuando alguien está cerca (es decir, alguien está a punto de ingresar a su cubículo). El mío está conectado al Pin 6 de Arduino (en el cable blanco del sensor). El cable rojo del sensor va a 5 voltios y el cable negro va a tierra.-Micrófono: está diseñado para detectar cuando alguien está hablando contigo. Conoces a esos tipos que no se dan cuenta de que tienes los auriculares puestos y empiezan a hablar. Todavía estoy trabajando en esto, parece que necesito un preamplificador para obtener una buena lectura con el micrófono que obtuve de Sparkfun. Un siguiente paso interesante sería grabar unos segundos del sonido en un archivo en el escudo de ondas y luego reproducirlo para que sepa si es algo que le importa antes de apagar la música.-Computadora - En este momento, esto usa un Ruby script para verificar si hay un nuevo correo electrónico y envía una señal al puerto serie donde está el Arduino para informarle que se ha recibido un nuevo correo electrónico. Obviamente, podrías hacer mucho más con esto. Básicamente, cualquier cosa sobre la que la computadora pueda alertar, puede hacer que se active a través de sus auriculares. Sería genial si pudiera hacer que la computadora generara automáticamente un archivo de onda usando algunas de las voces de AT&T y luego enviarlo al Arduino a través de serie. Sin embargo, esa es una forma de salir. -Sensor de timbre del teléfono celular: utilicé una fotocélula de Radio Shack (The Shack) para esto. Lo conecté al pin analógico 4 y luego a 5 voltios. También necesita hacer una resistencia de 10k Ohm desde el lado que se conecta al pin 4 en el Arduino a tierra (de lo contrario, la señal no cambiará). Para mi teléfono, si la fotocélula que estoy usando supera los 400 en la lectura analógica en el Arduino, entonces la pantalla se ilumina. Otros sensores potenciales: sensor de timbre del teléfono de escritorio: tal vez el micrófono podría captar esto. Dependiendo del teléfono, probablemente haya varias formas de hacerlo. Tendré que pensar en esto un poco más para ver si puedo encontrar una solución de propósito general. -Láser y una fotorresistencia: podría apuntar un puntero láser a través de la abertura de su cubículo a una fotoresistencia. Cuando la luz se interrumpe porque alguien entra en su cubículo, puede hacer sonar una alerta.-Detector de gas CH4: detecta niveles elevados de metano en su cubículo. Esto puede ayudar a servir como un sistema de alerta temprana contra el gas que pasa cerca.

Paso 5: Línea de comandos de texto a voz

Aquí hay una pequeña utilidad que escribí muy rápido para convertir texto en voz. Está escrito en C # con freeVisual C # 2008 Express Edition. Probablemente necesitará. Net 3.5 para ejecutar esto. El código está incluido, pero si solo desea el archivo ejecutable, puede obtenerlo en CommandLineText2Speech / CommandLineText2Speech / bin / Release en el archivo zip. Para que la herramienta funcione, puede abrir un símbolo del sistema, navegar al directorio donde colocó el exe y escribir CommandLineText2Speech.exe. Dará como resultado esto: Uso: Para enumerar las voces instaladas: CommandLineText2Speech.exe whatvoices

Para convertir texto a wav: CommandLineText2Speech.exe [voz] [tasa - predeterminado 0 (-10 a 10)] [volumen - predeterminado 80 (0 a 100)] "[texto para convertir]" [archivo de salida] En otras palabras probablemente querrá ejecutar primero: CommandLineText2Speech.exe whatvoices Esto mostrará una lista de las voces que ha instalado en su computadora. Necesitará el nombre de una voz para ejecutar la herramienta. Las voces que vienen con Windows no son buenas, AT&T tiene algunas que son bastante buenas. A continuación, para convertir texto a un archivo wav, haga lo siguiente: CommandLineText2Speech.exe "Microsoft Sam" 0 80 "Esto es una prueba" test.wav Esto es lo que significa: "Microsoft Sam": la voz, esta es una que viene con Windows, tiene para ponerlo entre comillas ya que hay un espacio 0- Velocidad normal (puede ir de -10 a 10) 80- Volumen normal (puede ir de 0 a 100) "Esto es una prueba" - El texto que se convertirá en un archivo wav prueba.wav- cómo se llamará el archivo wav

Paso 6:

El código de Ruby adjunto realiza las siguientes comprobaciones para ver si hay un nuevo correo electrónico y, si lo hay, lo transfiere al Arduino a través de la interfaz USB a serie integrada en Arduino. He tenido problemas para hacer conexiones de alta velocidad sobre Serial (probablemente el tamaño del búfer). La configuración del archivo se encuentra en la parte superior del archivo. Esto usa mi programa C # para crear un archivo wav. Probablemente debería convertir todo esto a un idioma, soy un gran fan de Ruby, pero no parecía que pudiera crear el wav a partir del texto con mucha facilidad, así que escribí la pequeña aplicación C #. También necesitarás el ruby gema de serie, la he incluido también. Para instalarlo (después de haber instalado Ruby) escriba "gem install win32-serial-0.5.1-x86-mswin32-60.gem" en el símbolo del sistema del directorio donde descargó la gema. Eso es todo lo que necesita para que este programa funcione.

Paso 7: Código

Adjunté mi boceto de Arduino. Tiene muchos comentarios para ayudar. Básicamente, sigue verificando todas las entradas, si una de ellas se dispara, cambia el sonido al Wave Shield y reproduce el archivo wav asociado con esa alerta.

Paso 8: Ejecute los programas

Ok, ahora tienes todas las partes. Para que esto funcione correctamente, necesita 1. Instale Wave Shield en Arduino2. Conecte Arduino a la computadora (o use XBee): supongo que ya tiene el firmware instalado 3. Ejecute el script Ruby checkEmail.rb 4. Disfrute de su música, el Arduino lo interrumpirá cuando necesite leer su correo electrónico o cuando detecte algo en su entorno.

Paso 9: Video del producto terminado

Aquí está el conmutador de sonido en funcionamiento

Recomendado: