树莓派使用红外感应传感器

一个简单的被动式红外线传感器可以让你检测运动状态。这个传感器有三个引脚,可用于连接到Raspberry Pi的GPIO端。当该模块检测到运动状态时,其中一个引脚会输出高电压,输出电压大约为3.3V。如果持续检测到运动状态,那么该引脚的电压则保持该电压水平,直至检测不到运动状态时才会恢复为零。另两个引脚分别为5V和GND,连接好后代码如下:

import RPi.GPIO as GPIO
import time

 

# Use BCM GPIO references
# instead of physical pin numbers

GPIO.setmode(GPIO.BCM)

 

# Define GPIO to use on Pi
GPIO_PIR = 7

 

print "PIR Module Test (CTRL-C to exit)"

 

# Set pin as input
GPIO.setup(GPIO_PIR,GPIO.IN)      # Echo

 

Current_State  = 0
Previous_State = 0

 

try:

 

  print "Waiting for PIR to settle ..."

 

  # Loop until PIR output is 0
  while GPIO.input(GPIO_PIR)==1:
    Current_State  = 0   

 

  print "  Ready"     
    
  # Loop until users quits with CTRL-C
  while True :
   
    # Read PIR state
    Current_State = GPIO.input(GPIO_PIR)
   
    if Current_State==1 and Previous_State==0:
      # PIR is triggered
      print "  Motion detected!"
      # Record previous state
      Previous_State=1
    elif Current_State==0 and Previous_State==1:
      # PIR has returned to ready state
      print "  Ready"
      Previous_State=0
      
    # Wait for 10 milliseconds
    time.sleep(0.01)      
      
except KeyboardInterrupt:
  print "  Quit" 
  # Reset GPIO settings
  GPIO.cleanup()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值