本帖最后由 lxf 于 2020-9-3 18:28 编辑
1、课程简介
这节课引入程序循环,实现特定程序、重复执行特定次数的程序编写,实现浪漫的呼吸灯和SOS求救信号灯。 本节课所需硬件:X-TACO板、配套USB数据线、配套磁吸线、 配套LED灯。
2、知识点
for循环、变量及应用、模拟输出与PWM控制。
3、基础案例
任务1完成浪漫的呼吸灯,LED灯慢慢的点亮,之后再慢慢的熄灭,任务2完成SOS求救信号灯。一般用强光手电发送SOS国际标准求救信号,灯光闪烁方式为:三短表示S,三长表示O,以此代表求救信号。紧急求救时,普通的强光手电就是这样,手工操作,先快三下,再慢三下,然后再快三下。快慢也是有标准的,可以按照以下的方式进行,快闪时不到一秒,慢闪时超过1秒就可以。国际通用SOS紧急求助:三短、三长、三短,一分钟后继续重复。
实验步骤
1、将LED灯上的四个针脚连接磁吸线上的四个针脚孔。 2、将磁吸线接到X-TACO板的P1磁吸口上。
实物连接
4、Mixly模块
模拟输出
所处位置:“xforce”栏 模块功能:向指定端口输出PWM信号。 PWM输出数值范围为0~255。
循环模块
模块作用:用于重复执行特定程序代码指定次数。
for循环是程序设计中常用的循环形式之一,可以控制程序将程序代码执行特定次数。for循环中存在一个变量i,一个起始值(默认值为1),一个终止值(默认为10),一个步进值(默认为1)。 变量i的数值从1开始增加,每执行完一次循环内的程序,i的值增加步长(即i=i+步长,步长默认为1),如果i的值超过了终止值10,则停止循环,否则继续执行循环内的程序代码。
起始值可以不为1
步进值也可以为负值,但必须为整数。
5、程序
任务1 浪漫的呼吸灯
任务2 SOS求救信号灯
6、关联知识讲解
模拟信号
模拟信号是指信息参数在给定范围内表现为连续的信号, 或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。
模拟输出与PWM调制
在上节课所用的语句中,只有高电平(逻辑判断为真)和低电平(逻辑判断为假)两种状态,对应的,也只能实现灯的亮与不亮。要实现对灯亮度的控制,我们可以利用Arduino的PWM口来实现。Arduino X-TACO开发板的主控芯片与UNO一致为atmega328p,支持pwm功能的口共有6个,分别是3、5、6、9、10、11,我们可以在板上看到有些口标注着“*”,表示这个接口支持以pwm的方式工作,当然这些口也可以当普通的数字输出口使用。在我们X-TACO里其实磁吸口对应的是3、9、10、11,也就是我们p1至p4的磁吸口都支持pwm功能。Arduino的pwm支持256级输出,也就是我们可以设置模拟值的范围在0-255,其中255就表示100%的pwm输出。
脉冲周期
相邻两次脉冲之间的时间间隔,周期的倒数即脉冲频率。
占空比
在一次脉冲周期内高电平持续时间与脉冲周期的比值。 PWM实际是通过高低电平的快速切换来实现模拟信号的输出效果的,在一个脉冲周期内,若占空比为50%,则相当于灯全亮半个周期,之后灯熄灭半个周期。 Arduino的PWM信号脉冲周期仅有0.002s,即每秒500个脉冲周期,由于人眼的视觉残留效果,呈现出的视觉效果相当于50%的亮度,而此时PWM等效输出电压V=5V×占空比=5V×50%=2.5V。
|