课程

课程 讲师

接近开关-红外反射模块

购买数
10
课时数
1
浏览数
3654
主讲人:
邵老师
有效期:
自购买之日起永久
优惠价:¥10
原价:¥20
分享

分享到:

手机查看

一、模块介绍


image.png

    

        接近开关的簧片跟角度有关,红外反射根据红外线反射原理,当检测到物体时会被反射回去。

购买链接:

https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.18.7eda723cVVKOLp&id=576039573738


        接近开关-红外反射模块有俩个触发点,一个是模块侧边的簧片触发,另一个是模块正面的红外感知部分触发。

        簧片触发方式是利用物理原理,将簧片一端固定在模块上,使模块与簧片之间有一个夹角,在这个夹角中放置一个按键,当簧片翘起的一端被按下时正好可以压下按键。模块的触发距离与角度的大小有关。

        红外感知触发方式是根据红外线的反射原理,利用红外发射器发射红外线,当红外线碰到物体时会被反射回去,反射回的红外线如果正好被红外接收器接收到,就会触发模块产生中断。


二、原理分析

        

        按键部分原理非常简单,当按键被按下时,电源与地导通,EINT4引脚为低电平,反之为高电平。红外部分使用了红外发射器与接收器,红外发射器直接被通过的电流点亮。接收器如果接收到红外光,电流将通过接收器,导通三极管,通过三极管的电流流向地端,所以EINT6引脚为低电平。反之电流不通过红外接收器,三极管呈关闭状态,EINT6引脚为高电平。

        image.png

三、代码解读

        

        1、初始化IO口为输入。

               GPIO_Init();

        2、开启IO口复用时钟。

               RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

        3、设置IO口与中断线的映射关系。

               void GPIO_EXTILineConfig();

        4、初始化线上中断,设置触发条件等。

               XTI_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、按下模块侧面的按键,串口打印报警信息。

讲师信息

邵老师

邵老师

粉丝:3
多年嵌入式开发经验,精通STM32/51单片机,扎实的C语言基本功
×

分享成功,快去个人中心查看吧~~~

祝您:学习愉快 !

确 定
×

加入我的看单

该课程需要加入我的看单后方可学习,确定加入?

确 定 取 消
关注官方微信