RB07 滑杆电位器和模数转换
课程概述
- 课程名称:见标题
- 课程时长:40 分钟 × 2
- 课程内容:利用滑杆开关学习电位器的使用
- 学生群体:3~6 年级
本课内容参考来源:
1. 课件 1.0 初级 1,第 09 课
2. 酌情增删调整
教学目标
考察点
- 能说出模拟量和数字量的特点和区别
- 能使用滑杆控制灯的明暗
- 能说出什么是字符串
- 能生成字符串并输出
知识与技能
- 电阻
- 分压电路
- 电位器
- 模拟信号和数字信号
- 信号的获取
- 字符串
情感价值和学科交叉
(略)
难点和注意事项
模拟信号和数字信号两个概念对于小学生来说可能比较难解释。不强求每个人都明白。 可以简单说明数字信号的代表为 1、0,模拟信号代表为连续曲线,二者之间无法直接识别,需要进行转换。转换的过程称为“模数转换”。
教学准备
- 按教学准备基础要求进行准备
- 其它准备工作:(I2C 模块)
课堂教学活动
暖场(10分钟)
活跃气氛,复习上节课内容,引入本节课主题
- 复习开关控制
- 复习流水灯
课堂讲解:滑杆电位器和模数转换 (70分钟)
教学提纲:
- 前篇
- 模拟信号和数字信号
- 分压电路和电位器;
- 滑杆开关的基本原理;
- 任务一:获取滑杆数据并输出调试信息
- 后篇
- 任务二:用滑杆控制小灯亮度
- 任务三:用滑杆控制流水灯
- 扩展任务:用滑杆控制亮度变化的流水灯
授课内容:详见下文“讲义”部分。
讲义(完整授课内容和补充知识)
模拟信号和数字信号
- 模拟信号【Analog Signal】
定义:在时间上与数值上都连续的信号。
模拟信号波形如下。最常见的模拟信号波形就是正弦波。
- 数字信号【Digital Signal】
定义:在时间上和数值上不连续的(即离散的)信号
数字信号波形如下所示:
- 数字电路:对数字信号进行传输、处理的电子线路称为数字电路。
数字电路跟模拟电路相比在对于信号的传输、存储、处理方面有很大优势。
- 二值数字逻辑【Binary Digital Logic】
数字信号在时间上和数值上都是离散的,常用数字0和1来表示,这里的0和1不是十进制数中的数字,而是逻辑0和逻辑1,故称之为二值数字逻辑或简称数字逻辑。
- 逻辑电平【Logic level】
二值数字逻辑的两种状态在电路上可以用电子器件的开关特性(即开通和关断)来实现,于是就形成离散信号或数字电压。这些数字电压通常用逻辑电平来表示。
例如:
电压 | 二值逻辑 | 电平 |
---|---|---|
+2.4V~+5V | 1 | H(高电平) |
0V~0.8V | 0 | L(低电平) |
- 模拟量的数字表示
数字量优于模拟量之处是:数字量更便于存储、分析和传输。因此常将模拟信号转换为数字信号,通过模数转换器(即A/D转换器:【Analog/Digital Converter】)来实现。有时还需将数字信号还原为模拟信号,可通过数模转换器(即D/A转换器:【Digital/Analog Converter】 )来实现。
滑杆的原理和使用
滑杆的原理:
滑杆连线示意:
注意我们需要安装一个模数转换器才能正确读取模拟量。
任务一:获取滑杆数据并输出调试信息
我们用“从 ADS 获取模拟信号”来取得滑杆的模拟信号经过转换的数字量。
然后,通过字符串组合积木来输出可读性更好的调试信息。
任务二:用滑杆控制小灯的明暗
将电位换算为 PWM 的公式:
$$ \frac{滑杆位置}{最大位置} * PWM最大值 $$
由于系统限制,我们在换算过程中需要先转换为小数。因为电位始终会是小数,系统会被自动转换为整数也就是 0,所以我们在计算过程中,需要强制将中间数值转换为小数进行计算。改写一下公式:
$$ (\frac{滑杆位置 * PWM最大值 → 小数}{最大位置}) → 整数 $$
这里,最大电位为 32767,最大 PWM 为 3000。有了这个公式,我们就可以按公式来组合计算积木,见程序中的高亮部分。
将读取到的结果和计算后的 PWM 输出到调试窗口,为了使调试信息更容易分辨,我们使用字符串组合积木来构建调试信息。注意符号“\t”的作用。
既然有了 PWM,用PWM 通过 GPIO 控制小灯亮度就很简单了。
任务三:通过滑杆控制流水灯
- 读取滑杆位置
- 根据滑杆区间位置控制小灯
滑杆数值是连续变化的,如果要控制四盏小灯,我们先给它分段。最大值 32000 多一些,方便起见,我们就按 32000 / 4 每段 8000。当滑杆推至最小时关闭所有小灯,处于容错的目的,数值小于 10 则认为已经推至最小。
以下我们按照最初流水灯实现的方式来用滑杆控制灯亮的时机:
然后我们发现,正向推动滑杆灯会依次亮起来,但是往回推的时候有的灯没有熄灭?这是为什么,先想一想?
原因是往回推时没有熄灭“上一盏”灯。增加一点代码,每次亮灯时都关闭前后的灯即可。同学们可以自己先试试。
下面是示例代码,为了在程序结束时关闭所有灯,增加了一个函数。
扩展任务:用滑杆控制亮度渐变的流水灯
该练习同学们自行完成。
课件
根据本教学计划和讲义,以及具体授课对象编写。
文件名应为:
RB07-滑杆电位器和模数转换.pptx