ATMEGA128을 이용한 피아노 설계(LED악보,자동연주)
- 최초 등록일
- 2010.06.16
- 최종 저작일
- 2009.06
- 16페이지/ 압축파일
- 가격 2,500원
소개글
[소스포함+회로도포함+소스보안하여 업데이트완료(2010.12.22)]
<<제안서 + 최종보고서 추가>>
ATMEGA128을 이용하여 피아노 설계입니다.
각 음계입력과 자동연주(동요1,가요1), LCD악보를 이용한 게임기능
디폴드값으로 음계 고정하여 링크로 다른음악을 만들수있습니다.
회로도가 잘안보이시면 그림파일로 회로도도 올려놨으니 참고하세요!
(2010.12.22 update)
동요몇개더 추가, 가요하나더 추가,~~
//////////////
2016.12.19 잦은 문의에 따른 공지
Avr로 코딩한것이 아니라 IAR로 코딩한 것임으로, 참고하여 구매바랍니다.
목차
1. 제작동기
2. 구현방법
3. 구성(작동방법)
4. 소요부품
6. 작품 제작과정.(소스)
7. 소스
8. 실행결과
9. 문제점
10. 감상
11. 회로도 (부록)
본문내용
1. 제작동기
▶ 어렸을때부터 음악이나 오면서 하는 게임을 무척이나 좋아했었습니다. 요즘은 세상이 좋아서 조그만한 비디오게임들이 많이 나오고 있는데 음악이 나오면서 내려오는 도트를 맞추면서 게임하는 것이 신기하고 가지고 싶었습니다. 마침 마이크로 컨트롤러라는 수업을 배우면서 ATMEGA 128로 구현이 가능하지 않을까하는 모험적인 발상이 ‘LED 악보 & 피아노건반’ 의 프로젝트를 시작하게 되었는지도 모르겠습니다.
2. 구현방법
ATmega128을 이용해 “도 레 미 파 솔 라 시 도” 의 음에 해당되는 주파수를 이용해 구현하며 LED로 악보를 표현하며, 저항으로 저항값에따라 소리크기를 조절한다.
3. 구성(작동방법)
▶ ‘LED악보 & 피아노건반’설계작품은 ATMEGA 128로 구동되며 키보드 총 8개로 도,레,미,파,솔,라,시,도를 나타냅니다, LED 8개는 각 음계의 악보역할을 할 것이며, 나머지 스위치4개는 각각 2개씩, 악보를 실행시키는 버튼이 되겠으며, 나머지 2개는 AUTOMUSIC 버튼으로 한 개는 ‘조성모 - 가시나무’와 ‘어버이 은혜’가 실행되도록 소스화 하였습니다. LED악보를 실행시키는 스위치는 실행시 LED만 소스로 설정된 음계만 켜지므로
8. 실행결과
▶ 생각보다 만족스러운 결과가 나왔습니다. 처음 키보드에 소리가 나왔을 때는 나도 모르게 입이 귀에 걸렸습니다. 게임으로서의 발상이 완성품까지 만들게되니, 전자공학과를 들어와서 눈에 띠는 작품을 나 자신 스스로 만들었다는것에 대한 자부심이 날 들뜨게 하였습니다.
실행결과는 예상과 같이 각 건반 키보드에 도~도까지의 음계값을 지정해주었으며(2옥타브) LED악보 스위치(2개) 누르면 LED가 소스로 설정한 값에 따라 움직여주었으며, 불을 따라 건반을 누르면 (비행기,산토끼 -동요-)노래가 구현되었으면 실수시 엉뚱한 음이 나와 노래가 실패하는 게임형식으로 구현되었으며 automusic버튼(2개)는 하나는 어버이은혜와 개인적으로 조성모의 노래를 좋아하는데 악보를 보며 2시간에 걸쳐 수작업으로 일일이 악보를 보여 계이름을 입력한 조성모의 가시나무를 구현해냈다.
스피커 앞에 달았던 가변저항으로 소리크기 구현이 가능해졌습니다.
9. 문제점
▶ 계획한대로 모든 것이 완료되었으며 힘들었던 점이 있다면, 처음 키보드에 각 음계를 설정해줄 때, LED악보 구동중에 키보드가 죽는현상,
참고 자료
없음
압축파일 내 파일목록
피아노 소스 보안된 최종소스/Common.c
피아노 소스 보안된 최종소스/Common.h
피아노 소스 보안된 최종소스/mode_N_play.c
피아노 소스 보안된 최종소스/piano.c
피아노 소스 보안된 최종소스/연결.txt
피아노 소스 보안된 최종소스/키보드 소스만 빼냄.txt
마이크로 컨트롤러 설계 제안서.hwp
마이크로컨트롤러 피아노 설계 최종보고서.hwp
초기 필자가 완성했던 소스/common.c.txt
초기 필자가 완성했던 소스/common.h.txt
초기 필자가 완성했던 소스/mode_N_play.c.txt
초기 필자가 완성했던 소스/piano.c.txt
초기 필자가 완성했던 소스/먼저 읽으세요.txt