1、项目全景与需求分析:智能照明项目概述、核心功能拆解、目标用户画像、技术选型(ESP32/Arduino/传感器)、项目交付标准
各位同学,欢迎来到《智能照明完整项目:从设计到交付》的第一课。
说实话,我见过太多人一上来就撸代码、焊电路。结果呢?做到一半发现需求没想清楚,传感器选错了,或者用户根本不买账。嗯,这课咱们不干这种事。
今天,咱们先把整个项目的地图画出来。你想想看,盖房子之前总得先看图纸吧?做项目也一样。我会带你从零开始,把智能照明这个项目的全貌看清楚。
1.1 项目概述:我们要做什么?
简单说,我们要做一个能自动调节、能远程控制、能省电的智能照明系统。
它不是那种花里胡哨的炫技产品。我个人的习惯是,做项目先问自己三个问题:
- 解决什么痛点?—— 人走了灯还亮着,费电;半夜摸黑找开关,不方便;想调个亮度还得起身。
- 核心价值是什么?—— 自动感应、远程控制、场景切换。
- 谁会用?—— 这个咱们后面细说。
说白了,这个项目就是一个低成本、高实用性的物联网照明方案。你可以把它装在家里、办公室,甚至小作坊里。
项目定位:基于 ESP32 主控,结合人体红外传感器、光照传感器,实现人来灯亮、人走灯灭、根据环境光自动调节亮度。同时支持手机 App 远程开关和定时。
1.2 核心功能拆解:别想一口吃成胖子
做项目最忌讳的就是「功能堆砌」。我刚开始带团队时也犯过这毛病,恨不得把所有传感器都怼上去。结果呢?代码耦合得一塌糊涂,调试到崩溃。
所以,咱们把功能拆成几个清晰的模块。每个模块独立开发、独立测试。
1.2.1 基础功能(必须实现)
- 人体感应自动开关灯:使用 HC-SR501 红外传感器,检测到人时开灯,人离开后延时关灯。
- 环境光自适应调光:使用光敏电阻(LDR)或 BH1750 数字光照传感器,根据环境亮度自动调节 LED 的 PWM 占空比。
- 手机远程控制:通过 Wi-Fi 连接,使用 MQTT 协议或 Blynk App,实现远程开关、亮度调节。
- 定时开关:在 App 端设置定时任务,比如晚上 7 点自动开灯,11 点自动关灯。
1.2.2 进阶功能(可选扩展)
- 场景模式:一键切换「阅读模式」「睡眠模式」「会客模式」,不同模式对应不同的亮度和色温。
- 语音控制:接入小爱同学或天猫精灵,实现语音开关灯。
- 能耗统计:记录每天的用电量,生成报表。
我的建议:先把基础功能做扎实。我曾经见过一个学员,一上来就搞语音控制,结果基础的人体感应都没调通,最后项目烂尾了。稳扎稳打,先跑通核心流程。
1.3 目标用户画像:给谁用的?
你可能会想:「智能灯嘛,谁都能用。」这话没错,但太笼统了。做产品设计,一定要有具体的用户画像。
我一般会画三个典型用户:
| 用户类型 | 核心需求 | 使用场景 |
|---|---|---|
| 家庭用户(小张) | 省电、方便、老人小孩都能用 | 玄关、走廊、卫生间自动感应;卧室手机控制 |
| 办公用户(李经理) | 节能管理、集中控制、定时策略 | 会议室、开放办公区、走廊定时关灯 |
| DIY 爱好者(老王) | 可定制、可扩展、有技术挑战 | 自己改装家里的灯,接入 Home Assistant |
你看,不同用户对功能的要求是不一样的。家庭用户更看重「无感」和「稳定」,办公用户更看重「管理」和「节能」。咱们这个课程,会兼顾这三类用户的需求,但重点放在家庭和 DIY 场景。
1.4 技术选型:为什么是 ESP32 + Arduino?
这是很多新手最纠结的地方。我直接给结论:
1.4.1 主控芯片:ESP32
- 为什么选它? 自带 Wi-Fi 和蓝牙,双核处理器,性能足够。价格才十几块钱。
- 为什么不选 Arduino Uno? 没有 Wi-Fi,要外接模块,麻烦。而且 Flash 和 RAM 太小,跑 MQTT 库有点吃力。
- 为什么不选树莓派? 杀鸡用牛刀。树莓派适合跑 Linux 系统,做复杂图像处理。咱们这个项目,ESP32 绰绰有余。
注意:ESP32 的 GPIO 电压是 3.3V,而 HC-SR501 红外传感器输出是 5V。直接连接可能会烧坏 ESP32。我早期就烧过一块板子……所以一定要加电平转换模块,或者用分压电阻。
1.4.2 开发环境:Arduino IDE
- 为什么选它? 简单、生态好、库丰富。对于咱们这个项目,完全够用。
- 为什么不选 PlatformIO? 虽然 PlatformIO 更专业,但配置复杂。咱们第一课先求「快」,先跑起来再说。
1.4.3 传感器选型
| 传感器 | 型号 | 接口 | 特点 |
|---|---|---|---|
| 人体红外 | HC-SR501 | 数字输出 | 便宜、灵敏度可调、延时可调 |
| 光照传感器 | BH1750 | I2C | 数字输出、精度高、抗干扰强 |
| 光照传感器(备选) | 光敏电阻 + 10kΩ 电阻 | 模拟输入 | 极便宜、但精度差、受温度影响 |
| LED 驱动 | MOSFET (IRLZ44N) | PWM | 驱动大功率 LED 灯带 |
我个人习惯用 BH1750。为什么?因为它是数字传感器,直接输出 lux 值,不用自己算。光敏电阻虽然便宜,但每次都要校准,麻烦。你想想看,如果环境光变化一点,你就要重新调阈值,多累啊。
1.5 项目交付标准:做到什么程度算「完成」?
没有标准,项目就会无限延期。我见过太多人「做着做着就加功能」,最后不了了之。
咱们这个课程,交付标准非常明确:
- 硬件原型:ESP32 开发板 + HC-SR501 + BH1750 + LED 灯带(或高亮 LED),在面包板上搭建完整电路。
- 固件代码:实现人体感应、自动调光、MQTT 远程控制、定时开关四个核心功能。代码注释完整,模块化设计。
- 手机 App 控制:使用 Blynk 或 MQTT Dashboard,实现远程开关、亮度滑块、定时设置。
- 文档与原理图:提供 Fritzing 接线图、电路原理图、物料清单(BOM)。
- 演示视频:录制 3 分钟以内的功能演示,展示自动感应、远程控制、调光效果。
一句话总结:拿到这个项目,你就能直接复制出一个可用的智能灯。不是那种「跑个 Hello World」的玩具,而是真正能装到家里用的产品原型。
1.6 本章小结
好,第一课的内容就这些。咱们把项目的「骨架」搭起来了:
- 知道了要做什么(智能照明系统)
- 拆解了核心功能(感应、调光、远程、定时)
- 画了用户画像(家庭、办公、DIY)
- 选好了技术方案(ESP32 + Arduino + BH1750)
- 明确了交付标准(硬件、代码、App、文档)
下一课,咱们就开始动手了。我会带你从硬件选型开始,把每个元器件的作用讲清楚。嗯,到时候记得准备好你的 ESP32 开发板。
课后小作业:打开淘宝或立创商城,搜索「ESP32 开发板」「HC-SR501」「BH1750」,看看价格和规格。心里有个数,下节课咱们直接开干。