OpenHarmony 实战|动手做一个智能感应道闸闸门
前言
最近在鸿蒙班完成了智能闸门综合实验,从硬件接线、传感器采集到舵机执行控制,完整走完一套嵌入式物联网闭环项目。把整个踩坑过程、原理、实验收获整理分享出来,适合鸿蒙嵌入式入门同学参考。
📌项目简介
本次实验使用 Hi3861 鸿蒙开发板,基于 OpenHarmony 操作系统,搭配 SG90 舵机、HC‑SR501 人体红外传感器,模拟停车场 / 小区的自动道闸。
核心效果:检测到有人或物体靠近,闸门自动抬起开闸;延时几秒之后自动落闸关闭,实现无人值守的自动通行。
🛠硬件清单
表格
| 硬件 | 型号 | 作用 |
|---|---|---|
| 主控板 | Hi3861 鸿蒙开发板 | 运行 OpenHarmony,处理传感器,输出 PWM 信号 |
| 执行舵机 | SG90 | 模拟闸门,0° 关闸,90° 开闸 |
| 检测传感器 | HC‑SR501 人体红外传感器 | 感应物体靠近,输出高低电平信号 |
| 辅助配件 | 杜邦线、面包板 | 电路接线 |
| 电源 | 5V 直流电源 | 给舵机、传感器、主控供电 |
硬件连接逻辑很清晰:
- HC‑SR501 红外传感器输出引脚接到开发板 GPIO 输入引脚,用来读取有无物体;
- SG90 舵机信号线接入 PWM 输出引脚;
- 所有模块 GND 必须共地,舵机建议独立 5V 供电,不要直接吃开发板 3.3V 引脚,否则极易抖动。
⚙核心工作原理
1. 人体红外传感器检测
HC‑SR501 传感器:检测到人体 / 物体时输出高电平 1;前方无目标输出低电平 0。程序循环读取 GPIO 引脚电平,判断是否需要开闸。
小缺点:红外传感器对环境光线变化比较敏感,强光直射环境下容易出现误触发。
2.SG90 舵机 PWM 控制
SG90 舵机标准控制信号为50Hz PWM 波形,依靠高电平的脉冲时长决定旋转角度:
- 0°:对应闸门关闭;
- 90°:对应闸门完全抬起打开。
程序内部封装角度转换函数,把输入角度换算成 PWM 占空比,输出脉冲驱动舵机转动。
3. 整套业务控制流程
- 设备上电初始化,舵机复位 0°,闸门默认关闭,进入等待检测状态;
- 循环读取红外传感器 GPIO 电平;
- 若检测到物体(高电平),输出 PWM 控制舵机转到 90°,闸门打开;
- 延时 3 秒模拟通行时间;
- 延时结束,舵机回到 0°,闸门落下关闭,回到检测等待状态。
💻软件模块拆解
整个工程分为三大模块:
- 外设初始化模块
初始化 GPIO 为输入模式读取传感器;初始化 PWM 外设,设置 50Hz 频率,为舵机驱动做准备。 - 舵机角度驱动函数
封装函数,传入角度参数,自动换算 PWM 占空比,控制舵机转到指定角度。 - 主循环业务逻辑
循环采集传感器信号,按照 “检测‑开闸‑延时‑关闸” 完成完整逻辑。
同时本实验还拓展了 MQTT 联网能力,可以将闸门的开 / 关状态上传云平台,在仪表盘查看实时状态与历史操作日志,串口也可以打印闸门运行调试信息,方便开发排错。
✨实际实验现象
- 上电初始化:舵机自动复位,闸门保持关闭;
- 手靠近红外传感器:传感器触发,舵机转动抬起闸门;
- 闸门保持打开约 3 秒,之后自动落下关闭;
- 如果物体一直挡在传感器前,闸门完成一次开关后会再次触发开闸;
- 物体移开之后,闸门维持关闭,等待下一次触发。
实验过程遇到两个典型问题,也是嵌入式开发高频坑点:
- 舵机抖动、转动无力:舵机耗电较大,板载 3.3V 供电带不动,更换稳定的 5V 独立供电后恢复正常。
- 闸门无故自己打开:光线剧烈变化导致人体红外传感器误触发,这是红外传感器本身的特性局限。
- 舵机完全不动:排查硬件接线,核对原理图,确认 PWM、GPIO 引脚没有接错。
📝实验收获
通过这个小项目,完整理解了嵌入式经典模型:传感器采集 → 主控逻辑处理 → 执行器输出。
- 掌握 OpenHarmony 下 GPIO 输入读取、PWM 外设输出配置;
- 搞懂舵机依靠 PWM 脉冲控制转角的底层原理;
- 学会硬件故障排查思路:现象→对照原理图→检查接线→排查电源;
- 明白做项目不只是把功能跑通,还要考虑工程实际问题:电源稳定性、传感器抗干扰。
当然这套只是教学演示模型,对比工业真实道闸还有很多需要完善。真实道闸必须加上机械限位保护、电机过载保护、防夹检测、故障报警等安全机制。
💡拓展创新思路
如果继续迭代这个智能闸门项目,可以尝试这些方向:
1.🌐远程云端控制:基于 Wi‑Fi+MQTT 云平台,实现手机 APP 远程手动开关闸门,本地自动 + 远程控制双模式;
2.🆔身份鉴权开闸:增加 RFID 刷卡模块,只有有效卡片才可以触发开闸,模拟小区门禁道闸;
3.🔍多传感器融合:增加超声波传感器替换红外,减少光照误触发;加入红外对射,只有物体完全离开之后再关闸,实现防夹;
4.📊状态可视化与日志:外接屏幕实时显示闸门状态,云端记录每次开闸时间;
5.⚠️故障报警保护:检测舵机驱动异常时触发蜂鸣器报警;增加限位检测,防止舵机超角度旋转损坏机械;
6.⏰定时模式:增加定时逻辑,在指定时间段自动开关闸门,适配园区、停车场场景。
结尾
小小的智能道闸项目,把 GPIO、PWM、传感器、执行器、物联网云平台串在了一起。OpenHarmony 不仅仅可以做设备软件,也很适合这种硬件联动的嵌入式实践。后续打算继续优化传感器抗干扰逻辑,把防夹功能加上,把这个 Demo 进一步完善。
更多推荐



所有评论(0)