当前位置: 首页 > news >正文

Arduino入门教程:9、蜂鸣器

飞书文档https://x509p6c8to.feishu.cn/docx/HQwUdLHm5oCNjvxQfEpcjibQn4g

一、应用场景

大部分的电子产品、家电(风扇、空调、电水壶)都会有蜂鸣器,用于提示设备的工作状态

二、原理

蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号。

蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器

有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定。

无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。

蜂鸣器有正负极,顶部印有+号的为正极,若蜂鸣器引脚没剪,则长的为正极。

三、接线图

NPN型三极管进行驱动,因为单片机的引脚驱动能力有限,蜂鸣器的功率比较大,所以需要通过三极管来驱动,R2为限流电阻,单片机引脚如果给高电平,则三极管导通,VCC便给蜂鸣器供电,如果给低电平,则三极管断开

四、参考代码

有源蜂鸣器(课程选择)

#include <Arduino.h>//蜂鸣器引脚
#define PIN_BUZZER 18void setup() 
{       pinMode(PIN_BUZZER, OUTPUT); 
}void loop()                    
{digitalWrite(PIN_BUZZER, HIGH);delay(2000);digitalWrite(PIN_BUZZER, LOW);delay(2000);     
}

无源蜂鸣器

PWM:脉冲宽度调制

#include <Arduino.h>//蜂鸣器引脚
#define PIN_BUZZER 18int freq = 2000;    //设置频率2000kHz
int channel = 0;    //通道号,取值0 ~ 15
int resolution = 8; //分辨率,取值0~20,占空比duty最大取值为2^resolution-1void setup() {Serial.begin(9600);//设置通道频率和分辨率ledcSetup(channel, freq, resolution);//将通道0与引脚15连接ledcAttachPin(PIN_BUZZER, channel);//输出指定音阶、音调ledcWriteNote(channel,NOTE_D,5);delay(3000);ledcWrite(channel, 0);
}void loop() {//设置通道频率ledcWriteTone(channel, 2000);//动态修改占空比for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle = dutyCycle + 10) {Serial.println(dutyCycle);ledcWrite(channel, dutyCycle);delay(1000);}//设置通道占空比 125/2^8 50%ledcWrite(channel, 125);//动态修改频率for (int freq = 255; freq < 10000; freq = freq + 250) {Serial.println(freq);ledcWriteTone(channel, freq);delay(1000);}
}

相关文章:

  • CppCon 2017 学习:CNL: A Compositional Numeric Library
  • Vue3 × DataV:三步上手炫酷数据可视化组件库
  • 机器学习 (ML) 基础入门指南
  • 李宏毅2025《机器学习》第一讲-生成式AI:技术突破和未来发展
  • 伪造GPS信号多种方式尝试-HackRF
  • 《MyBatis-Day02》
  • 将项目推到Github
  • 吉林大学软件工程章节测试答案-第八章
  • 《挑战你的控制力!开源项目小游戏学习“保持平衡”开发解析:用HTML+JS+CSS实现物理平衡挑战》​
  • 一篇文章快速学会CSS
  • Linux之线程概念与控制
  • 企业宣传PPT模版分享
  • 解决: React Native android webview 空白页
  • Docker基础理论与阿里云Linux服务器安装指南
  • 双因子认证如何让Windows系统登录更安全?SLA操作系统双因素认证解决方案深度解析
  • 裸金属服务器深度评测:云计算时代的性能与安全担当​​​​
  • 01、python实现matlab的插值算法,以及验证
  • 云原生安全
  • 操作系统期末复习--操作系统初识以及进程与线程
  • ios如何把H5网页变成主屏幕webapp应用
  • 江山做网站/关键词百度云
  • 信息系统推广方案/seo外包服务公司
  • 网站建设工具哪个好用/怎样建立个人网站
  • 做信息发布类网站/如何搭建一个网站
  • 做网站运营怎么样/深圳龙岗区优化防控措施
  • 网页设制作与网站建设宝典 pdf/seo数据是什么