跳到主要内容

家长与教师指南

第 5 周:让机器人作出反应

课时长度:70 至 85 分钟

学习目的

这是编程的重头戏周。学生要把第 4 周的传感器和第 3 周的顺序结构,跟循环和条件组合到一起,让机器人能自己作出反应。他们会学到:循环负责重复步骤,无限循环会一直重复到有人叫停,而「重复直到」循环则一直跑到某个条件变成真为止。他们还会认识条件和布尔(真/假)判断,然后用「如果」和「如果/否则」来选择动作。他们要编写避障程序:循环、读距离传感器,一旦有东西靠近就转弯;还要探索循线,通过查看光线或颜色传感器来调整方向、始终压在线上。

预期的学生成果

这一周结束时,学生将能够:

  • 说明循环、无限循环和「重复直到」循环各自是怎样重复步骤的
  • 把条件描述成一次非真即假(布尔)的判断
  • 用「如果」在条件为真时才执行步骤,用「如果/否则」在两个动作之间作选择
  • 用循环读取距离传感器,并在有东西靠近时转弯,从而编出避障程序
  • 说明循线是怎样不停查看光线或颜色传感器,来调整方向、始终压在线上的

建议的节奏

About 70 至 85 分钟. Adjust to your group - these are guides, not limits.

步骤重点分钟
循环与条件循环、无限循环、重复直到、条件、布尔值、如果,以及如果/否则。18 min
避障程序循环、读距离传感器,并用「如果/否则」在近了时转弯。20 min
预测遇墙时的反应先预测机器人碰到墙会怎么做,再动手验证。6 min
反应可靠性测试跑三次,并记录机器人有没有避开障碍物。8 min
循线探索用光线/颜色传感器配合「重复直到」和「如果」,让机器人压在线上。18 min
知识检测关于循环、条件和作出反应的五道题。8 min
反思写一写「如果」和「如果/否则」的区别,以及为什么作出反应离不开循环。7 min

开始之前

场地布置

  • 为每位学生或每组打印规划页、「如果/否则」决策卡和反应测试记录表。
  • 走套件路线的:先充好电,装上距离传感器和光线或颜色传感器,并布置一个小型障碍赛道和一条胶带线。
  • 走模拟器路线的,在每台设备上打开障碍赛道和循线两个任务。

提前准备

  • 自己先把避障套路编一遍,好摸清你手上这个传感器适用的「靠近」值。
  • 用你真正要用的那卷胶带和那块地板,核对光线/颜色传感器在线上和离线时的读数。
  • 提前把不插电路线用的「一直循环」「如果」和「如果/否则」卡片剪好。

材料

  • 积木程序规划页(可打印)(套件, 模拟器, 不插电)
  • 「如果/否则」决策卡片组(可打印)(套件, 模拟器, 不插电)
  • 反应测试记录表(可打印)(套件, 模拟器, 不插电)
  • 一套带距离传感器和光线或颜色传感器的可编程机器人套件(套件)
  • 纸箱或书本,用来搭一个小型障碍赛道(套件)
  • 浅色地板上的深色胶带(或者印出来的线),用于循线(套件)
  • 装有浏览器模拟器的电脑或平板(模拟器)
  • 程序卡片(一直循环、如果、如果/否则、前进、转弯、读传感器、停),以及地板网格或一条胶带线(不插电)
  • 一位同伴来扮演机器人,照着卡片行动(不插电)

安全

  • caution会作出反应的机器人会自己改变方向,所以它行驶时,让手指、头发和宽松的衣服远离转动的轮子。(套件)
  • caution把胶带线和障碍赛道的道具都贴平放稳,并清空地面,免得运行时有人绊倒。(套件, 不插电)
  • info常常保存你的积木程序,免得刷新浏览器时把成果弄丢。(模拟器)

怎样组织这节课

  1. 1.动手编程之前,先借助第 1 周的「感知、决定、行动」循环,讲清楚循环、无限循环与「重复直到」的区别,以及条件(真/假)。
  2. 2.带着全班一起搭出避障套路(一直循环、读传感器、如果/否则),然后让学生两人一组去改造它。
  3. 3.做预测和三次反应测试,让学生明白「会反应」讲的是可靠性,而不是碰巧成功的那一次。
  4. 4.把循线当作一种不停查看、不停修正的行为来探索;机器人会扭来扭去,别指望笔直。
  5. 5.以知识检测和反思收尾。

常见误解

  • 「机器人只要查一次就行了」:没有循环,它只会反应一次,之后就不再有任何回应。
  • 「如果/否则会把两支都执行」:它只会执行为真的那一支,或者为假的那一支。
  • 「转得越大越跟得住线」:大幅修正每次都会冲过头;小幅、频繁的修正才管用。
  • 把传感器数字和条件混为一谈:传感器给的是数字,条件把它变成真或假。

可以问的问题

  • 循环在哪里?是什么让它停下来的?
  • 这里的条件是什么?它什么时候为真?
  • 机器人在「否则」那一支里做什么?它为什么需要这一支?
  • 机器人是怎么知道自己偏离了线的?

课堂与分组的调整

降低难度

