基于CW32的MAX4466(放大器)麦克风模块的应用

1.max4466是一款低噪声、高增益的放大器模块。该模块采用了集成放大器芯片,能够在低电压下提供高增益。它的输入阻抗较高,能够与多种信号源(例如麦克风、传感器)实现良好的匹配。同时,max4466还具备很低的噪声水平,能够有效地提取和放大微弱的信号,提高系统的灵敏度。max4466模块的应用场景包括但不限于以下几个方面:
音频处理:可以作为音频信号的前置放大器,将低电平的音频信号放大到适合后续处理的水平,如音乐播放、语音识别、语音通信等。
声音检测与分析:结合麦克风等音频传感器,可以实现声音的检测、分析和识别,如声音传感器、语音识别设备等。
无线通信:可以用于接收无线通信模块的输入信号,对其进行放大,以提高通信距离和信号质量。
2.本实验使用到了cw32f030c8小蓝板、max4466模块、led交通信号灯模块、0.96寸oled显示屏、keil5开发环境及vofa+上位机软件。
cw32f030c8小蓝板
max4466模块
实物(俯视)
实物(正视)
【单片机与max4466连线】:3.3v--vcc
gnd---gnd
pa0---out
【单片机与oled屏连线】: gnd---gnd
3.3v--vdd
pb8--sck
pb9--sda
【单片机与led灯连线】: gnd--gnd
pc15--r
pc14--y
pc13--g
核心代码
adc.c#include adc.h#include main.h#include delay.h void adc_configuration(void) { adc_singlechtypedef adc_singleinitstruct; __rcc_adc_clk_enable(); // adc时钟使能 __rcc_gpioa_clk_enable(); //gpioa使能 pa00_analog_enable(); adc_singleinitstruct.adc_chmux = adc_exinputch0; //pa00 通道0 adc_singleinitstruct.adc_initstruct.adc_accen = adc_accdisable; //转换结果累加不使能 adc_singleinitstruct.adc_initstruct.adc_align = adc_alignright; //adc转换结果右对齐 adc_singleinitstruct.adc_initstruct.adc_clkdiv = adc_clk_div16; //pclk adc_singleinitstruct.adc_initstruct.adc_dmaen = adc_dmadisable; //关闭dma传输 adc_singleinitstruct.adc_initstruct.adc_inbufen = adc_bufenable; //开启跟随器 adc_singleinitstruct.adc_initstruct.adc_opmode = adc_singlechonemode;//单通道单次转换模式 adc_singleinitstruct.adc_initstruct.adc_sampletime = adc_samptime10clk; //10个adc时钟周期 adc_singleinitstruct.adc_initstruct.adc_tsen = adc_tsdisable; //内置温度传感器禁用 adc_singleinitstruct.adc_initstruct.adc_vrefsel = adc_vref_vdda; //vdda参考电压 adc_singlechonemodecfg(&adc_singleinitstruct); //开始转换 adc_enable(); // 使能adc adc_softwarestartconvcmd(enable); //转换使能} uint16_t get_data(void) //adc数据采集{ unsigned int temp_dat_adc = 0; adc_softwarestartconvcmd(enable); //开始转换 while(adc_getitstatus(adc_it_eoc)) { adc_clearitpendingbit(adc_it_eoc); //清除标志位 temp_dat_adc=adc_getconversionvalue();//电压采集 } return temp_dat_adc;} uint16_t cal_average_data(void){ float dat; uint8_t i=0; for(i=0;i< 50;i++) //连续采集50次adc的值 { dat+=get_data(); //累加 delay_ms(1); } return dat/50; //返回平均值}main.cint main() { uint16_t temp; led_init(); //led灯初始化 oled_init(); //oeld屏初始化 uart_init(); //串口初始化 adc_configuration(); //adc配置 oled_showstring(1,1,present:); //提示字符串 oled_showstring(2,1,record_max:); while(1) { temp=cal_average_data(); //获取adc数值累加后的平均值 printf(%dn,temp); //通过串口借助vofa+软件打印波形图 led_indicator(temp); //led灯指示 delay_ms(100); }}vofa+软件简易使用说明
①配置协议与连接:数据引擎选择”firewater”,(注意:在程序中使用printf函数时,必须在%d后面加上n才能在firewater模式下被上位机正确识别),数据接口选择”串口”,正确选择端口号和配置波特率;
②在控件中找到波形图,拖拽到主窗口中,选择整窗口填充;
④右击窗口选择y轴中的all打开y轴数据显示;
⑤在图形种类中(默认)选择波形图;
⑥点击左上角灰黑色圆圈打开串口进行通信,看到圆圈变蓝并且闪烁代表通信正常,之后可以像调节示波器显示一样通过鼠标滚轮手动将波形调整到合适的显示范围,也可以点击auto一键调整波形显示范围。
效果演示
正常音量
正常音量波形图
较大音量
较大音量波形图
过大音量


基于液滴动态变化和液-固界面接触起电的智能双感官液体传感系统
联电完成14nm制程FinFET结构晶体管芯片流片
医疗仪器可装进口袋,健康检测轻松自如
DEKRA已经可以在其西班牙马拉加实验室提供Zigbee测试服务
《中国特色的元宇宙与实施路径研究》主题报告
基于CW32的MAX4466(放大器)麦克风模块的应用
在AI开发中集成强大的Chatbots(个人助理)
示波器软件概述及主要功能
汽车喇叭分频器怎么接,分频器可以不要吗
处理器需要注意的几个漏洞和权限问题
快讯:四维图新2019营收23亿! 芯片业务拖后腿
郭台铭声明:不求任何职位
奥迪将在电动汽车、数字化和自动驾驶领域投资140亿欧元
FPGA从Xilinx 的7系列学起(16)
非洲猪瘟快速检测仪的特点介绍
Bulgin的以太网Buccaneer为IP68提供环境密封
安装一套扬尘监测设备覆盖面积是多少
谐波的产生和抑制详细介绍
IDM将会是未来模拟芯片产业发展的必然路径
小米回应 Redmi K30 至尊版 5G SA 载波聚合跳票:需运营商覆盖支持