STM32F103C8 声音传感器与FFT滤波项目
项目简介
本项目基于STM32F103C8微控制器,结合OLED显示屏、LED指示灯、LM386声音传感器、FFT滤波和ADC技术,实现对外部声音信号的采集、处理和显示。通过LM386传感器采集外部声音信号,经过ADC转换后,提取出直流分量,并使用FFT(快速傅里叶变换)进行平滑处理,最终得出分贝值和电压值。处理后的输出值(01.00.666)分别对应三个LED的亮灭状态。
主要功能
- 声音信号采集:使用LM386声音传感器采集外部声音信号。
- ADC转换:将采集到的模拟信号通过ADC转换为数字信号。
- FFT滤波:对转换后的数字信号进行FFT处理,以平滑信号并提取有用信息。
- 分贝值计算:根据处理后的信号计算出分贝值。
- 电压值计算:根据处理后的信号计算出电压值。
- LED指示:根据输出值(01.00.666)控制三个LED的亮灭状态。
硬件组成
- STM32F103C8微控制器:负责信号处理和控制。
- OLED显示屏:用于显示处理后的分贝值和电压值。
- LED指示灯:用于指示处理后的输出值。
- LM386声音传感器:用于采集外部声音信号。
软件实现
- ADC模块:配置STM32的ADC模块,实现模拟信号到数字信号的转换。
- FFT算法:使用FFT算法对ADC转换后的信号进行平滑处理。
- 分贝值计算:根据FFT处理后的信号计算分贝值。
- 电压值计算:根据FFT处理后的信号计算电压值。
- LED控制:根据输出值控制LED的亮灭状态。
使用说明
- 硬件连接:按照电路图连接STM32F103C8、OLED显示屏、LED指示灯和LM386声音传感器。
- 软件烧录:将编写好的程序烧录到STM32F103C8微控制器中。
- 启动系统:上电后,系统将自动开始采集声音信号并进行处理。
- 查看结果:通过OLED显示屏查看处理后的分贝值和电压值,并通过LED指示灯观察输出值。
注意事项
- 确保硬件连接正确,避免短路或接触不良。
- 在烧录程序前,确认开发环境配置正确。
- 调试过程中,注意观察OLED显示屏和LED指示灯的状态,确保系统正常运行。
项目贡献
欢迎对本项目提出改进建议或贡献代码。如果您有任何问题或建议,请在项目中提交Issue或Pull Request。
许可证
本项目采用MIT许可证,详情请参阅LICENSE文件。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



