案例八:条件判断入门——机器人避障编程
案例简介
在掌握顺序执行、循环模块与变量的基础上,引导学生学习 MakeCode 中"条件判断"模块(如果…那么…否则…)的功能与使用方法。结合 PU 机器人超声波传感器的避障功能,理解"检测到障碍物→执行对应动作"的判断逻辑,编写避障行走程序,让机器人具备基本的"自主决策"能力,培养逻辑思维与问题解决能力,为后续综合探究编程奠定基础。
教学准备
| 名称 | 图示 |
|---|---|
| PU 机器人套装 | ![]() |
| 编程设备(电脑) | |
| 平整地面 | |
| 障碍物(积木块/书本) |
课程目标
理解"条件判断"的概念,掌握 MakeCode 中"如果…那么…否则…"模块的功能与使用方法;
了解 PU 机器人超声波传感器的工作原理,能在 MakeCode 中读取超声波检测结果并设置距离阈值;
能结合条件判断模块与超声波传感器,编写"检测到障碍物则停止转弯,否则继续前进"的避障程序;
理解"条件判断"是程序从"按顺序执行"走向"自主决策"的关键结构,培养逻辑思维与问题解决能力。
课程引入
前几节课,机器人的所有动作都是我们提前安排好的——按顺序一步一步执行,不管遇到什么情况都照单全收。但真正聪明的机器人应该能"看到情况、自己判断、做出反应"!今天我们要给机器人装上"眼睛"——超声波传感器,再教它学会"如果……那么……"的判断逻辑,让它遇到障碍物能自己决定怎么办,从"听话的执行者"变成"会思考的小机器人"!
学习探究
旧知巩固与新需求引入:回顾循环模块与变量的应用,播放一段机器人直线前进撞上障碍物的演示,提问:"机器人为什么不会躲避障碍物?它缺少什么能力?" 引导学生意识到:机器人需要具备"感知环境→判断情况→执行对应动作"的能力,从而引出条件判断的学习主题。
超声波传感器认知:介绍 PU 机器人超声波传感器的基本原理:
- 超声波传感器向前方发射声波,声波碰到障碍物后反弹回来,传感器通过计算声波往返时间,得出与障碍物的距离;
- 在 MakeCode 中,可以通过"超声波检测"积木块实时读取前方障碍物的距离数值(单位:cm);
- 演示:将手放在机器人前方不同距离处,在 MakeCode 中观察超声波读数的变化,直观理解"距离越近,数值越小";
- 引出关键问题:"如果我们设定一个距离阈值,当读数小于这个值时,就认为'检测到障碍物',该触发什么动作?"
新模块学习——条件判断:重点讲解 MakeCode 中"如果…那么…否则…"模块:
- 结构说明:条件判断模块分为三部分——"条件"(判断真假的表达式)、"那么"(条件成立时执行的动作)、"否则"(条件不成立时执行的动作);
- 生活类比:就像我们出门前判断"如果下雨,那么带伞,否则不带",机器人也能用同样的逻辑做决定;
- 与循环结合:说明条件判断通常嵌套在"重复执行"循环中持续检测,而非只判断一次——"循环让机器人持续'看',条件判断让机器人持续'想'";
- 演示将"超声波检测值 < 10"作为条件,分别设置"那么"分支(停止+转弯)与"否则"分支(继续前进)的积木块组合。
避障逻辑设计:引导学生用流程图梳理避障程序逻辑:
开始
↓
重复执行
↓
超声波检测前方距离
↓
距离 < 10cm?
/ \
是 否
↓ ↓
停止 继续前进
↓
转弯
↓
继续循环
让学生对照流程图,逐步将逻辑转化为 MakeCode 积木块,理解"流程图 → 程序"的设计思路。
- 分组编程与实测:各组在桌面或地面设置积木块作为障碍物,完成以下任务:
- 基础任务:编写避障程序,实现"检测到障碍物(距离 < 10cm)→停止→右转 90°→继续前进",测试机器人能否成功绕开单个障碍物;
- 各组反复测试,调试转弯角度,确保机器人避障后能继续正常前进,培养调试与问题解决能力。
MakeCode 编程
程序一:检测到障碍物的距离

程序链接:https://makecode.microbit.org/_RfC1cCfL2ikA
程序二:检测到障碍物停止并转弯

程序链接:https://makecode.microbit.org/_1ofLLt7iVJ3M
总结分享
邀请各组展示避障效果,分享调试过程中遇到的问题与解决方法:不同距离阈值对机器人避障行为有什么影响?条件判断模块和之前学过的顺序执行、循环模块有什么区别和联系?教师结合学生分享,总结三大核心程序结构的关系:
顺序执行让机器人"按步骤做事";
循环让机器人"持续重复做事";
条件判断让机器人"根据情况自己决定做什么";
三者结合,机器人就能完成更复杂、更智能的任务。预告后续课程将综合运用这三大结构,挑战更复杂的编程项目。
