【雕爷学编程】Arduino动手做(149)---MAX9814咪头传感器模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百四十九:MAX9814麦克风放大器模块 MIC话筒声音放大/咪头传感器

在这里插入图片描述
在这里插入图片描述
CMA-4544PF-W

电容式麦克风

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

电容式话筒

是利用电容大小的变化,将声音信号转化为电信号.这种话筒最为普遍,常见的录音机内置话筒就这种.因为它便宜,体积小巧,而且效果也不差.有时也叫咪头。

电容式麦克风有两块金属极板,其中一块表面涂有驻极体薄膜(多数为聚全氟乙丙烯)并将其接地,另一极板接在场效应晶体管的栅极上,栅极与源极之间接有一个二极管,如图所示。当驻极体膜片本身带有电荷,表面电荷地电量为Q,板极间地电容量为C,则在极头上产生地电压U=Q/C,当受到振动或受到气流地摩擦时,由于振动使两极板间的距离改变,即电容C改变,而电量Q不变,就会引起电压的变化,电压变化的大小,反映了外界声压的强弱,这种电压变化频率反映了外界声音的频率,这就是驻极体传声器地工作原理。

电容式麦克风优点

1、能将声音直接转换成电能讯号的

电容式麦克风是利用导体间的电容充放电原理,以超薄的金属或镀金的塑料薄膜为振动膜感应音压,以改变导体间的静电压直接转换成电能讯号,经由电子电路耦合获得实用的输出阻抗及灵敏度设计而成。

2、能展现原音重现的特性

音响专家以追求『原音重现』为音响的最高境界!从麦克风的基本设计原理分析,不难发现电容式麦克风不仅靠精密的机构制造技术,而且结合复杂的电子电路,能直接将声音转换成电能讯号,先天上就具有极优越的特性,所以成为追求『原音重现』者的最佳选择。

3、具有极为宽广的频率响应

振动膜是麦克风感应声音及转换为电能讯号的主要组件。振动膜的材质及机构设计,是决定麦克风音质的各项特性。由于电容式麦克风的振动膜可以采用极轻薄的材料制成,而且感应的音压,直接转换成音频讯号,所以频率响应低音可以延伸到10Hz以下的超低频,高音可以轻易的达到数十KHz的超音波,展现非常宽广的频率响应特性!

4、具有超高灵敏度

在振动膜上面因为没有音圈的负载,可以采用极为轻薄的设计,所以不但频率响应极为优越,而且具有绝佳的灵敏度,可以感应极微弱的声波,输出最清晰、细腻及精准的原音!

5、快速的瞬时响应特性

振动膜除了决定麦克风的频率响应及灵敏度的特性外,对声波反应快慢的能力,即所谓「瞬时响应」特性,是影响麦克风音色的一个最重要因素。麦克风瞬时响应特性的快慢,决定于整个振动膜的轻重,振动膜越轻,反应速度就越快。电容式音头极为轻薄的振动膜,具有极快速的瞬时响应特性,能展现清晰、明亮而有劲的音色及精准的音像。尤其中、低音完全没有音染及『箱音』,高音细腻而清脆,是电容式最显著的音色特点。由下面的附图可明显看出电容式音头的瞬时响应特性远优于动圈式。

6、具有超低触摸杂音的特性

使用手握式麦克风时因与手掌接触产生的触摸杂音,让原音混杂了额外的噪音,对音质影响至巨,尤其对具有前置放大电路的无线麦克风更严重,所以触摸杂音成为评断麦克风优劣的重要项目。从物理现象探讨,鹅毛与铜板同样掉到地板上,鹅毛几乎听不到掉落的声音,而铜板就很大声,显示较轻的材料比较重的撞击声小。同理,电容式麦克风的振动膜比较轻,先天上就具有『超低触摸杂音』的绝佳特点。

7、具有耐摔与耐冲击的特性

