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

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

results matching ""

    No results matching ""