蜂鸣器分类及声音控制说明
一 、蜂鸣器的分类
有源蜂鸣器:
内部还有震荡电路(震荡源),可将恒定的直流电转化成一定频率的脉冲信号
无源蜂鸣器:
内部不带震荡源,直流信号无法令其鸣叫
二、驱动方式
1. 有源蜂鸣器
是直流电压驱动,不需要利用交流信号进行驱动,只需要对驱动口输出驱动电平并通过三极管放大驱动电流
2. 无源蜂鸣器
必须使用2K ~ 5K的方波进行驱动
1)PWM输出口输出一定的方波直驱蜂鸣器
2)IO口定时翻转电平来产生方波驱动蜂鸣器
对于无源蜂鸣器来说,一般是工作电压决定声声强,脉冲频率决定声调,各个厂家 的产品也有性能差异
单片机控制无源蜂鸣器参考文档:
https://tech.hqew.com/circuit_1171795
3.关于二者其他区别请查看文档:
有源蜂鸣器和无源蜂鸣器的区别_编程世界093的博客-CSDN博客
蜂鸣器扫盲,有源蜂鸣器和无源蜂鸣器区别
三、音调、响度和周期(频率)占空比的关系
- 音调和周期
频率高 = 音调高 = 周期小
音调固定 = 周期固定
2.响度和占空比
占空比大 = 响度大
一般影响蜂鸣器声音大小的物理属性都包括电压、线圈、支架,膜片等,有的时候甚至质量也会影响其音量。
四、Linux下 beep 控制说明
1.安装beep步骤
1)安装
sudo apt-get install beep
2)加载 pcspkr 模块
sudo modprobe pcspkr
3)检测是否以模块化加载成功
lsmod | grep pcspkr
4)指令测试是否响声(进入到beep所在目录)
cd /usr/bin/beep
beep -f 2300.7 -r 100 -d 710 -l 500
说明:pcspkr这个驱动应该被加入黑名单,可在一下路径查看
vi /etc/modprobe.d/blacklist.conf
2. beep源码
内部扬声器是控制台的一部分,所以它对应的设备文件为/dev/console。
变量KIOCSOUND在头文件 /usr /include /linux /kd.h中声明,
ioctl函数使用它可以来控制扬声器的发声,使用规则为:
ioctl ( fd, KIOCSOUND, (int) tone);
fd为文件设备号,tone 是音频值。当tone为0时,终止发声。必须一提的是它所 理解的音频和我们平常以为的音频是不同的,由于计算机主板定时器的时钟频率为 1.19MHZ,所以要进行正确的发声,必须进行如下的转换:扬声器音频值=1190000/我 们期望的音频值。扬声器发声时间的长短我们通过函数usleep(unsigned long usec)来 控制。它是在头文件/usr /include /unistd.h中定义的,让程序睡眠usec微秒。
3. 命令控制
cd /usr/sbin (cd到beep执行文件所在目录)
./beep -f 2300.7 -r 100 -d 710 -l 500
参数说明:
-f beep的频率
-r beep的重复次数
-d 两次重复间隔延时为多少毫秒
-l beep多久时间
-s和-c表示beep时需从stdin读取,s表示每读一行,c表示每读一字符
-verbose或-debug选项开启调试信息输出功能;
-e device或-device device选项设定event设备,未指定则尝试/dev/tty0和/dev/vc/0两设备
参考文档: Shell命令控制蜂鸣器发声_shell 声音_小猪快点跑的博客-CSDN博客
Shell命令控制蜂鸣器发声-百度经验
4.抓取不同频率下的蜂鸣器波形图
beep -f 300.7
beep -f 1300.7
蜂鸣器分类及声音控制说明相关推荐
- FPGA(4)晶振与计数器 -- 实现定时器(led定时闪烁、蜂鸣器频率控制(单响)、蜂鸣器报警(频带控制,多响))
目录 一.FPGA的晶振与定时器 二.定时器(led闪烁.蜂鸣器频率控制) 1.时钟上升沿.复位下降沿触发 2.复位,计数器清零 3.计数满1s时,计数器清零 4-1.led闪烁(每秒) 4-2.蜂鸣 ...
- python 控制系统音量_pygame学习笔记(4):声音控制
pygame.mixer是一个用来处理声音的模块,其含义为"混音器".游戏中对声音的处理一般包括制造声音和播放声音两部分,这里仅学习了播放声音部分. 1.pygame.mixer启 ...
- Flash MX as 声音控制分解
教程前言: FLASH声音被广泛应用在网页.MTV.片头等FLASH动画当中.一段美好的音乐会给你的动画添加更多的精彩.声音的控制便成了必不可少的部分.本教程为大家从基础知识.简单示例到最后的实例制作 ...
- unity游戏开发入门-声音控制游戏
声音控制游戏中人物的移动,关键在于声音的传入,这里关机键在于使用了Microphone 怎么使用呢?下面给一段我编写的声音传入的代码:(关键处已被标识) using System.Collection ...
- webrtc c++(二) webrtc音频操作麦克风录音与播放,声音控制
由于新版本的webrtc工程太过于庞大,有一千读个工程,对于理解源码很不方便,所以以后都采用老版本的webrtc,以方便理解,这个版本有一百多个工程,相对于最新的工程要小很多 webrtc源码 下载 ...
- AS3 声音控制学习
AS3中与声音控制有关的类有以下几个: 类 说明 1 Sound Sound类允许您在应用程序中使用声音. 2 SoundChannel SoundChannel类控制应用程序中的声音. 3 So ...
- Android 8.1/9.0 MTK Camera源码分析之录像快门声音控制流程
前面已经针对拍照快门声音控制流程进行了分析,接下来分析一下录像快门声音的控制流程. Android 8.1/9.0 MTK Camera源码分析之快门声音控制流程 这两篇文章其实都是相对于手机系统RO ...
- Windows和Linux下的系统声音控制
简介 项目中需要在windows和linux系统下对系统的声音进行控制,相关操作包括获取系统的音量,设置系统的音量,获取系统的静音状态和静音,特此记录相关的C++实现. 主要涉及的系统有windows ...
- Android中的声音控制
先说几个概念,第一个是Audio Stream, Audio Stream可以认为是一个可以单独进行声音控制的通道.music,alarm,notification,电话铃声,系统声音等等都有自己独立 ...
最新文章
- SparkSQL(Spark-1.4.0)实战系列(一)——DataFrames基础
- Net编程 详解DataTable用法【转】
- C语言拾零(to be continued)
- 编程之美-寻找发帖“水王”方法整理
- TypeError: 'function' object is not subscriptable
- Go gin运行原理
- opencv学习笔记12:图像腐蚀和图像膨胀
- 05 Linux快速安装 Oracle11g
- getElementByClassName()不兼容的解决办法
- 线性调频信号(LFM)的形式及幅度谱、相位谱特性
- C++学习之路 | PTA乙级—— 1025 反转链表 (20分)(精简)
- Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法
- 中国银行外币汇率查询
- 21-nginx单机1W并发优化
- 通过CSS美化Web页面
- latex 输入下划线_
- mysql 少用in_mysql查询条件not in 和 in的区别及原因说明
- 小程序数据框有重影_微信小程序input重影什么原因?怎么解决重影?
- 红豆 2022年3月16日
- 解决关于腾讯会议黑屏问题(ThinkpadE420型号)