使用麦克风难免因不慎掉落碰撞导致故障或异常。由于电容式音头是由较轻的塑料零件及坚固的轻金属外壳构成,掉落地面的撞击力较小,损坏的故障率较低。

8、体积小、重量轻

电容式麦克风因采用超薄的振动膜,具有体积小、重量轻、灵敏度高及频率响应优越的特点,所以能设计成超小型麦克风(俗称小蜜蜂及小蚂蚁)广泛的应用

9、最适合装配在无线麦克风上

电容式麦克风具有上述绝佳的特点,成为音响工程专家及演唱高手的最爱,而无线麦克风在舞台演唱或在家里唱卡拉OK,已经成为当今世界的趋势,无线麦克风因本身可以提供电容式音头所需的偏压,而拥有电容式麦克风的全部优点,成为数字音响时代,专业音响行家梦寐以求的最佳麦克风。

电容式麦克风缺点

结构复杂、造价昂贵,音膜脆弱,怕潮,名贵型号都用真空防潮箱保存,难以推广。

在这里插入图片描述
MAX9814芯片

是美信公司出品的带AGC控制的麦克放大模块,很适于各种麦克放大和控制电路的前置部分,外围只要10个以内的元件,就能满足一般使用者的需要,麦克放大在0-8米的距离,保证输出电平保持近似一致。是很好的简单代替复杂麦克控制电路的代表之作。

在这里插入图片描述
MAX9814是一款低成本,高质量的麦克风放大器,具有自动增益控制(AGC)和低噪声麦克风偏置。该器件具有一个低噪声前置放大器,可变增益放大器(VGA),输出放大器,麦克风偏置电压发生器和AGC控制电路。

低噪声前置放大器具有固定的12dB增益,而VGA增益则根据输出电压和AGC阈值自动从20dB调整至0dB。输出放大器提供8dB,18dB和28dB的可选增益。在没有压缩的情况下,放大器的级联会导致总增益为40dB,50dB或60dB。三级数字输入对输出放大器的增益进行编程。外部电阻分压器控制AGC阈值,单个电容器设定启动/释放时间。三级数字输入可设定起效时间与释放时间的比率。AGC的保持时间固定为30ms。低噪声麦克风偏置电压发生器可以使大多数驻极体麦克风偏置。

MAX9814采用节省空间的14引脚TDFN封装。该器件的额定温度范围为-40°C至+ 85°C。

在这里插入图片描述
在这里插入图片描述

MAX9814主要特征
自动增益控制(AGC)
三种增益设置(40dB,50dB,60dB)
可编程攻击时间
可编程的攻击和释放比率
2.7V至5.5V电源电压范围
30nV /的低输入参考噪声密度
低总谐波失真(THD):0.04%(典型值)
低功耗关机模式
内部低噪声麦克风偏置,2V
采用节省空间的14引脚TDFN(3mm×3mm)封装
-40°C至+ 85°C扩展温度范围

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MAX9814麦克风放大器模块
MAX9814是一款低成本高性能麦克风放大器,具有自动增益控制(AGC)和低噪声麦克风偏置。器件具有低噪声前端放大器、可变增益放大(VGA)、输出放大器、麦克风偏置电压发生器和AGC控制电路。
●自动增益控制(AGC)
●3种增益设置(40dB、50dB、60dB)
●可编程动作时间
●可编程动作和释放时间比
●电源电压范围2.7V~5.5V
●低THD:0.04% (典型值)
●低功耗关断模式
●内置2V低噪声麦克风偏置

在这里插入图片描述
MAX9814麦克风放大器模块电原理图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Arduino实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百四十九:MAX9814麦克风放大器模块 MIC话筒声音放大/咪头传感器项目测试:串口输出人声波形模块接线:MAX9814 ArduinoVCC    5VGND    GNDOUT     A0*/void setup() {Serial.begin(9600);pinMode(A0,INPUT); }void loop() {Serial.println(analogRead(A0));delay(100);}

