1. 课程介绍与硬件准备

大家好,欢迎来到《人体传感器实现人来灯亮》实战课。我是你们的老朋友,一个在嵌入式圈子里摸爬滚打了十几年的工程师。

这门课要做什么?说白了,就是让你亲手做出一个「人一靠近,灯就自动亮」的小系统。听起来简单,但里面涉及的东西可不少——传感器怎么检测人体?信号怎么处理?怎么控制灯泡?这些我都会带着你一步步搞定。

我个人习惯,每门课开头先把「家伙事儿」备齐。今天咱们就把硬件清单理清楚,再把开发环境搭起来。别急,慢慢来。

人体传感器(PIR)到底是个啥?

PIR,全称 Passive Infrared Sensor,被动式红外传感器。嗯,名字挺长,但原理其实不复杂。

你想想看,任何有温度的物体都会向外辐射红外线。人体大概 36-37℃,辐射的红外线波长在 9-10μm 左右。PIR 传感器就是专门「看」这个波段的红外线的。

它内部有两个感应单元。当没有人时,两个单元接收到的红外辐射量是平衡的,输出为低电平。当人走过时,红外辐射的变化打破了这个平衡,传感器就会输出高电平。

核心要点:PIR 检测的是「变化」,不是「存在」。你站在它面前不动,它反而不输出信号。所以它最适合检测「有人经过」这种场景。

我在项目中遇到过一个问题:把 PIR 装在空调出风口旁边,结果它老是误触发。为什么?因为空调吹出的冷风让传感器周围的温度快速变化,它以为有人来了。嗯,这里要注意——安装位置很关键。

硬件清单:你需要准备这些

好,咱们来看看这堂课需要哪些硬件。我列了个表,你照着买就行,别买错了。

序号 硬件名称 型号/规格 数量 备注
1 Arduino 开发板 Uno R3 或 Nano 1 块 入门首选,稳定便宜
2 PIR 人体传感器模块 HC-SR501 1 个 最常用的型号,几块钱一个
3 继电器模块 5V 单路继电器 1 个 用来控制灯泡的通断
4 灯泡 220V 白炽灯或 LED 灯 1 个 注意功率不要超过继电器额定值
5 灯座 E27 螺口灯座 1 个 配合灯泡使用
6 杜邦线 公对公、公对母 若干 建议各备 10 根
7 面包板 830 孔 1 块 方便搭建电路,不用焊接
8 USB 数据线 USB-A 转 USB-B 1 根 给 Arduino 供电和下载程序
9 电源线 两芯护套线 1 米 连接灯泡和继电器

我的建议:如果你是第一次玩,直接买一套 Arduino 入门套件,里面基本都包含了。省得一个个找,还容易漏。

HC-SR501 传感器详解

这个 HC-SR501 是市面上最常见的 PIR 模块。我当年第一次用的时候,还闹过笑话——接上电发现它一直输出高电平,以为坏了。后来才发现,它有个「预热时间」。

来看看它的关键参数:

  • 工作电压:5V,直接接 Arduino 的 5V 引脚就行
  • 检测距离:3-7 米,可以通过电位器调节
  • 检测角度:约 110°
  • 输出信号:检测到人时输出高电平(3.3V),无人时输出低电平

模块上有两个电位器,一个调距离,一个调延时。还有个跳线帽,用来选择触发模式:

  • H 模式(可重复触发):只要有人一直在检测范围内,输出就一直保持高电平
  • L 模式(不可重复触发):检测到人后输出高电平,延时结束后自动变低,不管人还在不在

我个人习惯用 H 模式,这样人一直待在房间里,灯就不会灭。

注意:HC-SR501 上电后有 30-60 秒的初始化时间。这期间输出不稳定,可能会乱跳。等它稳定了再用。我曾经因为这个排查了半天,结果发现是没等它「醒」过来。

开发环境搭建

好,硬件说完了,咱们来搭软件环境。这一步其实很简单,别被「开发环境」四个字吓到。

第一步:下载 Arduino IDE

去 Arduino 官网(arduino.cc)下载最新版的 IDE。我建议下载 2.x 版本,界面比老版好看,功能也强一些。

第二步:安装驱动

把 Arduino 板子用 USB 线连上电脑。如果是 Uno R3,Windows 10/11 一般会自动装驱动。如果没装成功,去设备管理器里手动更新一下。

第三步:选择板子和端口

打开 Arduino IDE,按这个顺序操作:

  1. 点击「工具」→「开发板」→ 选择「Arduino Uno」
  2. 点击「工具」→「端口」→ 选择你板子对应的 COM 口

怎么知道哪个端口是你的板子?拔掉 USB 线,看看哪个端口消失了,再插上,哪个出现了,就是它。

第四步:测试一下

写个最简单的程序,让板子上的 LED 灯闪起来:

void setup() {
  pinMode(13, OUTPUT);  // 板载 LED 在 13 号引脚
}

void loop() {
  digitalWrite(13, HIGH);  // 点亮
  delay(1000);             // 等 1 秒
  digitalWrite(13, LOW);   // 熄灭
  delay(1000);             // 等 1 秒
}

点击上传按钮,等它编译、下载完成。如果板子上的 LED 开始一闪一闪的,恭喜你,环境搭好了。

一个小技巧:如果上传失败,检查一下端口有没有选对,或者板子有没有被其他程序占用。我遇到过有人开着串口监视器就上传,结果报错——关掉串口监视器就好了。

本章知识体系

下面这张图,把咱们这章的核心内容串起来了。你可以把它当作一个「知识地图」,后面学的时候随时回来看。

第1章 知识体系总览 人来灯亮系统 PIR 传感器原理 硬件清单与选型 开发环境搭建 被动红外检测 检测变化而非存在 HC-SR501 模块 Arduino 开发板 继电器模块 灯泡与灯座 下载 Arduino IDE 安装驱动 选择板子与端口 本章打好基础,后续课程将逐步搭建完整系统

好了,这一章的内容就到这儿。硬件清单你照着买,开发环境照着搭,PIR 的原理心里有个数。下节课咱们就开始动手接线了。