====== AN31005 - 사운드(경고음)발생 ======
간단한 키 터치 음에서부터, 동작 개시음, 비상경보 음을 발생시키는 방법에 대하여 알아보겠습니다.
큐블록에서 PWM 채널을 이용해서 소리를 만드는 방법과 일반 I/O 포트를 이용해서 소리를 만드는 방법이 있습니다.
소리를 발생시키는 소자로 PIEZO 또는 스피커를 사용합니다. 스피커를 사용할 때에는 아래와 같이 콘덴서하나를 직렬로 연결해주세요.
{{ :cublocapp:an31005:speaker.png?nolink |}}
CB220/CB280 에서 I/O 포트 5 번은 PWM 0 번 채널이므로 간단하게 Freqout 명령만으로 소리를 만들 수 있습니다.
Const Device = CB280
Low 5
Freqout 0,5236 '440Hz 의 주파수를 발생
Delay 500 '일정시간을 유지
Pwmoff 0 '파형출력 멈춤
Const Device = CB280
Low 5
Freqout 0,4403
Delay 200
Freqout 0,3703
Delay 200
Freqout 0,3114
Delay 200
Freqout 0,2202
Delay 200
Pwmoff 0
Const Device = cb280
Dim PLAYSTR As String
Low 5
PLAYSTR = "G5E3E3G3E3C5"
PLAY 0,PLAYSTR
Do
Loop
End
Sub PLAY(CH As Byte,NOTE As String)
Dim PL As Byte
Dim CHAR As Byte
Const Integer PLAYTABLE = (5236,4665,4403,3923,3495,3299,2939,
2618,2333,2202,1961,1747,1649,1469,0)
For PL=1 To Len(NOTE) Step 2
CHAR = Asc(Mid(NOTE,PL,1)) - &H41
Freqout CH,PLAYTABLE(CHAR)
CHAR = Asc(Mid(NOTE,PL+1,1)) - &H30
Delay CHAR*100
Next
Pwmoff CH
End Sub
* 위 소스 프로그램을 선택한뒤 ctrl+c로 카피해서, CUBLOC STUDIO에 ctrl+v하면 소스를 그대로 카피할 수 있습니다.