Anima tu Pez Billy Bass con Cualquier Fuente de Audio: Guía Paso a Paso
Componentes y suministros
| Componente | Descripción | Cantidad |
|---|---|---|
| Arduino UNO | Placa principal. | 1 |
| Shield Motor/Stepper/Servo Adafruit v2.3 | Kit para control de motores. | 1 |
| Amazon Alexa Echo Dot | Fuente de audio (cualquier fuente funciona). | 1 |
Sobre el proyecto
Hace un mes, el artista Brian Kane publicó un video viral de un pez Billy Bass "cantando" con la voz de Alexa. Quería replicarlo de la forma más sencilla: usar el audio de un Echo Dot ($49) y procesarlo con Arduino para mover los motores del pez.
El Billy Bass funciona con dos motores DC de 5V (boca y cabeza/cola). El reto era hacer que reaccionaran al sonido. Tras investigación y prueba-error, se logró una solución funcional. El código es mejorable y se invita a la comunidad a contribuir.
Materiales necesarios
- Pez Billy Bass "Big Mouth" (1)
- Arduino Uno (1)
- Fuente de alimentación Arduino (1)
- Adafruit Motor Shield v2 (1)
- Conector minijack de panel (1)
- Cable de conexión trenzado (varios colores)
- Amazon Echo Dot u otra fuente de audio (1)
- Pequeño altavoz recargable (1)
- Cable minijack (⅛") (1)
- Adaptador divisor minijack (1)
Herramientas necesarias
- Destornillador pequeño
- Soldador y estaño
- Pelacables
- Cortadores
- Taladro y brocas
Paso 1: Preparar el pez
Desatornilla la parte trasera, desconecta los arneses y retira la placa base y el zumbador piezoeléctrico. Quedarán 4 cables: dos para la boca y dos para cabeza/cola. Corta 4 cables de colores, estaña las puntas e insértalos en el conector del arnés.

Paso 2: Preparar el Motor Shield
- Solda dos cables a GND y A0 (entrada de audio).
- Conecta esos cables al minijack de panel (punta a A0, base a GND).
- Conecta los cables del motor de la boca (negro y naranja) a los bornes M1. Opcionalmente, conecta el motor de cabeza/cola (blanco y rojo) a M2.
- Verifica que el jumper VIN esté colocado en el shield.

Paso 3: Cargar el código
El código combina el ejemplo DC Motor Test de Adafruit y el sketch Sound to Servo de Cenk Özdemir (2012). Actualmente no anima el motor de cabeza/cola para mantener la respuesta de la boca. Se adjunta el código completo.
/* Make a DC Motor Move to Sound. Public domain. Created by Donald Bell, Maker Project Lab (2016). Based on Sound to Servo by Cenk Özdemir (2012) and DCMotorTest by Adafruit */
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor *myMotor = AFMS.getMotor(1); // Boca
Adafruit_DCMotor *myOtherMotor = AFMS.getMotor(2); // Cola (no usado)
int SoundInPin = A0;
int LedPin = 12;
void setup() {
Serial.begin(9600);
AFMS.begin();
myMotor->setSpeed(0);
myMotor->run(FORWARD);
myMotor->run(RELEASE);
pinMode(SoundInPin, INPUT);
pinMode(LedPin, OUTPUT);
myOtherMotor->setSpeed(0);
myOtherMotor->run(FORWARD);
myOtherMotor->run(RELEASE);
}
void loop() {
uint8_t i;
int sensorValue = analogRead(SoundInPin);
int LEDValue = map(sensorValue, 0, 512, 0, 255);
sensorValue = map(sensorValue, 0, 512, 0, 180);
int MoveDelayValue = map(sensorValue, 0, 255, 0, sensorValue);
if (sensorValue > 10) {
delay(1);
myMotor->run(FORWARD);
for (i = 140; i < 255; i++) {
myMotor->setSpeed(i);
}
analogWrite(LedPin, sensorValue);
myMotor->run(RELEASE);
myOtherMotor->run(RELEASE);
delay(1);
}
analogWrite(LedPin, 0);
}
Paso 4: Montaje final
Conecta una fuente de audio al minijack y verifica que la boca se mueva. Perfora un agujero en la placa del pez para fijar el conector. Para usar con Alexa: conecta el cable de audio al divisor, el altavoz recargable al otro extremo y el conector macho a la salida de audio del Echo Dot. Ajusta volúmenes y disfruta.

Paso 5: Próximos pasos
- Animar cabeza y cola sin perder respuesta en la boca.
- Recargar el altavoz desde el Arduino.
- Añadir botón para cambiar entre modo "voz" y "música".
- Limpiar y optimizar el código.
- Usar Arduino más pequeño (ej. Adafruit Feather).
Proceso de manufactura
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Facilitar la comunicación sordo‑ciego usando 1Sheeld y Arduino
- Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
- Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
- Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
- Proyecto HMI Interactivo con Nextion, Arduino Mega y Múltiples Sensores
- Cómo reproducir audio con Arduino UNO y DFPlayer Mini – Guía paso a paso
- Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
- Medición Precisa de Radiación Solar con Arduino UNO y Shield Ethernet