Raspberry Pi に Beep音を実装する

Beep sound on Raspberry Pi

ラズパイにBeep音を実装したい。起動完了やアラート発生時にピッ・プーーと鳴らすのだ。

Hardware

Hardware PWMを利用した実装例です。

Schematic

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'])