【史上最全面esp32教程】蜂鸣器篇(是噪声还是音乐?)

简介: 【史上最全面esp32教程】蜂鸣器篇(是噪声还是音乐?)

前言

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。

蜂鸣器用的好就是音乐,用的不好,就会变成一个噪音。所以大家这节课要好好学。


提示:以下是本篇文章正文内容,下面案例可供参考


步骤

将蜂鸣器的正极接到ESP32开发板的GPIO口,负极接到GND口。

使用ESP32的Arduino IDE编写代码,将GPIO口设置为输出模式,并将其设置为高电平,以便控制蜂鸣器。

上传代码到ESP32开发板,蜂鸣器就会发出声音。


Beep函数

引脚说明:

连接指定pin脚到Beep的引脚上。

Beep是通过电平的反转来实现发声的。

反转是什么意思:就是一个时间段内从高电平到低电平再到高电平的一个过程,在C语言中这样表示:

char status = 0;
while(1)
{
  status = !status;
}

delayMicroseconds延时微秒函数

delayMicroseconds(us)

其他的在上节LED是一样的,Beep的引脚模式为OUTPUT。

如果你忘记的,请看【史上最全面esp32教程】点灯大师篇

蜂鸣器响:

#define beep_pin  33
char g_i=0;
void setup() {
  pinMode(beep_pin, OUTPUT);//设置引脚为输出模式
}
void loop() {
  g_i=!g_i;
  digitalWrite(beep_pin,g_i);//引脚输出电平翻转
  delayMicroseconds(250);//延时250us
}

我们通过改变delayMicroseconds延时的时间可得知,延时越大,电平翻转的越慢,声音越低。反之亦然。

无源蜂鸣器和有源蜂鸣器

区分:

有贴纸的:有源蜂鸣器

无贴纸的:无源蜂鸣器

在PWM里面我们会讲如何控制他使用指定的频率。

结论

使用ESP32控制蜂鸣器是一件很容易的事情,只需要几个简单的步骤就可以完成。此外,ESP32还可以控制其他外设,为用户提供更多的功能。


相关文章
|
IDE 物联网 开发工具
【史上最全面esp32教程】点灯大师篇
【史上最全面esp32教程】点灯大师篇
875 0
|
异构计算
手把手教你做一个相机红外遥控器
手把手教你做一个相机红外遥控器
346 0
手把手教你做一个相机红外遥控器
|
3月前
|
vr&ar C# 图形学
从零开始的PICO开发教程(4)-- VR世界 射线传送、旋转和移动
这篇文章是PICO开发系列教程的第四部分,详细介绍了在VR世界中实现射线传送、视角旋转和人物移动的方法,包括使用Teleportation组件进行区域传送和锚点传送,通过Snap Turn Provider组件实现视角快速旋转,以及创建PlayControl脚本来控制人物移动,并通过手柄与脚本组件的交互来增强VR体验。
|
6月前
|
存储
【期末不挂科-单片机考前速过系列P3】(第三章:13题MOV&MOVX&MOVC&数码管速过)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P3】(第三章:13题MOV&MOVX&MOVC&数码管速过)经典例题盘点(带图解析)
|
5月前
|
图形学
【unity实战】FPS实现拾取和丢弃枪
【unity实战】FPS实现拾取和丢弃枪
33 0
|
传感器 Linux 开发工具
开源项目-十六进制协议传感器自适应缩放曲线显示终端(百问网imx6ull & 小熊派结合)
开源项目-十六进制协议传感器自适应缩放曲线显示终端(百问网imx6ull & 小熊派结合)
93 0
|
芯片
点灯大师--IMX.6ULL阿尔法开发板点灯的步骤和五种方式(下)
点灯大师--IMX.6ULL阿尔法开发板点灯的步骤和五种方式
138 0
点灯大师--IMX.6ULL阿尔法开发板点灯的步骤和五种方式(下)
|
安全
【史上最全面esp32教程】激超声波模块测距篇
【史上最全面esp32教程】激超声波模块测距篇
730 0
|
API
点灯大师--IMX.6ULL阿尔法开发板点灯的步骤和五种方式(上)
点灯大师--IMX.6ULL阿尔法开发板点灯的步骤和五种方式
191 0
【史上最全面esp32教程】oled显示篇
【史上最全面esp32教程】oled显示篇
1307 0