블루투스 제어 라즈베리 파이 로봇 만들기 - 오디오 피드백 포함
이 가이드에서는 클래식 라즈베리 파이 로봇 프로젝트에 블루투스 제어와 동적 사운드 이펙트를 추가해 확장합니다. 아두이노 우노를 블루투스 모듈에 연결, 명령을 라즈베리 파이로 릴레이, 파이썬으로 각 명령에 해당하는 .wav 파일 재생. 결과: 움직이며 실시간으로 "말하는" 로봇.
1단계: 부품 & 하드웨어
- 라즈베리 파이 (USB 포트 있는 모든 모델, 파이 3 이상 권장)
- 아두이노 우노
- 모터 드라이버 (예: L298N) 및 바퀴/액슬
- 9V 배터리 또는 리포 팩 (로봇 베이스용)
- 블루투스 시리얼 모듈 (Silversilvermate 또는 HC-05)
- 3.5mm 잭 내장 파워드 스피커
- 연결 와이어, 저항, 브레드보드 (필요시)
- 선택: 로봇용 케이스 또는 섀시
핵심 부품은 원본 로봇 빌드 가이드 참조. 블루투스 모듈은 Zagros Robotics에서 구매 가능.
2단계: 라즈베리 파이 준비
오디오 잭 이슈 있던 구형 라즈비안 릴리스 피하고자 최신 NOOBS 이미지(v1.2.1 이상) 사용. 파이 부팅 후:
- 터미널 열고 파이썬 2.7(또는 선호 시 3.x) 확인:
python --version
- 특정 버전 필요 시
sudo apt-get install python2.6로 설치 (파이썬 2.7 완전 지원)
- 아두이노 통신용 시리얼 라이브러리 설치:
sudo apt-get install python-serial
- 3.5mm 오디오 잭 활성화:
amixer cset numid=3 1
/home/pi/Sounds 폴더 생성 후 다음 WAV 파일 다운로드:
forward.wav
backward.wav
left.wav
right.wav
stop.wav
- 파이썬 스크립트 zagbot-bt.py를
/home/pi에 다운로드 후 실행 권한: sudo chmod +x /home/pi/zagbot-bt.py
3단계: 아두이노 & 블루투스 배선
블루투스 모듈을 아두이노 SoftwareSerial 핀 2(TX), 3(RX)에 연결. 배선도:
- 아두이노 TX (핀 2) → 블루투스 RX
- 아두이노 RX (핀 3) → 블루투스 TX
- 아두이노 5V → 블루투스 VCC
- 아두이노 GND → 블루투스 GND
- 블루투스 CTS → 아두이노 RTS (선택, 플로우 컨트롤용)
zagbotbt.ino 스케치를 우노에 업로드. 이 스케치는 블루투스로 수신한 문자열을 라즈베리 파이 연결 USB 시리얼 포트로 포워딩.
4단계: 안드로이드 제어 앱
샘플 안드로이드 APK Max_Control을 Box에서 다운로드. 기기 SD 카드로 전송 후 ES File Explorer(튜토리얼) 같은 앱으로 설치. 앱이 간단 텍스트 명령(예: "FORWARD", "BACKWARD")을 블루투스로 아두이노 전송.
5단계: 시스템 실행
- 로봇 베이스 전원 투입, 아두이노가 USB로 파이와 연결됐는지 확인
- 파이에서 파이썬 리스너 시작:
python /home/pi/zagbot-bt.py
- 안드로이드 앱 실행, 블루투스 모듈과 페어링
- 이동 버튼 누르고 파이 스피커에서 해당 사운드 재생 확인
축하합니다 - 이제 각 명령에 청각적으로 반응하는 완전 기능 블루투스 제어 라즈베리 파이 로봇 완성! 자유롭게 확장하세요: 사운드 파일 추가, 제스처 컨트롤용 가속도계 통합, 미래 대비를 위한 파이썬 3 전환 등.