第八课 可旋转探测雷达 (下)
——结合舵机与超声波传感器制作智能安防系统
课程目标
- 多组件协同控制:掌握舵机、超声波传感器、蜂鸣器的联动逻辑。
- 动态环境感知:实现舵机带动超声波雷达180°扫描,实时探测障碍物。
- 编程进阶:通过Linkboy编写循环扫描与报警程序。
- 应用拓展:探索雷达技术在智能家居、自动驾驶中的实际应用。
硬件清单与功能说明
| 名称 | 数量 | 作用与注意事项 | | ———————— | —- | ———————————————————— | | Arduino UNO主板 | 1 | 主控核心,协调舵机、超声波传感器与蜂鸣器。 | | 180度舵机 | 1 | 驱动超声波雷达旋转,需连接PWM针脚(如9号)。 | | 超声波传感器(HC-SR04) | 1 | 发射超声波并接收回波,测量障碍物距离(范围2cm-400cm)。 | | 有源蜂鸣器 | 1 | 检测到障碍物时发声报警,正极接数字针脚(如6号),负极接GND。 | | 舵机支架 | 1 | 固定超声波传感器与舵机,确保旋转稳定性。 | | 面包板 | 1 | 提供无焊接电路连接,简化接线流程。 | | 杜邦线(公对公、公对母) | 若干 | 连接主板与各元件,公对母线适合传感器与支架连接。(推荐使用红色代表正极,黑色代表负极便于区分) | | USB数据线 | 1 | 上传程序并为Arduino供电。 |
第一部分:系统原理与设计思路
1. 雷达扫描逻辑
- 舵机旋转:舵机以1°步进从-90°旋转至90°,再反向转回,形成往复扫描。
- 超声波测距:每个角度暂停0.01秒,触发超声波传感器测量距离。
- 报警触发:当障碍物距离<20cm时,蜂鸣器鸣响;否则关闭。
2. 核心原理
超声波测距:通过发射-接收时间差计算距离(公式:距离= (ΔT×340)/2)。
舵机控制:PWM信号控制角度,0°-180°对应脉宽500μs-2500μs。
蜂鸣器驱动:数字信号输出高电平触发蜂鸣器发声。
3.目标系统设计
- 传感器:超声波测距器
- 控制器:Arduino UNO主板
- 执行器:舵机,有源蜂鸣器
第二部分:硬件连接与电路设计
1. 接线步骤
- 舵机部分:
- 信号线(橙色) → 9号针脚,电源正极(红色) → 5V,负极(棕色) → GND。
- 超声波传感器:
- VCC → 5V,GND → GND,Trig → 7号针脚,Echo → 8号针脚。
- 蜂鸣器:
- 正极 → 6号针脚,负极 → GND。
✅ 电路示意图:
Arduino UNO
│
├─ 7号针脚 → 超声波Trig
├─ 8号针脚 → 超声波Echo
├─ 9号针脚 → 舵机信号线
├─ 6号针脚 → 蜂鸣器正极
├─ 5V → 超声波VCC + 舵机正极
└─ GND → 超声波GND + 舵机负极 + 蜂鸣器负极
第三部分:Linkboy编程——动态扫描与报警
1. 虚拟电路搭建
- 打开Linkboy,拖入以下模块:
- Arduino UNO主板(主控板 → Arduino Nano/Uno)。
- 舵机(驱动输出 → 马达和舵机 → 180度舵机)。
- 超声波传感器(传感输入 → 探测传感器 → 超声波测距器)。
- 蜂鸣器(驱动输出 → 声音输出 → 有源蜂鸣器)。
- 延时器(软件模块 → 定时延时)。
- 连线步骤:
- 主板7号针脚 → 超声波Trig,8号针脚 → 超声波Echo。
- 主板9号针脚 → 舵机信号线,6号针脚 → 蜂鸣器正极。
- 超声波传感器VCC → 5V,GND → GND。
- 舵机和蜂鸣器负极均连接GND。
2. 编写扫描报警程序
-
初始化设置:
- 舵机初始角度设为-90°。
-
主程序逻辑:
反复执行: 反复执行180次: 舵机角度+1° → 触发超声波测距 → 若距离<20cm则蜂鸣器响 → 延时0.01秒 反复执行180次: 舵机角度-1° → 触发超声波测距 → 若距离<20cm则蜂鸣器响 → 延时0.01秒 -
具体操作:
- 使用“循环次数”指令控制舵机步进(180次)。
- 添加“条件判断”模块,根据超声波距离控制蜂鸣器状态。 (这一步与上节课程序相似)
- 仿真测试:观察虚拟舵机旋转与蜂鸣器响应是否符合预期。
第四部分:实战操作——组装与调试
1. 硬件组装步骤
- 固定传感器:将超声波传感器安装在舵机支架上,确保朝向正前方。
- 连接线路:
- 使用公对母杜邦线连接舵机支架上的传感器与主板。
- 蜂鸣器直接插入面包板,避免晃动。
✅ 检查要点:
- 舵机旋转时支架无卡顿,传感器方向垂直。
- 所有电源线(5V/GND)连接稳固,避免接触不良。
- 这一步骤一定要认真完成,如果连接错误,主板在通电后很可能会烧坏,一定要注意安全!
2. 上传程序与测试
- 用USB线连接Arduino与电脑,选择正确串口号上传程序。
- 观察现象:
- 舵机带动传感器匀速旋转,靠近障碍物时蜂鸣器鸣响。
- 调整障碍物距离,验证报警阈值是否准确。
第五部分:常见问题与解决方法
| 问题 | 可能原因 | 解决方案 | | —————- | ———————- | —————————————— | | 舵机不旋转 | PWM针脚错误或供电不足 | 检查9号针脚连接,确保5V供电稳定。 | | 蜂鸣器持续鸣响 | 超声波数据读取失败 | 重新校准Trig(7号)与Echo(8号)针脚。 | | 扫描范围不足180° | 机械阻力或程序步进错误 | 检查舵机支架是否卡住,调整程序步进值为1°。 |
第六部分:知识延伸与创意挑战
1. 实际应用场景
- 智能安防系统:扫描房间角落,检测入侵者并触发警报。
- 扫地机器人导航:动态避障,规划清扫路径。
2. 动手挑战
- 任务1:添加LED灯,距离越近灯光闪烁越快。
- 任务2:结合按钮模块,实现不同挡位的雷达旋转速度。
课后作业
- 实践任务:完成可旋转雷达模型,录制扫描与报警演示视频。
- 思考题:如何让雷达扫描速度随障碍物距离动态调整?
下节预告:学习电机马达的使用,制作“马达小风扇”!
作者寄语:科技的眼睛在旋转中洞察世界,愿你的创造力如雷达般敏锐,探索未知的每一个角落! 🌍🔍