锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

室内监控项目之红外传感器模块

时间:2022-08-11 11:00:00 镜反射式光电传感器fr10

红外传感器模块的室内监控项目

知识积累:

  • 红外传感器是一种由红外物理性质测量的传感器。红外线也被称为红外光,它具有反射、折射、散射、干扰、吸收等性质。它是一种看不见的光,其光谱位于可见光中的红色以外,因此被称为红外光。
  • 常见的红外传感器可分为热传感器和光子传感器。热传感器的主要类型有:热敏传感器类型、热电偶类型、高莱气动类型和热释放电类型。根据光子传感器的工作原理,一般可分为内外光电传感器,后者可分为光电导传感器、光生伏特传感器和光磁电传感器。
  • 我采用的是HC-SR501 人体感应模块。人进入感应范围输出高电平,离开感应范围后自动延迟关闭高电平,输出低电平。(有两种触发方法可以选择跳线 <1>不可重复触发:感应输出高电平后,延迟时间一结束,输出就会自动从高电平变为低电平。<2>可重复触发方法:感应输出高电平后,如果有人在延迟时间内移动,输出将保持高电平,直到人离开,感应模块检测到每个活动,自动延迟延迟时间,以最后一次活动时间为延迟时间的起点)

  • CPU针脚通常是指硬件芯片向外提供的接口方式,因为它使用针接口,所以称为针脚。CPU针脚是接口类型,CPU工作只能通过某个接口与主板连接。经过这么多年的发展,接口方式包括引脚、卡片、接触、针脚等。最常用的CPU的接口是针脚式接口,对应到主板上就有相应的插槽类型。
  • GND它是电线接地端的简写。代表地线或0线。这个土地不是真正意义上的土地,而是出于应用而假设的土地。对于电源来说,它是电源的负极。
  • VCC:电源(Volt Current Condenser);电源电压(双极装置);电源电压(74系列数字电路);声控载波(Voice Controlled Carrier);火线。

对照下表(图为网上下载),将红外传感器连接到树莓派。(目前有BOARD 编号系统、BCM 可以通过两种方式编号 RPi.GPIO 对 Raspberry Pi 上的 IO 编号针脚。

  • 引脚,又称管脚,英文称Pin。就是从集成电路(芯片)内部电路与外与外围电路的接线,所有引脚都构成芯片接口。 GPIO的英文全称General-Purpose Input /Output Ports,中文的意思是通用的I/O端口
  • 在嵌入式系统中,许多结构通常需要控制外部设备或者电路,有些设备需要通过CPU控制,有的需要CPU提供输入信号。此外,许多设备或电路只需要开/关两种状体,例如LED亮与灭。使用传统的串口或并口来控制这些设备更为复杂。因此,嵌入式微处理器通常提供通用可编程I/O端口”,也就是GPIO。
  • 一个GPIO端口至少需要两个寄存器,一个用于控制IO端口控制寄存器另一个是存储数据的通用I/O端口数据寄存器。每个数据寄存器都是和谐的GPIO的硬件引脚对应的,而数据的传递方向是通过控制寄存器设置,通过控制寄存器每个引脚的数据流可以设置。(GPIO相关寄存器包括,IOPIN、IOSET、IOCLR、IODIR四个寄存器。)

代码(python)

import time import signal #学过linux信号基础可能更容易理解,你可以看到我Linux信号介绍 import RPi.GPIO as GPIO #导入RPi.GPIO 模块   INFR_PIN=16#根据自己的连接方式确定   def sig_proc(signum, frame):     print("Catch stop signal and program exit now...")     exit()   signal.signal(signal.SIGINT, sig_proc) #按键盘CTRL C从shell中发信号,信号给信号shell对应信号的默认操作是中断中前台运行过程 (INTERRUPT) 该进程。 signal.signal(signal.SIGTERM, sig_proc)# 终止进程 软件终止信号   def init():     GPIO.setwarnings(False) #禁止警告消息(可能) Raspberry Pi 的 GPIO 同时有多个脚本/循环。因此,如果 RPi.GPIO 检测到针脚被设置为其他用途而不是默认状态(默认为输入),并在尝试配置脚本时得到警告。)     GPIO.setmode(GPIO.BOARD) ##指定使用的编号方法是BOARD     GPIO.setup(INFR_PIN, GPIO.IN) #配置输入通道,无需输出与人体感应模块的交互     pass #pass 为了保持程序结构的完整性,是空语句。   def detct():     while True:         if GPIO.input(INFR_PIN) == True: #如果读取GPIO针脚值为1,说明有人进来了             print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) "  Someone is closing!"         else:             print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) "  No one nearby!"         time.sleep(1)  init() detct() GPIO.cleanup()

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章