一、模块介绍

声音响动会控制声响开关,有无光亮会控制光敏结合起来可以是声光控开关
购买链接:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.15.7eda723cVVKOLp&id=576264735588
声响开关-光敏传感器有两个触发点,一个是通过声音触发,另一个是通过光的照射触发。声音触发方式是使用一个麦克,利用麦克感知到声音的特性,再通过电路控制使使用者能够得知是否有响声。
光照触发方式是利用了光敏电阻特性。光敏电阻常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。
常见的声响开关-光敏传感器很多应用在声控灯上,声控灯通过光敏部分控制黑天亮白天不亮,通过声响部分控制灯的点亮。
二、原理分析
声响开关-光敏传感器分为声响感知和光敏感知两个部分。声响感知部分利用了声音对麦克模块产生的影响,麦克在静音状态下阻值非常大,声音会使麦克的阻值变小。由电路图可以看出,在没有声音时,麦克阻值过大,电容C1左侧电压为0,所以没有电流经过放大器,放大器输出端电压等于3脚电压等于2.5V。最后经过比较器,由于比较器U1B的5脚电压为3.3V,比6脚的2.5V电压高,所以引脚EINT4为高电平。如果麦克感知到声音,电压产生变化,当输入比较器U1B的电压高于5脚电压时,比较器就会输出低电平,引脚EINT4为低电平。
光感部分使用了光敏电阻,光敏电阻具有在光的照射下阻值变小的特性。在无光照射下,光敏电阻阻值过大,所以LM324的10脚电压低于9脚电压,LM324输出为低电平。当光照射在光敏电阻上时,光敏电阻阻值变小,LM324的10脚电压高于9脚电压,LM324输出为高电平。

三、代码解读
1、初始化IO口为输入。
GPIO_Init();
2、开启IO口复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
3、设置IO口与中断线的映射关系。
void GPIO_EXTILineConfig();
4、初始化线上中断,设置触发条件等。
EXTI_Init();
5、配置中断分组(NVIC),并使能中断。
NVIC_Init();
6、编写中断服务函数。
EXTIx_IRQHandler();
7、清除中断标志位
EXTI_ClearITPendingBit();
四、实践操作
一、实验操作步骤:
1、将 STM32F103 核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机;
2、将声响开关-光敏传感器插到底板 P5 口,底板拨码 S1 拨向 ON 端;
3、编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。串口调试助手波特率为115200。
二、实验现象:
1、在模块旁用力击掌测试声响传感器,查看串口打印的 报警信息。
2、用手掌遮挡住模块再移开测试光敏传感器,查看串口打印的 报警信息。