一、简介
1.max4466是一款低噪声、高增益的放大器模块。该模块采用了集成放大器芯片,能够在低电压下提供高增益。它的输入阻抗较高,能够与多种信号源(例如麦克风、传感器)实现良好的匹配。同时,max4466还具备很低的噪声水平,能够有效地提取和放大微弱的信号,提高系统的灵敏度。max4466模块的应用场景包括但不限于以下几个方面:
音频处理:可以作为音频信号的前置放大器,将低电平的音频信号放大到适合后续处理的水平,如音乐播放、语音识别、语音通信等。
声音检测与分析:结合麦克风等音频传感器,可以实现声音的检测、分析和识别,如声音传感器、语音识别设备等。
无线通信:可以用于接收无线通信模块的输入信号,对其进行放大,以提高通信距离和信号质量。
二、所需物料
.本实验使用到了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.hvoid 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.c:int 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(%d,temp); //通过串口借助vofa+软件打印波形图 led_indicator(temp); //led灯指示 delay_ms(100); }}
四、vofa+软件简易使用说明
①配置协议与连接:数据引擎选择”firewater”,(注意:在程序中使用printf函数时,必须在%d后面加上 才能在firewater模式下被上位机正确识别),数据接口选择”串口”,正确选择端口号和配置波特率;
②在控件中找到波形图,拖拽到主窗口中,选择整窗口填充;
④右击窗口选择y轴中的all打开y轴数据显示;
⑤在图形种类中(默认)选择波形图;
⑥点击左上角灰黑色圆圈打开串口进行通信,看到圆圈变蓝并且闪烁代表通信正常,之后可以像调节示波器显示一样通过鼠标滚轮手动将波形调整到合适的显示范围,也可以点击auto一键调整波形显示范围。
五、效果演示
正常音量
正常音量波形图
较大音量
较大音量波形图
过大音量
过大音量波形图
边玩游戏边学Git
奔跑速度可达到每秒70倍体长的新型微型机器人
中国铁塔对5G基站进行技术改造助力5G健康持续发展
风力发电中Crowbar的作用
荣耀NOTE 8 PK 小米Max 大屏手机怎么选?
基于CW32的MAX4466放大器模块设计
探究电磁频谱是如此宝贵的资源的科学原因
AR技术原理和发展里程
无孔手机有望成未来趋势 无线充电取代有线充电也不是没有可能
虹软计算摄影加持高通骁龙888,带来智能手机顶级影像体验
Chrome浏览器下载速度过慢?不如试试这个方法
以人工智能为中心的内部结构,Facebook尝试AI提升用户体验
光缆集采价格再下探,光通信企业能否渡过蛰伏期?
智慧公安重点人员管控系统开发人员轨迹分析系统搭建
长距离光模块的应用、类型及使用注意事项
R型电源变压器帮你解决频繁跳闸的烦恼!
新唐科技M031TD2AE控制器介绍
关于CAN滤波器相关的内容
Serverless Streaming:毫秒级流式大文件处理探秘
信雅达入选《2023高质量数字化转型产品及服务全景图》