项目测试:串口输出人声波形
模块接线:
MAX9814 Arduino
VCC 5V
GND GND
OUT A0

在这里插入图片描述

在这里插入图片描述
来自放大器输出的音频信号是变化的电压。要测量声级,我们需要进行多次测量以找到信号的最小和最大范围或“峰到峰幅度”。

在下面的实验中,我们选择50毫秒的示例窗口。这足以测量低至20 Hz(人类听觉的下限)频率的声音水平。

找到最小和最大样本后,我们计算差值并将其转换为伏特,然后将输出打印到串行监视器。

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百四十九:MAX9814麦克风放大器模块 MIC话筒声音放大/咪头传感器项目测试之二:测量声级模块接线:MAX9814 ArduinoVCC    5VGND    GNDOUT     A0*/const int sampleWindow = 50; // 以mS为单位的采样窗口宽度(50 mS = 20Hz)  unsigned int sample;void setup() {Serial.begin(9600);pinMode(A0,INPUT); }void loop() {unsigned long startMillis= millis(); // 样本窗口的开始 unsigned int peakToPeak = 0;  // 峰峰值unsigned int signalMax = 0;unsigned int signalMin = 1024;// collect data for 50 mSwhile (millis() - startMillis < sampleWindow){sample = analogRead(A0);if (sample < 1024) // 抛出错误的读数{if (sample > signalMax){signalMax = sample; // 只保存最大级别}else if (sample < signalMin){signalMin = sample; // 仅保存最低级别}}}peakToPeak = signalMax - signalMin; // max-min =峰峰值幅度double volts = (peakToPeak * 5.0) / 1024; // 转换为伏特Serial.println(volts);}

项目测试之二:测量声级

实验串口返回情况

在这里插入图片描述
在这里插入图片描述
修改为

double volts = (peakToPeak * 5.0) / 255;  // 转换为1/4伏特值

在这里插入图片描述
项目测试之三:简易测量声级(输出毫伏)

Arduino实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百四十九:MAX9814麦克风放大器模块 MIC话筒声音放大/咪头传感器项目测试之三:简易测量声级(输出毫伏)模块接线:MAX9814 ArduinoVCC    5VGND    GNDOUT     A0*/const int sampleWindow = 50; // 以mS为单位的采样窗口宽度(50 mS = 20Hz)unsigned int sample;void setup(){Serial.begin(9600);pinMode(A0, INPUT);}void loop(){unsigned long startMillis = millis(); // 样本窗口的开始unsigned int peakToPeak = 0;  // 峰峰值unsigned int signalMax = 0;unsigned int signalMin = 1024;// 收集 50 毫秒的数据while (millis() - startMillis < sampleWindow){sample = analogRead(A0);if (sample < 1024) // 抛出错误的读数{if (sample > signalMax){signalMax = sample; // 只保存最大级别}else if (sample < signalMin){signalMin = sample; // 仅保存最低级别}}}peakToPeak = signalMax - signalMin; // max-min =峰峰值幅度double volts = (peakToPeak * 5.0 * 1000) / 1024; // 转换为mVSerial.print("声级mV= ");Serial.println(volts);}

实验串口绘图器返回情况之一

在这里插入图片描述
实验串口绘图器返回情况之二(当中低点区为无讲话人声时的声级)

在这里插入图片描述
Arduino实验场景图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7467.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker框架02docker的安装

01.这次的docker是在centos版本下的Linux系统中安装的。 02.输入命令 01.先去卸载就得版本 02.安装工具包&#xff0c;和设置镜像仓库 03.由于网络的问题&#xff0c;访问国内的阿里云镜像 修改&#xff1a; 04.更新索引和安装社区版的docker 05.启动docker 06.用命令d…

postman不能进行并发测试

1.按照网上文档的配置 2.在登录接口里睡眠5s&#xff0c;如果是并发的话&#xff0c;所有的请求都会一起睡眠5s 3.测试结果&#xff1a;请求是每隔5s串行执行的

