一、产品简介
蜂鸣器是一种将音频信号转化为声音信号的发音器件传感器,通过利用压电效应原理,当对其施加交变电压时产生机械振动。应用场景:在家用电器、电子玩具、游戏机等场景下都得到普遍应用,通过设置不同的频率,蜂鸣器能发出音乐声、汽笛声、报警声、各种铃声等不同的声音。
蜂鸣器一般分有源和无源两种类型,本章节主要讲无源蜂鸣器。
引脚定义
- VCC:电源正(3V3/5V);
- GND:电源地;
- I/O:PWM驱动;
其中无源蜂鸣器 I/O必须是PWM信号(2K~5K的方波)才能驱动,直流信号无法驱动。
二、技术参数
- 供电范围:3V3 ~ 5V
- 驱动:采用S8550三极管
- PWM控制信号:2K~5K
- 驱动板尺寸:33mm * 13mm
三、软件接口
BUZZER - 创建蜂鸣器驱动对象
- 函数原型
BUZZERObj = BUZZER(PWMObj)
- 参数说明
该方法初始化一个蜂鸣器对象,用于蜂鸣器的控制。
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
PWMObj | PWM | 是 | 传入PWM对象 |
- 返回值
若BUZZER对象创建成功,返回BUZZER对象;否则抛出Exception
- 示例代码
from machine import PWM, Pin
from buzzer import BUZZER
pwmObj = PWM(Pin(2))
buzzerObj = BUZZER(pwmObj)
start(freq,duty) - 驱动蜂鸣器
- 函数功能:
驱动蜂鸣器按指定的频率发生。
- 函数原型:
buzzerObj.start(freq,duty)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
freq | int | 是 | 方波频率 |
duty | int | 是 | 方波占空比 |
- 返回值:
无
stop() - 暂停蜂鸣器
- 函数功能:
蜂鸣器停止。
- 函数原型:
buzzerObj.stop()
- 参数说明:
无
- 返回值:
无
四、接口案例
- 案例代码
from machine import PWM, Pin
from buzzer import BUZZER
import utime
pwmObj = PWM(Pin(2))
buzzerObj = BUZZER(pwmObj)
while(True):
buzzerObj.start(2000,80)
utime.sleep(5)
buzzerObj.start(2500,80)
utime.sleep(5)
buzzerObj.stop()
utime.sleep(5)
参考文献
[1] 蜂鸣器购买链接