【 아두이노 기초 】 #12 멜로디 출력 실습 I
스피커를 통해 멜로디를(Melody) 출력해본다.
단순한 멜로디출력이지만 음이 만들어지는 원리와 음의 주파수에 대해 이해할 수 있게 된다.
▶ 실물 회로도면 :
▶ 실제 회로 구성 모습
▶ 부대품 목록 : 아두이노 보드, 브레드 보드
▶ 부품 목록 : 스피커, 저항 (100Ω)
▶ 회로 도면 :
※ 스피커는 일단 타입의 소형 스피커 혹은 피에조 스피커 등 사용해보고 소리가 비교적 잘 들리는 것을 선택한다.
▶ 프로그램 (코드& 설명) :
▶ 실행 영상 :
※ 다음 글에서는 간단한 음악을 플레이 해보도록 하겠다
제대로 동작 하려면, Pitches.h 라이브러리가 설치 되어 있어야 한다.
라이브러리가 등록이 되어 있지 않으면 아래와 같은 에러가 나타난다.
"exit status 1 보드 Arduino/Genuino Uno 컴파일 에러" 와 같은 에러가 나는 경우 아래 첨부파일에 있는 헤더파일(.h)을 아두이노 스케치의 라이브러리에 추가 해주어야 한다.
아래 에러 해결 글을 참조 할 것
▶ 아두이노 코드 다운로드 :
[ 회로 설명 ]
위 LM386은 IC 는 OPAMP IC 의 한 종류이고,
저전압 오디오 신호를 증폭해 주는 IC 입니다.
3번 핀에 가변저항을 이용하여 입력 Audio(음성) 신호가 입력이 되고 5번 핀 출력에 증폭이 되어 나오는 회로가 됩니다.
( 참고 : 1번 8번 핀에 콘덴서나 저항 등의 특별한 연결이 없을 경우 위 이미지에 표시 된 것 처럼 게인이 20 인 회로가 됩니다.
증폭도 구하는 식 : 20log(x) = 26 db (데시벨) , x = 19.9... 즉, 약20배 정도의 전압 증폭을 보여줍니다. 그리고 1, 번 8번 핀에 콘덴서를 달거나 콘덴서와 저항의 조합을 달게 되면 더 올라가게 됩니다. (26db는 IC를 제조한 회사에서 회로 데이터 시트를 다운받아 참고, Vs에 6v, 1kHz 전압의 경우) )
출력에 연결된 0.05uF과 10옴의 저항 회로는 출력 스피커에 의한 발진(진동)을 제거해 주는 역할 을 하게 됩니다(bypass) ,
그리고 오디오신호(음성등의 신호)와 함께 5V 직류전압이 같이 바이어스 되어 입출력이 되는데요, 신호를 증폭하고 난 후의 5V 전압은 출력에서 제거를 하고 오디오 신호만 출력해야 합니다. 그렇지 않을 경우 스피커가 과열되거나 해서 탈 수 있습니다. 그래서 콘덴서(여기서는 250uF)를 달아서 직류 전압성분을 제거 하는 역할 을 하게 됩니다. 250uF의 콘덴서는 f=1/2πRC, 8옴의 스피커일 경우 80Hz 까지의 저음을 들을 수가 있고 더 낮은 저역통과를 원하면 콘덴서 용량을 키워 주면 됩니다.
아래는 디바이스 마트 등에서 판매하는 모노 디지털 증폭모듈(lm386) 입니다.
'아두이노 > 1. 아두이노기초' 카테고리의 다른 글
【 아두이노 기초 】 #14 문자 LCD 제어 실습 I (0) | 2018.08.17 |
---|---|
【 아두이노 기초 】 #13 멜로디 출력 실습 II (0) | 2018.06.18 |
【 아두이노 기초 】 #11 FND 구동 실습 II (숫자 카운트 하기) (0) | 2018.06.12 |
【 아두이노 기초 】 #10 FND 구동 실습 I (0) | 2018.06.12 |
【 아두이노 기초 】 #09 시리얼 통신을 통한 I/O 구동 실습 (0) | 2018.06.11 |