树莓派连接人体红外感应模块HC-SR501

树莓派连接人体红外感应模块HC-SR501,第1张

人体时刻发出9.6微米的红外波段的辐射,人体红外感应模块HC-SR501就是为此而设计的。

本文来自于牛人技术网某大神。

1. 传感器特点

传感器采用PCB板封装,有三个针脚引出,其中两端的是用来供电的正极和负极而中间的则是电平信号输出。感应的灵敏度可以通过PCB板上的电位器来进行条件一般在7米左右的感应距离,最大是10米。

2. 接线

3. 程序部分

人体感应模块感应到人体时输出高电平(3.3V),没有人时输出低电平(0V)。

人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。

51单品机IO口默认引脚给低电平,接5v不会变高电平

https://tieba.baidu.com/p/3406276194?red_tag=2658482202

如果该io被单片机设为低电平,从外部你是永远不可能置1的。除非把该囗烧掉后就是高电平了。

不可以,只能拉低。置1要单片机去置。

为了方便51单片机的演示,可以延时调节先向逆时针旋转到最低,然后在稍微顺时针拧一点,这样较短的延时时间方便延时,灵敏度根据测试距离调节,最好不要超过中心线。

A. L不可重复触发方式(动只执行一次):即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平;

B. H可重复触发方式(动就疯狂输出): 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。

可以用一个发光二极管进行测试,虽然输出电压有3.3V,但是输出电流较小,可以用其调整灵敏度和延时时间,测试好后去掉LED灯即可。

以后人体感应可以接个灯,方便观察现象。

KEYVAL EQU 30H

KEYSCAN EQU 31H

KEYTM EQU 32H

KEYSEL:

MOV KEYVAL,#0

MOV KEYSCAN,#0EFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS1

MOV KEYVAL,A

SJMP KEYRTN

KEYS1:

MOV KEYSCAN,#0DFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS2

CLR C

ADD A,#4

MOV KEYVAL,A

SJMP KEYRTN

KEYS2:

MOV KEYSCAN,#0BFH

LCALL GETKEY

MOV A,KEYTM

JZ KEYS3

CLR C

ADD A,#8

MOV KEYVAL,A

SJMP KEYRTN

KEYS3:

MOV KEYSCAN,#7FH

LCALL GETKEY

MOV A,KEYTM

JZ KEYRTN

CLR C

ADD A,#12

MOV KEYVAL,A

KEYRTN:

RET

--------------------

GETKEY:

MOV KEYTM,#0

MOV A,KEYSCAN

MOV P3,A

NOP

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY

MOV R2,#10

LCALL DELAY

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY

MOV A,P3

ANL A,#0FH

MOV R7,A

SF:

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JNZ SF

MOV A,R7

CJNE A,#0EH,NK1

MOV KEYTM,#1

SJMP NOKEY

NK1:

CJNE A,#0DH,NK2

MOV KEYTM,#2

SJMP NOKEY

NK2:

CJNE A,#0BH,NK3

MOV KEYTM,#3

SJMP NOKEY

NK3:

CJNE A,#07H,NOKEY

MOV KEYTM,#4

NOKEY: RET

深奥点就是,你执行了这段代码,int a = 10程序就会在你电脑的内存中,创建一个小空间,这个空间的名字就是a, 这空间里面的内容就是10,这个空间只能存放整数类型的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11135578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存