RB04 红绿灯

课程概述

  • 课程名称:见标题
  • 课程时长:40 分钟 × 2
  • 课程内容:程序控制若干 LED 模拟路口红绿灯交替亮灭效果
  • 学生群体:3~6 年级
本课内容参考来源:
1. 《树莓派初级课程V1(吴俊杰老师18课时)》第 5 课
2. 课件 1.0 初级 1,第 04 课 
3. 酌情增删内容

教学目标

考察点

  • 红绿灯的概念
  • 小灯安装。(需要延长线,连接非 LED 专用插座)
  • 懂得条件语句的使用
  • 懂得循环的基本使用

知识与技能

  • 条件循环、无限循环
  • 变量
  • 流程图
  • 布尔值,逻辑运算

情感价值和学科交叉

  • 红绿灯和交通安全

难点和注意事项

  • 变量的理解和使用
  • 多组控制的协同
  • 杜邦线连接的操作,公母头,连线接头的对应

教学准备

  • 按教学准备基础要求进行准备
  • 其它准备工作:需要延长线(杜邦线)连接 GPIOLED

课堂教学活动

暖场(10分钟)

活跃气氛,复习上节课内容,引入本节课主题

复习:

  • 流水灯
  • 红外手势控制流水灯

课堂讲解:红绿灯 (60分钟)

教学提纲:

  • 前篇
    • 任务一:简单红绿灯(流水灯)
    • 任务二:一个方向的红绿灯
    • 任务三:使用变量让程序易读
    • 无限循环
  • 后篇
    • 任务四:使用杜邦线制作第二个方向的红绿灯;
    • 任务五:两个方向的红绿灯
    • 回顾变量的概念和使用
  • 扩展内容 (根据学生程度酌情加入,不影响主线课程进度)
    • 流程图

授课内容:详见下文“讲义”部分。

巩固练习和作业

  • 真正的红绿灯两个方向的黄灯不是同时亮的
  • 可否用基础里的设置GPIO()为()命令替换控制小灯开关的命令;
  • 用调试输出显示倒计时;
  • 过马路功能:按下按钮,将黄闪过几秒后改为绿灯且对向从绿、黄改变为红灯

总结与点评(10分钟)

(回顾课程知识点,根据情况提问。如果有学生作品,邀请学生上台演示、讲解。)

思考题:

  • 什么是变量?
  • 引入变量是否让程序更容易编写?

讲义 (完整授课内容和补充知识)

任务一:最简单的红绿灯

什么是红绿灯?

红绿灯由红、黄、绿三种颜色的灯交替亮灭,达到警示提醒的作用。其中红灯和绿灯亮的时间长一些,黄灯亮的短一点,三灯亮的顺序为:红——黄——绿。

红绿灯在现代交通体系中占据十分重要的地位。

最简单的红绿灯看起来是一个三色流水灯。

操作:将红黄绿三色 LED 分别插入 5、6、12 号插座。用制作流水灯的方法制作简单的红绿灯。

任务二:一个方向上的红绿灯;无限循环

红绿灯需要全天候工作,因此,需要一个无限循环。

在学习无限循环之前,我们需要了解无限循环通常是应该尽量避免的。任何循环终归需要一个结束循环的条件。所以实际上我们需要的是一个“条件”循环,意思是当某种条件满足时就会执行循环体的内容,否则就会终止。

我们用一个条件循环,将条件设置为始终为真的变量就可以实现无限循环。我们来做一个更加接近真实的红绿灯,黄灯亮的时间短于红灯和绿灯:

其中“真”这块积木在“条件”分组中。它是一个布尔值。实际上在编程中,所有的条件检查都是在检查布尔值“真”或“假”,条件为“真”时就表示条件满足,否则不满足。

简单实验一下即可。在后续的实验中,还是采用限定重复次数的循环。

任务三:使用变量

为了让程序易读,我们引入变量来标记红黄绿灯。 标准的控制灯光的积木不接受变量,因此改为直接使用 GPIO 控制。

任务四:两个方向的红绿灯

红绿灯分为前后左右四个方位,如果将前后当作一个方向,左右就是另一个方向。尝试做出两个方向上的红绿灯,让作品更接近现实。

硬件连接:

首先需要用杜邦线连接 LEDGPIO。将红黄绿 LED 的正极通过线缆分别插入 GPIO 3,2,17。负极接地(GND)。

首先尝试在这个新增的方向(方向 2)上做出红绿灯,控制方式不使用直接控制小灯的积木,而是直接用 GPIO 的控制积木。之所以这样做,是因为我们需要用变量来操作。当逻辑逐渐复杂时,数字编号会使程序难以阅读。

前面已经用变量控制了一个方向的红绿灯。我们现在新建一组变量来控制第二个方向的红绿灯。可以简单复制第一个方向的代码。

流程图

方向1和方向2两组红绿灯需要协同工作。逻辑似乎有点复杂,我们来用一个新的工具“流程图”来梳理整个工作过程。

如下流程图,展现了顺序和循环结构:(图后补,这里是额外扩充内容,根据课堂进度,可详细介绍流程图的使用或一句带过)

任务五:两个方向的红绿灯协同

按照流程图,我们来编写脚本。

变量

什么是变量? 变量就是装东西(值、大小)的盒子

变量的作用? 暂时存放当前(这一次)的取值

下次可以取出来用(比如,进行条件判断)

变量需要先“赋值”(初始化)再使用。

变量在使用过程中,可以改变它的值,所以叫做“变”量

课件

根据本教学计划和讲义,以及具体授课对象编写。

文件名应为:

RB04-红绿灯.pptx

Copyright © 古德微 2023 all right reserved,powered by GDWRobot本课修订时间: 2021-10-13

results matching ""

    No results matching ""