210| 7
|
[项目] 【花雕学编程】Arduino动手做(232)--ESP32S3-CAM 报警蜂鸣器 |
无源蜂鸣器是一种需要外部驱动信号才能发声的电子元件。与有源蜂鸣器不同,无源蜂鸣器内部没有振荡电路,因此需要通过外部提供的方波信号来驱动。 1、工作原理: 无源蜂鸣器的发声原理类似于扬声器。通过给音圈接入交变电流,形成电磁铁与永磁铁的相互作用,推动振膜发声。接入直流电只能持续推动振膜,无法产生声音。 2、驱动方式: 无源蜂鸣器需要外部提供一定频率的方波信号来驱动。通过改变方波的频率,可以控制蜂鸣器发出不同的音调。这使得无源蜂鸣器可以用于播放简单的音乐。 3、频率与音调: 无源蜂鸣器的声音频率可调。通过改变输入信号的频率,可以实现不同的音调。例如,常见的音符频率对照表可以帮助你生成特定的音调。 4、应用场景: 无源蜂鸣器广泛应用于各种电子设备中,如计算机、报警器、电子玩具等。由于其声音频率可控,适用于需要发出特定音调的场合。 5、模块优点: 无源蜂鸣器通常比有源蜂鸣器便宜,且声音频率可控,可以实现多种音效。此外,在某些情况下,无源蜂鸣器可以与LED复用一个控制口,节省资源。 |
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块 OV2640/5640摄像头模组 {花雕动手做}项目之十九:使用ESP32-S3-CAM WROOM N16R8驱动报警器 实验开源代码
|
代码解读: 1、定义常量:
这里定义了蜂鸣器和按钮连接的引脚,以及使用的PWM通道。PIN_BUZZER表示蜂鸣器连接的GPIO引脚,PIN_BUTTON表示按钮连接的GPIO引脚,CHN表示使用的PWM通道。 2、初始化设置:
在setup函数中,设置按钮引脚为输入模式,蜂鸣器引脚为输出模式。使用ledcAttachChannel函数将蜂鸣器引脚连接到PWM通道,并使用ledcWriteTone函数以2kHz的频率发声0.3秒。 3、主循环:
在loop函数中,检查按钮的状态。如果按钮被按下(读取到低电平),则调用alert函数;否则,停止蜂鸣器发声。 4、报警函数:
alert函数生成一个频率变化的声音。通过计算正弦值来改变声音频率,形成一个类似警报的声音效果。循环从0度到360度,每次增加10度,计算正弦值并相应调整蜂鸣器的频率。 5、PWM控制: 使用ledcAttachChannel和ledcWriteTone函数实现PWM控制。ledcAttachChannel函数将引脚连接到PWM通道,ledcWriteTone函数设置PWM信号的频率。通过这种方式,可以精确控制无源蜂鸣器的发声频率,实现复杂的声音效果。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed