Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386

Componentes y suministros

Big Mouth Billy Bass × 1
Amazon Echo Dot (2ª generación) × 1
Arduino UNO × 1
Shield controlador de motores L293D (Kuman) × 1
Amplificador LM386 × 1

Herramientas necesarias

Sobre el proyecto

Materiales

Billy Bass en la sala de cirugía de Toronto Tool Library.

Desmontaje del Billy Bass

  1. El Billy Bass tiene tornillos visibles en la parte trasera. Desatornilla (guarda los tornillos) y retira la tapa trasera. Verás los motores en el lado del pez y el compartimento de pilas en la placa trasera.
  2. Dentro hay un PCB con todos los cables. Identifica los cables que vienen de los motores, córtalos del PCB original dejando la mayor longitud posible. Marca o etiqueta estos cables. Identifica también los cables de la pila y córtalos del PCB; se usarán después para alimentar el Arduino a través del Motor Shield.
  3. (Opcional) Identifica el interruptor que activa/desactiva el sensor de movimiento del pez. Corta sus cables y suelda el positivo de la pila para que pase por este interruptor, permitiendo usarlo para encender/apagar la alimentación a los motores. Es por comodidad, no estrictamente necesario.
  4. Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
  5. Monta el Motor Shield sobre el Arduino. Conecta los cables positivo y negativo de los motores a los tres primeros puertos de motor del shield (M1, M2, M3). Conecta los cables positivo y negativo del compartimento de pilas del Billy a los terminales EXT_PWR del shield.
  6. Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386

Control de los motores

Con todos los cables conectados, sube tu primer sketch al Arduino y verifica que los motores funcionan. Primero instala la librería Adafruit Motor Library siguiendo las instrucciones de su web. Luego sube este sketch de diagnóstico de motores que debe accionar M1, M2 y M3 en secuencia.

Permanece en este paso hasta que puedas controlar la cabeza, la boca y la cola mediante los motores correspondientes en el sketch. Esto será necesario para añadir acciones más sofisticadas.

Si no funciona, puede que tengas que asignar las variables head, mouth, tail a diferentes números de motor según cómo los hayas conectado. Si la boca, cola o cabeza se mueven en dirección opuesta, invierte los dos cables de ese motor en el shield.

Desmontaje del Echo Dot y detección de audio

  1. Retira la goma de la base del Echo Dot (2ª gen) para revelar una capa adhesiva transparente; pégala también. Aparecerán cuatro tornillos Torx. Desatornilla y quita los tornillos; el Dot se separará en varias piezas. Nos interesan las dos placas de circuito. Ten cuidado con el cable plano que las une (se me desconectó unas 20 veces; puedes fijarlo a la carcasa del pez inmediatamente, ver fotos al final).
  2. Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
  3. Corta el cable de audio 3,5 mm muy cerca del conector. Pela el aislamiento para ver los contactos en la base del jack: habrá un cable izquierdo, derecho y tierra (muchos hilos sueltos). Suelda un cable a L y R (convirtiendo la señal a mono) y trenza los hilos sueltos para formar la tierra. Para más info sobre el jack de audio, consulta este útil post. En esta fase puedes probar que la salida de audio funciona con un altavoz portátil.
  4. Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
  5. Conecta el cable de señal (L y R en mono) al pin IN de la placa amplificadora LM386, y la tierra al pin de tierra de la señal de audio. Lleva cables desde la salida 5V y GND del Arduino a VCC y 2º GND del amplificador (también puedes usar el compartimento de pilas del Billy para VCC y GND). Ahora conecta los cables del altavoz del Billy Bass al amplificador.
  6. En este punto, al enchufar el jack 3,5 mm en el Echo Dot, deberías oír a Alexa por el altavoz. Si no se oye, gira el pequeño tornillo (potenciómetro) del amplificador para aumentar la ganancia. Esto introduce ruido, así que mantén la ganancia lo más baja posible.

    Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
  7. Con los 4 pines del amplificador orientados hacia abajo, tendrás los dos terminales del altavoz en la parte «superior». Suelda un cable adicional al terminal superior izquierdo del altavoz y conéctalo al pin analógico A0 del Arduino. Para pruebas puedes hacerlo sin el Motor Shield. Cuando funcione, suelda este cable a la conexión A0 del Motor Shield (yo usé A1 por error; cualquier pin analógico sirve).

Sketch de diagnóstico de audio para Arduino

