准备工作

  • 树莓派1个
  • 红外感应模块1个
  • LED灯一个
  • 杜邦线5根

模块介绍

红外感应模块

这个模块在某宝某东上面一抓一大把,就长这么个样子:

树莓派超声波传感器python 树莓派红外传感_树莓派


再来说下引脚:

树莓派超声波传感器python 树莓派红外传感_人体红外检测_02


具体内部实现原理及各个参数这里就不多数了,对于刚刚入手就想先跑板子的娃儿来说暂时用不到(其实在下也不是很明白,后边有空再仔细瞅瞅)。接线呢,就三根线,1接地2接其他PIN脚3接5V。

上一张我的实物:

树莓派超声波传感器python 树莓派红外传感_python树莓派_03

发光二极管

这个呢也很容易找到,也就是LED,就酱色的:

树莓派超声波传感器python 树莓派红外传感_人体红外检测_04


需要注意的是这个分正负极,长的引脚是正极。

如果说引脚不小心被剪了,咋办呢?

莫急,那就看这个管体内,金属极较小的部分就是正极。

另外在接线的时候需要接入上拉电阻保护。但是我在实际点亮的时候发现,接入电阻后灯光很弱,索性就去掉了,直接接引脚了。

编程

这里就用python来写代码。
1、首先安装 树莓派上封装好的python 的GPIO包

pip install rpi.gpio

2、查看板子的引脚图,选出需要配置的引脚

树莓派超声波传感器python 树莓派红外传感_树莓派超声波传感器python_05


这里需要说明的是,物理引脚BOARD编码和你树莓派上的管脚是正好对应的,BOARD编码和BCM一般都在python库中使用。最好使用BOARD编码,因为这样你的代码就可以再其他板子上运行了,当然这也是见仁见智。

3、这里选12 号引脚GPIO.1作为信号输入 23号引脚作为LED配置,具体接线如下:

  • LED正极接23号引脚
  • LED负极接25号引脚
  • 红外模块VCC接2号引脚
  • 红外模块OUT接12号引脚
  • 红外模块GND接14号引脚

树莓派超声波传感器python 树莓派红外传感_人体红外检测_06

4、代码实现

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(23,GPIO.OUT)
GPIO.setup(12,GPIO.IN)
num = 0
def led(): #led闪烁
    GPIO.output(23, 0)
    time.sleep(0.5)
    GPIO.output(23, 1)
    time.sleep(0.5)
    GPIO.output(23, 0)
try:
    while True:
        while GPIO.input(12):
            num+=1
            print("通过%s人"%num)
            led()
            time.sleep(1)
except KeyboardInterrupt:
    GPIO.cleanup();

5、运行

sudo python3 test.py

树莓派超声波传感器python 树莓派红外传感_人体红外检测_07

树莓派超声波传感器python 树莓派红外传感_树莓派_08

打完收功!当然代码和电路还有许多地方需要调整优化,目前只是初步实现最简单的输入输出控制。