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

Arduino平台软硬件原理及使用——无源蜂鸣器模块的使用

文章目录
一、蜂鸣器发声原理
二、无源蜂鸣器与有源蜂鸣器的区分
三、无源蜂鸣器模块在Arduino中的使用

一、蜂鸣器发声原理

在这里插入图片描述
上图为常见的不同封装及规格的蜂鸣器。

在这里插入图片描述
同蜜蜂、知了等昆虫发声原理一样,蜂鸣器同样靠振动来发出声音;
如上图为无源蜂鸣器的内部结构,振动片一般为压电陶瓷,当电源导通后,电能会通过压电陶瓷转化机械能,从而通过振动来发出声音。
在这里插入图片描述
上图为不同物种对于发声频率和听觉频率的不同,后文在使用无源蜂鸣器进行发声时,可参考人的听觉频率进行测试。

二、无源蜂鸣器与有源蜂鸣器的区分

有源及无源蜂鸣器
关于有源蜂鸣器无源蜂鸣器外观上的区别,其正面都是一样的,唯独底面一个由黑胶包裹,一个为裸露的电路板 ,正如以下实物图所示:
在这里插入图片描述
另外关于两者的使用区别也容易理解:

有源蜂鸣器只要通电即可连续发出声音,但音色无法改变;
无源蜂鸣器需要接在音频输出电路中才能使用,可以通过改变频率来改变音色

三、无源蜂鸣器模块在Arduino中的使用

蜂鸣器模块
如上无源蜂鸣器模块共有三个引脚:

VCC 接电源正极
GND 接电源负极
IO 接数字输出端口

无源蜂鸣器与Arduino
按照上图将无源蜂鸣器模块与Arduino进行连接,并完成以下程序:

//此程序用于测试无源蜂鸣器的使用
void setup() 
{pinMode(7,OUTPUT);  //设置蜂鸣器连接的7号端口为输出
}void loop() 
{tone(7,555);  //tone函数的作用为使蜂鸣器以指定频率发声//tone(端口号 ,发声频率);
}

程序中的“tone(7, 555)”作用为使得7号端口的蜂鸣器以555的频率发声;上传后,会发现蜂鸣器会持续发声,不妨改变一下程序,使得蜂鸣器可以像警报一样断断续续的发声:

//此程序可以使蜂鸣器间断性的发声
void setup() 
{pinMode(7,OUTPUT);  //设置蜂鸣器连接的7号端口为输出
}void loop() 
{tone(7,555);  //tone函数用于发声delay(300);  //延时300毫秒noTone(7);  //使7号端口的蜂鸣器停止发声delay(300);  //延时300毫秒
}

此程序又引入了“noTone(7)”,其作用为使7号端口的蜂鸣器停止发声,可以尝试改变发声的频率,并上传测试。

关于无源蜂鸣器模块的具体实例可参考文章——Arduino项目式编程教学第五章——激光报警装置

http://www.lryc.cn/news/377689.html

相关文章:

  • 【Go】用 DBeaver、db browser 和 SqlCipher 读取 SqlCipher 数据库
  • ROS操作过程中的报错
  • Qt项目学习-20240617
  • 加密好的WPSword文档,忘记密码怎么办?
  • C# WPF 读写CAN数据
  • 力扣2517.礼盒的最大甜蜜度
  • 多模块存储器
  • Windows反截屏开发实现
  • Android.mk的用法
  • android studio CreateProcess error=2, 系统找不到指定的文件
  • jQuery如何把单选框设置为选中状态
  • Mware Fusion Pro 13 mac版:一键掌控虚拟世界
  • PTA - 函数的定义与调用
  • Solr7.4.0报错org.apache.solr.common.SolrException
  • 从2-3-4树开始理解红黑二叉树(JAVA代码手撸版)
  • 模板类与继承
  • 随手记:uniapp图片展示,剩余的堆叠
  • 微服务迁移、重构最佳经验
  • 【Python】从0开始的Django基础
  • 红黑树(数据结构篇)
  • 高级视频编码器性能对比(H265、VP9、AV1)
  • 示例:WPF中DataGrid简单设置合并列头
  • Matlab图像处理——细胞图像的分割和计数显示
  • 六爻排盘神机
  • 【ARMv8/v9 GIC 系列 2.1 -- GIC SPI 中断的 pending 和 clear pending 配置】
  • SpringBoot集成logback初始化源码解析(部分)
  • 【Linux工具】yum软件包管理器与Vim编辑器的高效运用
  • Matlab数学建模实战应用:案例4 - 图像处理
  • Studying-代码随想录训练营day15| 222.完全二叉树的节点个数、110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和
  • Python 基础:异常