1、声敏模块介绍
有声音传到这个小麦克风上,模块上的电压会有变化。
四个引脚
引脚1,如果声音大小超过阈值,则输出数字信号,阈值可以通过扭动变阻器来调整
引脚2、3,电源,5v
引脚4,将声音的波形输出,可以通过单片机的ad来查看电压的变化
二、cubemx配置32
配置dma,如果是多通道,需要把scanf conversion Mode使能,如果不是,把连续转换模式打开就好
记得选循环,配置Normal的话就只传输一次
三、例程
这次使用adc的单次转换
关于adc的dma使用,可以看光敏电阻那一章节
//adc校准
HAL_ADCEx_Calibration_Start(&hadc1);
//可以gotodefine看下函数的介绍,这是开启adc前的必要步骤
//开启adc步骤
/*
1、开启adc
2、等待转换完成,设置等待最大时间为50ms,超时返回错误值
3、获取电压值
4、关闭adc
*/
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 50);
adc_value = HAL_ADC_GetValue(&hadc1);
voltage = (float)(adc_value *3.3/4096);
printf("value:%d, voltage:%.2f\n", adc_value, voltage);
HAL_ADC_Stop(&hadc1);