找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 lxf 于 2020-9-3 18:28 编辑



1、课程简介

这节课引入程序循环,实现特定程序、重复执行特定次数的程序编写,实现浪漫的呼吸灯和SOS求救信号灯。
本节课所需硬件:X-TACO板、配套USB数据线、配套磁吸线、 配套LED灯。

微信图片_20200902134011.png

2、知识点

for循环、变量及应用、模拟输出与PWM控制。

3、基础案例

任务1完成浪漫的呼吸灯,LED灯慢慢的点亮,之后再慢慢的熄灭,任务2完成SOS求救信号灯。一般用强光手电发送SOS国际标准求救信号,灯光闪烁方式为:三短表示S,三长表示O,以此代表求救信号。紧急求救时,普通的强光手电就是这样,手工操作,先快三下,再慢三下,然后再快三下。快慢也是有标准的,可以按照以下的方式进行,快闪时不到一秒,慢闪时超过1秒就可以。国际通用SOS紧急求助:三短、三长、三短,一分钟后继续重复。

实验步骤

1、将LED灯上的四个针脚连接磁吸线上的四个针脚孔。
2、将磁吸线接到X-TACO板的P1磁吸口上。

实物连接

图片2.png


4、Mixly模块

模拟输出

图片3.png

所处位置:“xforce”栏
模块功能:向指定端口输出PWM信号。
PWM输出数值范围为0~255。

循环模块

图片4.png

所处位置:控制栏
模块作用:用于重复执行特定程序代码指定次数。

图片5.png

for循环是程序设计中常用的循环形式之一,可以控制程序将程序代码执行特定次数。for循环中存在一个变量i,一个起始值(默认值为1),一个终止值(默认为10),一个步进值(默认为1)。
变量i的数值从1开始增加,每执行完一次循环内的程序,i的值增加步长(即i=i+步长,步长默认为1),如果i的值超过了终止值10,则停止循环,否则继续执行循环内的程序代码。

起始值可以不为1

图片6.png

步进值也可以为负值,但必须为整数。

图片7.png

5、程序

任务1
浪漫的呼吸灯

微信图片_20200902133824.png

任务2
SOS求救信号灯

图片9.png

6、关联知识讲解

模拟信号

模拟信号是指信息参数在给定范围内表现为连续的信号, 或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。

图片10.png

模拟输出与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。

图片11.png


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册