Beep sound on Raspberry Pi
ラズパイにBeep音を実装したい。起動完了やアラート発生時にピッ・プーーと鳴らすのだ。
Hardware
Hardware PWMを利用した実装例です。
Schematic
BOM
Name | Type | Spec. |
---|---|---|
Piezo sounder | Murata PKM13EPYH4000-A0 | Dia.13mm, t6.9mm, 30Vp-p max. |
Transister | Rohm DTC143E | NPN Digital Tr. Rb=4.7kΩ, Rbe=4.7kΩ |
Resister | Carbon film | 10kΩ 0.1W |
Software
Hardware PWMを利用した実装例です。
Source code
python3 PIGPIOモジュールを使用しました。beep(0) でピポッです。
これから動作確認します。(^^;)
import pigpio
BEEP_PORT = 13
BEEP_DUTY = 500000
pi = pigpio.pi()
def beep(pattern_id=0):
BEEP_PATTERN = [
{
'tone': [
{
'freq': 2000,
'time': 0.2
},
{
'freq': 1000,
'time': 0.2
},
{
'freq': 0,
'time': 0.0
},
]
},
{
'tone': [
{
'freq': 2500,
'time': 0.1
},
{
'freq': 0,
'time': 0.0
},
]
},
]
tones = BEEP_PATTERN[pattern_id]['tone']
for tone in tones:
pi.hardware_PWM(BEEP_PORT, tone['freq'], BEEP_DUTY) # port, fpwm[Hz], duty[ppm]
time.sleep(tone['time'])