알렉사 연동 빅 마우스 빌리 배스 만들기 – 아두이노, L293D 쉴드, LM386 앰프 활용
필요한 부품 및 소모품
| 부품 |
수량 |
비고 |
| 빅 마우스 빌리 배스 (노래하는 물고기 장난감) |
1 |
기존 회로 제거 후 모터만 사용 |
| 아마존 에코 닷 2세대 |
1 |
3.5mm 오디오 출력 잭 필수 |
| 아두이노 우노 |
1 |
모터 및 오디오 제어 |
| 쿠만 L293D 모터 드라이버 쉴드 |
1 |
최대 3개 모터 제어 가능 |
| LM386 오디오 앰프 모듈 |
1 |
에코 닷 오디오 신호 증폭용 |
필요한 도구
프로젝트 개요
노래하는 물고기 장난감 '빌리 배스'를 해체해 아두이노와 모터 쉴드로 제어하고, 에코 닷의 오디오 출력을 LM386 앰프로 증폭해 빌리 배스 스피커로 재생합니다. 아두이노는 오디오 신호 레벨을 아날로그 핀(A0)으로 읽어 음악 재생 시 입과 꼬리, 머리가 움직이게 합니다.
단계 1: 빌리 배스 분해
- 등쪽의 나사를 풀고 뒷커버 분리
- 내부 PCB에서 모터(입, 꼬리, 머리) 선과 배터리 선을 잘라 분리 (여유 길이 확보)
- (선택) 모션 센서 온/오프 스위치 선을 배터리 양극 쪽에 연결해 전원 스위치로 활용
- 모터 쉴드를 아두이노에 장착하고 모터 3개를 M1, M2, M3 포트에 연결
- 빌리 배스 배터리 팩 선을 쉴드의 EXT_PWR 단자에 연결 (외부 전원 공급)
단계 2: 모터 제어 테스트
Adafruit Motor Shield 라이브러리 설치 후 진단 스케치 업로드해 M1(머리), M2(입), M3(꼬리)가 순차적으로 작동하는지 확인하세요. 방향이 반대면 모터 선을 바꿔 꽂으세요.
단계 3: 에코 닷 분해 및 오디오 추출
- 에코 닷 바닥 고무 패드와 접착층 제거 후 토르크스 나사 4개 풀기
- 두 개의 PCB가 리본 케이블로 연결됨 (주의해서 다루기)
- 3.5mm 오디오 케이블 잭 쪽을 자르고 피복 벗겨 L, R, GND 선 확인
- L과 R을 합쳐 모노 신호로 만들고, GND 선들은 꼬아서 그라운드로 사용
- LM386 앰프의 IN 핀에 신호선, GND에 그라운드 연결
- 앰프 VCC/GND는 아두이노 5V/GND 또는 빌리 배스 배터리 팩에서 공급
- 빌리 배스 스피커 선을 앰프 출력 단자에 연결
- 에코 닷에 3.5mm 잭 꽂아 알렉사 음성이 스피커로 나오는지 확인 (게인 조절 필요 시 앰프 가변저항 조정)
단계 4: 오디오 레벨 감지 회로
앰프의 스피커 출력 단자 중 왼쪽 상단(또는 오른쪽)에 추가 와이어를 연결해 아두이노 아날로그 핀 A0(또는 A1)에 연결합니다. 이 신호로 음악 재생 여부를 감지합니다.
단계 5: 오디오 진단 스케치 테스트
- 음악 재생 시("알렉사, 슬레이어 틀어줘") 소리가 들리는지 확인
- 진단 스케치 업로드 후 시리얼 모니터(9600 baud)에서 음악 재생 시 로그 및 온보드 LED 점등 확인
- 작동 안 되면 앰프 스피커 단자 다른 쪽에 연결하거나 코드의
quietThreshold 값 조정
단계 6: 전체 통합 및 조립
모터 제어 코드와 오디오 감지 코드를 합친 최종 스케치를 업로드합니다. 음악 재생 시 물고기가 입을 벌리고 꼬리를 흔들며 머리를 움직이게 됩니다.
모든 부품을 빌리 배스 케이스 내부에 배치하고 조립하세요. 에코 닷 마이크가 소리를 잘 듣도록 케이스에 구멍을 뚫고, USB 케이블(아두이노 프로그래밍용, 에코 닷 전원용)을 밖으로 빼낼 구멍도 만드세요.
결론
라즈베리 파이 대신 에코 닷을 사용해 드롭인 통화 등 알렉사 기본 기능을 모두 활용하면서도 저렴하게 구현했습니다. 오디오 레벨 기반이라 음성/음악 구분이 안 되는 한계는 있지만, 파티용으로 충분한 재미를 줍니다. 향후 라즈베리 파이 + 알렉사 조합으로 음성 감지 시 다른 애니메이션을 넣는 등 확장이 가능합니다.
코드 링크 (Gist)