有源蜂鸣器模块播放声音


项目介绍

在这个套件中,有一个有源蜂鸣器模块,还有一个功放模块(原理相当于无源蜂鸣器)。在这个实验中,我们来学习尝试控制有源蜂鸣器发出声音。有源蜂鸣器元件内部自带震荡电路,使用时,我们只需要给蜂鸣器元件足够的电压,蜂鸣器就会自动响起。

模块参数

工作电压DC 3.3 ~ 5V
工作温度-10°C ~ +50°C
输入信号数字信号
尺寸32 x 23.8 x 12.3 mm
定位孔大小直径为 4.8 mm
接口间距为2.54 mm 3pin防反接口

模块原理图

有源蜂鸣器模块原理图

从原理图我们可以得知,蜂鸣器的1脚通过串联一个电阻R2连接到电压正极;蜂鸣器的2脚连接到NPN三极管Q1的C极,集电极;Q1的B极,也就是基极通过串联一个电阻R1连接到S信号端;发射集接到GND。

当三极管Q1导通时,蜂鸣器的2脚连通GND,有源蜂鸣器便会工作。那么如何让三极管Q1导通呢?NPN三极管的导通条件是基极(B)电压比发射极(E)电压高 0.3V 以上,只需要基极(B)被上拉至高电平即可。虽然三极管Q1的基极(B)有一个下拉电阻R3导致其不导通,但是R3电阻的阻值大,使其为弱下拉电阻。三极管Q1的基极(B)还连接了一个阻值小的强上拉电阻R1,只要我们用单片机IO口给S信号端输入高电平,强上拉电阻R1会将三极管Q1的基极(B)强上拉为高电平,三极管Q1就会导通,有源蜂鸣器就会工作。

实验组件

ESP32 Plus主板
ESP32 Plus主板 x1
Keyes 有源蜂鸣器模块
Keyes 有源蜂鸣器模块 x1
XH2.54-3P 转杜邦线母单线
XH2.54-3P 转杜邦线母单线 x1
USB线
USB线 x1

模块接线图

有源蜂鸣器模块接线图

代码

from machine import Pin
import time

buzzer = Pin(5, Pin.OUT)
while True:
    buzzer.value(1)
    time.sleep(1)
    buzzer.value(0)
    time.sleep(1)

实验结果

按照接线图正确接好模块,用USB线连接到计算机上电,单击 运行按钮 来执行程序代码。代码开始执行,模块上有源蜂鸣器响起1秒,停1秒,循环交替。

单击 停止按钮 或Ctrl+C退出程序

代码说明

代码说明
buzzer = Pin(5, Pin.OUT)定义蜂鸣器信号管脚为GPIO5,设置为输出模式。
buzzer.value(1)输出高电平,蜂鸣器响起。
buzzer.value(0)输出低电平,蜂鸣器停止。
time.sleep(1)延时1秒,实现蜂鸣器响1秒、停1秒的循环。