Microsoft遭遇DDoS攻击,3000万客户数据遭窃

6月初&#xff0c;微软部分服务遭遇严重中断&#xff0c;包括Outlook电子邮件、OneDrive文件共享应用程序和云计算基础设施Azure。 一个名为”匿名苏丹”的(又名“风暴-1359”)的组织声称对此次DDoS攻击负责。 匿名苏丹组织自2023年1月以来一直活动频繁&#xff0c;声称其目标…

反向代理缓存服务器 Squid 、Nginx、CDN部署讲解

目录 一、Squid 反向代理1.1 概念1.2 工作机制1.3 搭建 二、 Nginx 反向代理缓存 一、Squid 反向代理 1.1 概念 如果 Squid 反向代理服务器中缓存了该请求的资源&#xff0c;则将该请求的资源直接返回给客户端&#xff1b;否则反向代理服务器将向后台的 Web 服务器请求资源&a…

pytorch 的matmult()函数详解

torch.matmul()也是一种类似于矩阵相乘操作的tensor连乘操作。但是它可以利用python中的广播机制&#xff0c;处理一些维度不同的tensor结构进行相乘操作。 matmul 就是矩阵求 叉乘 如果是二维矩阵&#xff0c;两个矩阵的大小应该为m*n &#xff0c;n*m。 一维向量的乘积&…

数据结构之队列

1.队列的定义 队列(Queue)&#xff1a;也是一种运算受限的特殊线性表。其插入和删除操作分别在线性表的两端进行&#xff08;只允许在表的一端进行插入&#xff0c;而在另一端进行删除&#xff09;。允许删除的一端称为队头(front)&#xff0c;允许插入的一端称为队尾(rear) …

python读取广州-湛江天气csv文件并做可视化仪表盘

1.读取广-湛.csv文件 import pandas as pd data pd.read_csv(广-湛天气.csv) data 2.去除多余字符 #去除多余字符 data[[最高温度,最低温度]] data[[最高温度,最低温度]].apply(lambda x: x.str.replace(,).replace(, 0)) data.head() 3.删除2023年数据,并计算平均温度保存到…

全网最全,Pytest自动化测试框架 assert 断言使用实战,快速通关

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Pytest与Unittest…

如何让小家电带电池设备快速充满电

如今随着这几年的USB-C PD适配器的普及&#xff0c;消费者手上的PD协议适配器越来越普遍&#xff0c;如何让微软surface 充电器线支持使用PD适配器快充呢&#xff1f;不妨加入一颗受电端PD协议取电芯片——LDR6015 就可以打造一根 PD电源线适配pro7/6/5/4/laptop/book/go Type-…

8.OpenCV-识别身份证号码(Python)

需求描述&#xff1a; 通过OpenCV识别身份证照片上的身份证号码&#xff08;仅识别身份证号码&#xff09; 实现思路&#xff1a; 1.将身份证号中的0,1,2,3,4,5,6,7,8,9作为模板&#xff0c;与身份证照片中的身份证号码区域进行模板匹配。 2.先要制作一个身份证号码模板&am…

基于Ant DesignPro Vue + SpringBoot 前后端分离 - 后端微服化 + 接口网关 + Nacos + Sentinel

基于Ant DesignPro Vue SpringBoot 前后端分离 - 后端微服化 接口网关 Nacos Sentinel 通过Ant DesignPro Vue SpringBoot 搭建的后台管理系统后&#xff0c;实现了前后端分离&#xff0c;并实现了登录认证&#xff0c;认证成功后返回该用户相应权限范围内可见的菜单。 后…

2. 计算点到平面的投影

参考 https://www.cnblogs.com/nobodyzhou/p/6145030.html 所以用各种平面提取算法后&#xff0c;得到的平面方程, 注意此处的平面方程abcd已经是归一化了。 a x b y c z d 0 ax by cz d 0 axbyczd0 此时的原点到该平面点的投影点为 C P ( − a d , − b d , − c …