开始时候,我们得去挑选来红外线对应的管子当作传感器。红外线对应的管子存在着两个引脚,其中一个是发射管的引脚,另外一个是接收管的引脚。在出现物体进行遮挡的状况下,红外线的光线被遮挡住,发射管所发出的那条红外线光线不能够被接收管给接收了,进而致使接收管的输出电压产生变化,也就是达成了检测光路是不是被遮挡住的功能 。
紧接着,能够把红外对管连接至STM32的GPIO口那里。详细的接线样式能够参照相关资料,或者依据数据手册来开展连接。
接着,我们得去设计那种间歇式报警电路。能够借助STM32的定时器以及DAC模块来达成。利用定时器去生成一个具备固定频率的PWM波形信号,随后通过DAC模块把它转变成模拟电压输出。等到红外对管检测到有遮挡情况时,触发中断程序,在上述中断程序里控制DAC输出,让它给出高电平,在这个时候报警器会发出间歇式报警 。
接下来,我们要借助OLED显示模块将光路遮挡情形予以显示。能够运用I2C总线把OLED显示模块连接起来,且运用对应的库函数实施驱动。一旦检测到光路被遮挡,就在OLED上展示相应的信息,每出现一次遮挡便逐次递增。
最终,我们得设置外部用以实现计算清零功能的按键。能够连接一个按键至STM32的GPIO口处,借助外部中断来检测按键是不是被按下,要是按下了那么便开展计算清零的操作。
经过以上一系列步骤的精心组装,进而能够达成基于STM32的红外线报警电路,如此一来即可满足您的需求。



