pwm으로 할려고 합니다.
즉, wav 파일을 8비트 음원으로 녹음후 그것을 pwm으로 하려고 하는데요.
혹시 잘 아시는 분 가르침을 바랍니다.
단가때문에 다른 칩은 사용못합니다 --;
하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.
번호 | 분류 | 제목 | 글쓴이 | 조회 수 | 날짜 |
---|---|---|---|---|---|
3 | 머신러닝, AI & 알고리즘 | HOT오목 게임 알고리즘3 | 새로운하늘 | 3458 | 2010.03.29 |
2 | 머신러닝, AI & 알고리즘 | HOT지하철 최단거리 알고리즘은?2 | 지워나 | 2861 | 2008.06.20 |
1 | 머신러닝, AI & 알고리즘 | HOT순차 프로그램에 대한 간단한 알고리즘과 재귀 알고리즘의 속도 테스트 - by 아크마7 | 아크마 | 3060 | 2007.08.08 |
wav파일을 녹음하는건가요??
외부에서 들어오는 소리를 마이크로 입력받아 adc를 통해 디지털로 변환해서 저장하고
이를 pwm형태로 변환해서 dac를 통해서 외부 스피커를 통해 출력하는 형태가 되겠지요..
avr중에 어떤 모델을 사용하시는지요?
전 avr로 음계등을 부저나 스피커로 출력하는거랑
녹음해서 그것을 다시 출력하는 형태로 해봤는데
이런것과 비슷한가요??
네. 솔찍히 dac등도 사용을 못합니다. 그래서 지금 어디까지 되었냐 하면 8비트의 wav 파일을 xxx.h 로 바꾸어서 저항한후..
그것을 읽어들어 기준 주파수 20Khz 로 동작 시킨후 xxx.h를 OCR1A등에 넣어서 외부 부져 혹은 스피커로 출력하려고 합니다.
그런데 잘 안되네요. 답답한 마음에 조언좀 듣고자 질문을 올렸는데 생각보다 빠른 답변이 등록 되었네요. 감사합니다.
사용하고 있는 칩은 AVR 의 atmega128을 사용하고 있습니다. 역시 단가 싸움은 정말 힘들군요.
저는
1옥타브 도레미파
2옥타브 도레피파
이런식으로
도레미파솔라시도를 각각 주파수를 계산해서 정의해주고
필요에 따라서 타이머로 pwm을 발생시켜서 했습니다.
부저나 스피커로 할때에는 증폭을 해줘야 하는데 이부분은 어떻게 처리하셨나요?
소리가 나오는데 도레미파 음계가 안맞나요? 아니면 소리가 아예 안나오나요?
부저는 피에조 부저인가요??
어떤 부분이 안되나요?
오늘 아침 9시까지 안자고 저는 여기를 주시하고 있음.ㅋ.ㅋ
저는 타이머 두개로 하나는 pwm 하나는 딜레이~~로 해서 했엉요~~
오늘 아침 9시까지 안자고 저는 여기를 주시하고 있음.ㅋ.ㅋ
^^ 감동 먹었습니다.
해결했습니다.
ARM 3410x 에서 먼저 실험을 한 후에 그것을 AVR로 포팅하기로 결심하고 결국 성공.
음... 문제는 코드비젼을 사용하는데... 서로 문법에서 많은 차이가 있었네요.
OCR1A 를 예전엔 OCR1AH, OCR1AL 이렇게 나누어서 저장하는게 원칙이지만.. 안해도 잘 되길래
그냥 OCR1A에 저장하였는데... 안되네요. 흠... 이상하군요. 분명히 헤더파일에서 int로 바꾸어 줬는뎅 --;
현재 된 것의 결과로는 wav 파일을 8비트 음원으로 다운 샘플링 한 후에 그것을 xxx.h로 바꾸어 저장하여서..
그것을 링크를 걸고 읽어왔습니다.
그리고 위에서 설명했던대로 기준 샘플링을 발생 시키고 차례차례 wav 파일을 읽어와서 비교레지스터에 차례차례 넣었습니다.
만족할 만한 음향이 나오네요.
부저는 피에조 부저도 해보고, 스피커로도 해봤는데... 머 그럭저럭 괜찮은것 같습니다.
나머진 데모 보여주고 어떠냐.. 좋냐... 싫으면 헛수고 한거구요 ^^
관심 가져주셔서 감사합니다.
밤새면 몸에 안좋습니다. 얼렁 꿈나라로 ^^;;
오 성공하셨다니 다행입니다.
제가 여러가지 정말 많이 코드비젼을 사용해본 결과는
형변환이 ansi c기준에 맞게 정확히 되지는 않더라구요..
전에 코드비젼 제작사에 hp던가에 버그 이메일도 보내봤습니다..ㅋㅋ
보통은 컴파일러를 100%믿고 프로그래머가 잘못했다고 생각하는게 정석이지만
형변환 기능은 좀 문제가 있어요..그래서 저도 강제 변환해주고 쓰고 그랫네요..
될수 있으면 atmel 사에서 공식으로 지정한 컴파일러인
iar 컴파일러로 개발하는게 좋아요~~ 예제도 더 많고.. atmel사에서도 공식적으로 iar로 프로그램짜서 배포하는 경우가 대다수니까요..
물론 iar이 200만원정도로 해서 좀 비싸긴 하지만 그만큼의 가치는 있다고 봐요~~~
저도 프로젝트 하느라 날샜어요...
프로젝트는 다 끝났는데 완료 보고서 쓰느라고요...
ㅋㅋ 9시에는 지하철역으로 고고싱.ㅠㅠ
가끔 안되는거 있으면 들려주세요..도움은 못드리고 같이 푸념하게요.ㅋㅋ