前言

最近在鸿蒙班完成了智能闸门综合实验,从硬件接线、传感器采集到舵机执行控制,完整走完一套嵌入式物联网闭环项目。把整个踩坑过程、原理、实验收获整理分享出来,适合鸿蒙嵌入式入门同学参考。

📌项目简介

本次实验使用 Hi3861 鸿蒙开发板,基于 OpenHarmony 操作系统,搭配 SG90 舵机、HC‑SR501 人体红外传感器,模拟停车场 / 小区的自动道闸。

核心效果:检测到有人或物体靠近,闸门自动抬起开闸;延时几秒之后自动落闸关闭,实现无人值守的自动通行。

🛠硬件清单

表格

硬件型号作用
主控板Hi3861 鸿蒙开发板运行 OpenHarmony,处理传感器,输出 PWM 信号
执行舵机SG90模拟闸门,0° 关闸,90° 开闸
检测传感器HC‑SR501 人体红外传感器感应物体靠近,输出高低电平信号
辅助配件杜邦线、面包板电路接线
电源5V 直流电源给舵机、传感器、主控供电

硬件连接逻辑很清晰:

  1. HC‑SR501 红外传感器输出引脚接到开发板 GPIO 输入引脚,用来读取有无物体;
  2. SG90 舵机信号线接入 PWM 输出引脚;
  3. 所有模块 GND 必须共地,舵机建议独立 5V 供电,不要直接吃开发板 3.3V 引脚,否则极易抖动。

⚙核心工作原理

1. 人体红外传感器检测

HC‑SR501 传感器:检测到人体 / 物体时输出高电平 1;前方无目标输出低电平 0。程序循环读取 GPIO 引脚电平,判断是否需要开闸。

小缺点:红外传感器对环境光线变化比较敏感,强光直射环境下容易出现误触发。

2.SG90 舵机 PWM 控制

SG90 舵机标准控制信号为50Hz PWM 波形,依靠高电平的脉冲时长决定旋转角度:

  • 0°:对应闸门关闭;
  • 90°:对应闸门完全抬起打开。
    程序内部封装角度转换函数,把输入角度换算成 PWM 占空比,输出脉冲驱动舵机转动。

3. 整套业务控制流程

  1. 设备上电初始化,舵机复位 0°,闸门默认关闭,进入等待检测状态;
  2. 循环读取红外传感器 GPIO 电平;
  3. 若检测到物体(高电平),输出 PWM 控制舵机转到 90°,闸门打开;
  4. 延时 3 秒模拟通行时间;
  5. 延时结束,舵机回到 0°,闸门落下关闭,回到检测等待状态。

💻软件模块拆解

整个工程分为三大模块:

  1. 外设初始化模块
    初始化 GPIO 为输入模式读取传感器;初始化 PWM 外设,设置 50Hz 频率,为舵机驱动做准备。
  2. 舵机角度驱动函数
    封装函数,传入角度参数,自动换算 PWM 占空比,控制舵机转到指定角度。
  3. 主循环业务逻辑
    循环采集传感器信号,按照 “检测‑开闸‑延时‑关闸” 完成完整逻辑。

同时本实验还拓展了 MQTT 联网能力,可以将闸门的开 / 关状态上传云平台,在仪表盘查看实时状态与历史操作日志,串口也可以打印闸门运行调试信息,方便开发排错。

✨实际实验现象

  • 上电初始化:舵机自动复位,闸门保持关闭;
  • 手靠近红外传感器:传感器触发,舵机转动抬起闸门;
  • 闸门保持打开约 3 秒,之后自动落下关闭;
  • 如果物体一直挡在传感器前,闸门完成一次开关后会再次触发开闸;
  • 物体移开之后,闸门维持关闭,等待下一次触发。

实验过程遇到两个典型问题,也是嵌入式开发高频坑点:

  1. 舵机抖动、转动无力:舵机耗电较大,板载 3.3V 供电带不动,更换稳定的 5V 独立供电后恢复正常。
  2. 闸门无故自己打开:光线剧烈变化导致人体红外传感器误触发,这是红外传感器本身的特性局限。
  3. 舵机完全不动:排查硬件接线,核对原理图,确认 PWM、GPIO 引脚没有接错。

📝实验收获

通过这个小项目,完整理解了嵌入式经典模型:传感器采集 → 主控逻辑处理 → 执行器输出

  1. 掌握 OpenHarmony 下 GPIO 输入读取、PWM 外设输出配置;
  2. 搞懂舵机依靠 PWM 脉冲控制转角的底层原理;
  3. 学会硬件故障排查思路:现象→对照原理图→检查接线→排查电源;
  4. 明白做项目不只是把功能跑通,还要考虑工程实际问题:电源稳定性、传感器抗干扰。

当然这套只是教学演示模型,对比工业真实道闸还有很多需要完善。真实道闸必须加上机械限位保护、电机过载保护、防夹检测、故障报警等安全机制。

💡拓展创新思路

如果继续迭代这个智能闸门项目,可以尝试这些方向:
1.🌐远程云端控制:基于 Wi‑Fi+MQTT 云平台,实现手机 APP 远程手动开关闸门,本地自动 + 远程控制双模式;
2.🆔身份鉴权开闸:增加 RFID 刷卡模块,只有有效卡片才可以触发开闸,模拟小区门禁道闸;
3.🔍多传感器融合:增加超声波传感器替换红外,减少光照误触发;加入红外对射,只有物体完全离开之后再关闸,实现防夹;
4.📊状态可视化与日志:外接屏幕实时显示闸门状态,云端记录每次开闸时间;
5.⚠️故障报警保护:检测舵机驱动异常时触发蜂鸣器报警;增加限位检测,防止舵机超角度旋转损坏机械;
6.⏰定时模式:增加定时逻辑,在指定时间段自动开关闸门,适配园区、停车场场景。

结尾

小小的智能道闸项目,把 GPIO、PWM、传感器、执行器、物联网云平台串在了一起。OpenHarmony 不仅仅可以做设备软件,也很适合这种硬件联动的嵌入式实践。后续打算继续优化传感器抗干扰逻辑,把防夹功能加上,把这个 Demo 进一步完善。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