给学生一个几乎写好的程序,只把「如果/否则」留空,他们只需要填上「转弯」和「向前走」。

提高难度

让学生用嵌套的「如果/否则」把两种行为合到一起:既沿线行驶,又要避开压在线上的一个障碍物。

小组与全班

In pairs or small groups, give each student a role that rotates - driver (builds or types), navigator (reads the plan), and recorder (fills the worksheet) - so everyone participates. For a whole-class demo, run one shared robot or simulator on the board, have students predict together, then let groups repeat it on their own path. Groups can also mix paths: one builds on the kit while another checks the same idea in the simulator or unplugged, then they compare results.

有器材与无器材说明

Every activity this week runs three ways - all three teach the same core idea, so pick whichever fits your room. No specific product is required.

套件

  • 积木程序规划页(可打印)
  • 「如果/否则」决策卡片组(可打印)
  • 反应测试记录表(可打印)
  • 一套带距离传感器和光线或颜色传感器的可编程机器人套件
  • 纸箱或书本,用来搭一个小型障碍赛道
  • 浅色地板上的深色胶带(或者印出来的线),用于循线

模拟器

  • 积木程序规划页(可打印)
  • 「如果/否则」决策卡片组(可打印)
  • 反应测试记录表(可打印)
  • 装有浏览器模拟器的电脑或平板

不插电

  • 积木程序规划页(可打印)
  • 「如果/否则」决策卡片组(可打印)
  • 反应测试记录表(可打印)
  • 程序卡片(一直循环、如果、如果/否则、前进、转弯、读传感器、停),以及地板网格或一条胶带线
  • 一位同伴来扮演机器人,照着卡片行动

疑难排查

这一周活动中常见的问题,以及可以试试的办法。

  • 机器人直愣愣地撞上障碍物套件Try: 检查那个「如果」是不是真的在读传感器,以及当墙就在正前方时,你设的「靠近」值是不是比读数更大。
  • 机器人在原地打转,停不下来套件Try: 你的「靠近」值可能太大了,导致它总觉得旁边有东西;把它调小,或者在「否则」里加一小段前进。
  • 机器人开出了网格,或者撞进墙里模拟器Try: 确认读传感器和「如果/否则」是放在循环里面、而不是循环后面,这样每一步才会检查一次。
  • 机器人只会转弯,从来不往前走模拟器Try: 把前进放进「否则」那一支,这样前方畅通时它才会往前开。
  • 「机器人」作弊,直接绕着障碍物走不插电Try: 提醒他机器人只能照卡片来;必须真的去判断那个条件,再按判断结果行动。
  • 机器人忘了要一直判断不插电Try: 「一直循环」那张卡的意思就是每次都要回到最上面;每做完一个动作就指一下那张卡。
  • 机器人一上来就跟丢了线套件Try: 重新核对在线上和离开线时的读数,把阈值定在两者之间;这两个读数必须差得够明显。
  • 机器人在原地打圈套件Try: 把修正的转弯幅度调小;幅度一大,每次都会冲过头。
  • 循环永远结束不了模拟器Try: 检查「重复直到」的那个条件(到达终点格)在这条路径上确实有机会变成真。
  • 机器人渐渐偏离了线模拟器Try: 确认读传感器和「如果/否则」都在循环里面,这样它才会每一步都检查并修正。
  • 「机器人」一路顺顺当当走完了整条线,根本没检查不插电Try: 那是人在提前规划:让他每走一步都停一下,重新判断一次条件,就像循环那样。
  • 「机器人」为往哪边转跟人争起来了不插电Try: 把规则写成「离开线就一律朝线的方向转」,这样就没有猜的余地了。

知识检测参考答案

这里的答案只给成人看;学生活动纸上是不显示答案的。

  1. 1. 判断这句话是对还是错。

    正确答案:

    原因:错。无限循环会一直重复下去,直到有什么把它停住;它自己是不会结束的。

  2. 2. 循环在程序里起什么作用?

    正确答案:它把一个或多个步骤重复执行,省得你一遍遍地写出来

    原因:循环替你重复步骤,这样机器人不用一段又长又臭的程序,也能反复地做某件事或查某件事。

  3. 3. 无限循环和「重复直到」循环有什么区别?

    正确答案:无限循环会一直重复到你停掉程序;「重复直到」循环会一直重复到某个条件变成真

    原因:无限循环只有在你停掉程序时才会停;「重复直到」循环一旦条件变成真,就会自己停下。

  4. 4. 像「墙近不近?」这样的条件,答案只能是:

    正确答案:真或假(一个布尔值)

    原因:条件是一次非真即假的判断,而只取真或假的值就叫布尔值。

  5. 5. 「如果/否则」积木块是干什么的?

    正确答案:条件为真时执行一组步骤,为假时执行另一组步骤

    原因:「如果/否则」积木块在两个动作之间作选择:条件为真时走「如果」那些步骤,为假时走「否则」那些步骤。

  6. 6. 避障是怎么工作的?

    正确答案:一个循环读取距离传感器,如果有东西靠近机器人就转弯;否则就往前走

    原因:避障就是一个循环:读取距离传感器,并用「如果/否则」在有东西靠近时转弯、在前方畅通时前进。