Si has seguido los pasos correctamente, hay dos pruebas para confirmar que vas por buen camino. ¡Asegúrate de que ambas funcionan antes de continuar!

  1. Al reproducir música desde el Echo («Alexa, pon Slayer»), se oye algo. Si no funciona, verifica la alimentación del amplificador y las conexiones del cable de audio 3,5 mm.
  2. Carga este sketch de diagnóstico de audio en tu Arduino y abre el Monitor Serie (9600 baudios). Verás un mensaje indicando si hay música sonando o no. También el LED integrado del Arduino se encenderá cuando suene música y se apagará en silencio. Si el paso 2 falla, prueba conectar el cable analógico al otro terminal de los puertos del altavoz del amplificador. También puede ser necesario ajustar el valor «quietThreshold» en el sketch para calibrar correctamente el silencio, aunque en el siguiente paso promediaremos este valor para mayor estabilidad.

Uniendo todo

Tras verificar independientemente que podemos mover todos los motores y que podemos reproducir música y medir desde el Arduino cuándo suena, solo queda combinar los componentes.

Simplemente conecta la señal del amplificador al puerto A0 del Motor Shield y enchufa todos los motores. Subir este sketch que combina la lectura de señal de audio con movimientos de motor más avanzados debería activar las animaciones del pez cada vez que suene música.

Conecta el Echo a una fuente de alimentación y al cable de audio 3,5 mm, y verás a tu pez adoptar la personalidad de ¡Alexa! Estamos en la recta final.

Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386

Ahora solo queda colocar los componentes electrónicos dentro de la carcasa del Billy y cerrarla. Usé las pestañas espaciadoras de plástico del Billy para sujetar el Dot pegando la PCB inferior a la carcasa, y atornillé la PCB superior a uno de los soportes de tornillo existentes que corté a la mitad. El amplificador lo pegué a la placa trasera (lo más lejos posible del altavoz, ya que hay un ruido crujiente cuando están cerca), y el Arduino lo pegué con pegamento caliente en el espacio restante. Ten en cuenta que quizás quieras desmontarlo de nuevo, así que usa conexiones de cable largas o desmontables.

Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386

Probablemente quieras taladrar algunos agujeros en el plástico del Billy para que el audio llegue más fácilmente al micrófono del Echo Dot. También corté un agujero en el lateral de la carcasa para sacar dos cables USB: uno para programar el Arduino si quiero seguir trasteando, y otro para alimentar el Echo Dot (usando una power bank USB). Creo que si cableas un cable USB al compartimento de pilas del Billy también podrías alimentar el Echo directamente de ahí, pero mi intento no funcionó. Actualizaré esta página si lo logro.

Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386

Conclusiones

Aquí tienes un post más sobre cómo convertir a Billy Bass en un pez inteligente. Al usar el Echo Dot en lugar de una Raspberry Pi obtienes todas las capacidades nativas de Alexa como Drop-In calling. Dicho esto, no puedes ser tan inteligente sobre qué tipo de sonidos hace Billy. Sería divertido revisar esto con Alexa en una Raspberry Pi para escribir diferentes animaciones cuando se detecte voz, o incluso añadir otra capa de procesamiento de audio para que suene como si el pez estuviera bajo el agua. Pero eso lo dejaré para un día lluvioso.

¡Espero que hayas disfrutado la lectura y mucha suerte con tu hack!

Código

Los sketches están disponibles en Gist:

Proceso de manufactura

  1. Maximizar el Valor de los Big Data: Estrategias para el Éxito en Manufactura
  2. Por Qué un Diseño Ligeramente Mayor Puede Acelerar la Innovación y Reducir Riesgo
  3. Controla tu Chromecast con Amazon Alexa usando Raspberry Pi y Python
  4. Demo ARDrone 2.0 Controlado por Alexa: Dron Activado por Voz con Raspberry Pi y Hologram Nova
  5. Controla tu Ventilador de Techo con Alexa: Guía Paso a Paso
  6. Sensor 3D Inteligente: Control de Lámpara por Voz para Amazon Echo
  7. Controla LEDs con Alexa mediante Raspberry Pi – Guía paso a paso fácil
  8. Entrevista con el Dr. Billy Wu, Imperial College London: Innovación en impresión 3D en investigación y educación
  9. Big Data vs IA: La sinergia detrás de la transformación digital
  10. Modix BIG Meter – Impresora 3D FDM DIY de 1 m³ para Prototipado y Manufactura
  11. Maximizando la eficiencia con máquinas multitarea