RB12 数码管应用 2:数码流水灯和计数器
课程概述
- 课程名称:见标题
- 课程时长:40 分钟 × 2
- 课程内容:用数码管实现流水效果,结合红外传感器和按钮制作手势计数器
- 学生群体:3~6 年级
RB11 至 RB13 为集中讲解数码管应用。 课程具有连续性,授课教师可根据情况调整、删减内容
内容来源:
1. 《树莓派初级课程V1(吴俊杰老师18课时)》第 13、14、15 课
2. 课件 1.0 初级 1 第 13、14、15 课
3. 其它调整和增删内容
教学目标
考察点
- 了解闹钟工作原理
- 实时闹钟系列任务
知识与技能
- 函数的参数,形参,实参
- 函数的返回值
- 带参数的循环
- 条件
- 时间获取
- 数码管
- 蜂鸣器
难点和注意事项
多位数处理低年级学生会有困难
教学准备
同上节课
课堂教学活动
暖场(5分钟)
活跃气氛,复习上节课内容,引入本节课主题
课堂讲解(70分钟)
教学提纲:
- 前篇
- 任务一:多位数的显示
- 任务二:数码流水灯
- 任务三:手势计数器
- 后篇
- 巩固练习:挥手加一,按钮减一
- 任务四:红外控制倒数
- 任务五:定时闹钟
- 扩展任务:倒计时交通灯
授课内容:详见下文“讲义”部分。
巩固练习和作业
扩展练习和作业。以下练习非主线任务,可根据整体或个别学生学习情况酌情选择作为课堂巩固练习或课后作业。课堂练习可分为2~3人小组进行讨论合作:
- 显示年份
- 显示日期
- 显示时间
- 轮流显示年份、日期和时间。
- 结合时间进行灯控
- 模拟路灯控制,根据时间控制小灯亮灭 (可通过右下角改变系统时间)
总结与点评(5分钟)
(回顾课程知识点,根据情况提问。如果有学生作品,邀请学生上台演示、讲解。)
讲义
(完整授课内容和补充知识)
任务一:多位数显示 0~9999
整除和取模操作:
1234 // 1000 = 1
1234 % 1000 // 100 = 2
1234 % 100 // 10 = 3
1234 % 10 = 4
- 显示 0-999 的代码
- 0-9999代码
- 用函数来实现:
这里,会用到函数的参数和返回值:
- 巩固练习
可不可以当高位为 0 时不显示?
任务二:数码流水灯
目标:依次显示 1,2,3,4,类似四个小灯构成的流水灯。
因为数码管的编号是连续整数(0~3),因此我们可以利用循环来简化代码。
需要注意的是,数码管编号是 0~3,我们要显示的数字是 1~4,所以要显示的数字是数码管的编号加 1:
任务三:挥手计数器加 1
我们已经学习过了计数加减、红外检测等基本操作,并且前面也已经实现了对显示多位数的函数封装,现在把它们组合起来实现一个手势计数器:
巩固练习:挥手加一,按钮减一
(自主练习)
任务四:用红外线控制数码管倒数
逻辑比较复杂,我们还是引入函数来实现,让逻辑更加清晰。
任务五:简单的定时闹钟
当闹钟获取系统时间,与设定的时间相等时,就会触发蜂鸣器发声
我们在上一课已经学过了获取系统时间指令:
闹钟需要有一个触发条件,通常是设定在未来某个时间,或者设定为给定的某个事件长度之后。很显然,会用到条件语句。
当触发条件达成之后,就需要某种部件来“闹”了。幸运的是,我们有“蜂鸣器”可以完成这个功能。
按照图示连接好蜂鸣器。小提示:
- 如非必要不要撕掉蜂鸣器的纸片,否则声音会比较吵
然后我们来编写简单的脚本,让蜂鸣器在某个给定的时间响起:
一个简单的闹钟就实现了。但是这里有个问题,循环并没有退出。我们下节课学习如何处理。
同时,下节课我们会结合数码管来制作更完善的闹钟,并尝试制作一个“定时炸弹”
扩展任务:倒计时交通灯
给RB04制作的红绿交通灯加上倒计时显示。学生自主练习,教师根据情况辅导。
课件
根据本教学计划和讲义,以及具体授课对象编写。
文件名应为:
RB12-数码管应用2.pptx