전체상품목록 바로가기

본문 바로가기


현재 위치
  1. home
  2. community
  3. 튜토리얼

튜토리얼

튜토리얼 Tutorial

게시판 상세
subject 웨이브 쉴드(Wave Player Shield) 사용법
writer 아트로봇 (ip:124.50.164.53)
  • date 2011-06-14 13:41:58
  • like 추천하기
  • view 3916
rating 0점

웨이브 재생 쉴드를 작동시키기 위한 방법은 제조사에서 매우 상세하게 소개하고 있습니다.
아래의 링크를 참고하시면 됩니다.
http://www.ladyada.net/make/waveshield/index.html

하지만, 상세한 정보가 있더라도 예제 소스와 라이브러리를 찾아서 설치하는 작업이 쉽지만은 않을 수 있습니다.

본글을 통해 예제 소스의 수행을 위한 방법을 조금 더 간략하게 정리해봤습니다.

1. 하드웨어 준비 ( Make it!)

제작사의 제작 순서를 보시면서 그대로 따라하시면 됩니다.(http://www.ladyada.net/make/waveshield/make.html)
단, R6(저항)과 IC4(Level shifter for SD card ) 사이의 간격이 매우 좁습니다.
IC4를 R6 보다 먼저 납땜하시거나 R6의 다리 길이를 조금 여유있게(길게) 납땜하여 위치를 약간 옆으로 옮길 수 있도록 하시기 바랍니다.

사용하기 (Use it!)

2. SD메모리 준비하기

FAT 기본 모드로 새로 포맷 하실 것을 추천드립니다.

3-1. 음원 Wav 파일을 준비하기 (변환하기)

Wave Shield와 호환되는 음원을 준비하시거나 음원에 맞게 음원을 변환하셔야 합니다.
지원가능한 포맷은 아래와 같습니다.

22KHz, 16-bit, mono PCM (지원가능한 최고 샘플속도 및 해상도)
더 고품질 음원 재생은 지원되지 않지만  더 낮은 품질의 음원인 16KHz, 16-bit, mono PCM은 재생 가능합니다.

최근에는 44KHz 이상의 Stereo 음원이 대부분이므로 Wave Shield로 재생하기 위해선 변환을 해줘야 합니다.
무료 프로그램을 원하시는 분은 Audacity를 추천드립니다.

변환용 프로그램과 변환 방법 소개는 해당 튜토리얼 내용을 참고하시기 바랍니다.
본 소개글에서는 미리 변환된 공개 음원파일을 사용할 것 입니다.

3-2. 음원 Wav 파일을 준비하기 (공개 음원 사용하기)

테스트 수행시엔 미리 변환된 파일을 써도 무방하므로 아래의 링크에서 16KHz or 22KHz 용 파일을 다운로드 하시면 됩니다.
찾아보시면 각종 악기 소리와 쓸만한 FX 효과음이 제법 많습니다. ( 안타깝게도 링크가 깨진 곳도 많네요)

http://wiki.laptop.org/go/Sound_samples

4. Wave파일 복사하기 와 파일명 검토

준비된 wav 파일을 SD메모리에 복사합니다.  파일명은 8글자 제목 + 3글자 확장자로만 인식됩니다. 이보다 긴 파일명은 8자리 영문명으로 직접 변경하시기 바랍니다. 미변경시 파일명이 임의 특수문자(~등)로 변경되어 인식되므로 프로그램 코드에서 파일명을 지정하여 재생하는데 문제가 될 수 있습니다.

5. 라이브러리 설치하기

제조사 튜토리얼에서는 구버전 라이브러리의 사용예와 새로운 라이브러리 사용예가 함께 소개되어 있습니다.
본 글은 기능이 더 강력해진 신버전을 기준으로 소개해 드리겠습니다.
Mr Fat16 이란 분이 (이름도 신기하시네요 ^^.) 기존 라이브러리를 기능보강시킨 WaveHC 라는 라이브러리를 아래에서 다운로드 받으시기 바랍니다.

WaveHC 다운로드 페이지: http://code.google.com/p/wavehc/downloads/list

2011.6.13 현재 최신버전은  wavehc20110508.zip  입니다.

압축을 풀어보시면, examples, FielsForExamples, html, WaveHC 라는 폴더가 보이실 겁니다.
이중에서 WaveHC라는 폴더를 통째로 복사하셔서  아두이노 libraries 폴더에 복사하시면 됩니다.

가령, 제 경우 아래의 같은 폴더가 새로 추가되었습니다.
D:\ARDUINO_WORKS\arduino-0022\libraries\WaveHC

WaveHC 폴더안을 확인해보시기 바랍니다. 약 15개의 파일이 있고, 그 중에 WaveHC.h 와 WaveHC.cpp 파일이 보이시면 됩니다.

항상 라이브러리를 새로 추가한 후엔, 스케치를 모두 종료 후 다시 여시기 바랍니다.

이것으로 Wave Shield 사용을 위한 라이브러리 준비가 끝입니다.


6. 예제 소스 컴파일 하기

아래의 링크에 다양한 응용 소스가 있습니다.
http://www.ladyada.net/make/waveshield/examples.html

사실 SD메모리에서 읽어서 Wave Shield로 재생하는 기능을 하는 소스 부분은 거의 모두 동일하고 이를 제어하는 방식만 다른 예제들입니다.  우선, 가장 기본적인 단순 Play 예제부터 실행해 보겠습니다.

http://www.ladyada.net/media/wavshield/daphc.pde

제목이 어려워 보여서 실행하기가 겁이 납니다;;
하지만,  Digital Audio Player for waveHC 의 약자 정도 되는 이름일 뿐이므로 걱정 하실 것 없습니다.
(본 파일은 WaveHC 라이브러리내 examples 폴더에도 들어 있습니다.)

다운로드 후, 적당한 위체에 저장하고 스케치에서 읽어 들입니다. 새폴더를 만들어야 한다는 알림창이 뜨면 OK를 눌러줍니다.

컴파일 버튼이나 ctrl-R 을 눌러서 컴파일을 시도해 봅니다.

Done compiling.
Binary sketch size: 9348 bytes (of a 32256 byte maximum)

위와 같은 메시지가 나오면 성공입니다.  코드내 오류가 뜨면 라이브러리 설치부분을 다시 확인하시기 바랍니다.
포트번호와 아두이노 종류 설정도 맞게 되었는지 확인해 보시기 바랍니다.


7. 재생 실행하기

아두이노의 USB케이블을 제거하신 후,
웨이브 쉴드에 wav파일이 기록된 SD메모리 카드를 꽂아주고, 아두이노에 장착합니다.
USB케이블을 다시 연결합니다.

리셋버튼을 눌러주면, 잠시후 사운드 재생이 시작됩니다.
볼륨을 시계방향으로 회전시켜서 볼륨을 조절 하시기 바랍니다.

8. 재생상태 모니터링 하기

PC에 USB케이블로 연결된 상태라면 스케치의 시리얼 모니터 창을 통행 재생상태를 모니터링 할 수 있습니다.
속도를 9600 baud 로 맞춥니다. 이후 오토 리셋이 되고, 아래와 같은 메시지 들이 출력됩니다.


Wave test!
Free RAM: 672
Using partition 1, type is FAT16
Files found:
FROGS1.WAV
FROGS2.WAV
CHIMES.WAV
DOORBELL.WAV
0.WAV
1.WAV
2.WAV
3.WAV
4.WAV
5.WAV
6.WAV
7.WAV
8.WAV
9.WAV
P.WAV
DO.WAV
MI.WAV
RE.WAV
SOL.WAV
LA.WAV
FA.WAV

Playing FROGS1.WAV
.....................


9. 문제처리

컴파일 및 업로드까지 성공적인 경우, 재생이 되지않으면 시리얼모니터를 통해 출력되는 메시지를 참고하시면 도움이 됩니다.
가령 SD메모리 포멧이 문제인 경우,  해당 부분에서 오류메시지가 출력되고 멈추게됩니다.

가령, FAT12 로 포맷된 경우, 파일시스템이 FAT12 라는 메시지를 출력 후 멈쳐있게됩니다.
FAT16으로 포맷하여 실행하면 정상작동 됩니다.

특정 파일명을 재생하는 경우, 해당 파일이 없어서 재생이 안되는 경우도 시리얼 모니터를통해 확인할 수 있습니다.

10. 기타 예제 들

이외에도 example 페이지에는 재밌는 응용 예제가 많습니다.

Text to Speech Demo
 저도 안해봤습니다만 , 글을 목소리로 변역해준다는 예제입니다. 흥미로운 주제네요. 여러분이 먼저 해보시죠~!

파이(PI, 3.14159....) 값을 읽어주기
 음원만 한국어로 바꿔주시면 숫자값 읽어주는 기계는 쉽게 구현 가능합니다.
 0~9, P(point) 음을 위한 wave파일들을 미리 저장해두면됩니다. (음원 wav파일도 함께 제공됨)

버튼연동 재생 예제들
 버튼입력에 따라 특정 소리를 내는 예제들입니다.

 

 










 

file
password 수정 및 삭제하려면 비밀번호를 입력하세요.
댓글 수정

password :

/ byte

password : 확인 취소

댓글 입력

commentsname : password : 관리자 답변 보기

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.