内容正文:
创客培训:创意智造第4课 变量与数值运算
信息科技暑假夏令营培训
培训教师:君君
目录
呼吸灯特效
数值变化数值运算
变量
WS2812 灯带简介
三色灯
彩虹渐变灯
情景导入
各位同学,大家在使用蓝牙音箱时,开机后音箱有一个炫丽的灯光效果。这个炫丽的灯光特效是有两部分组成的,第一部分是呼吸灯特效,另外一部分是彩虹渐变灯特效。
同学们,创意智造中如何实现蓝牙音箱的
灯光特效呢?需要用到哪些硬件模块?
呼吸灯特效
呼吸灯特效
什么是呼吸灯特效?
呼吸灯效指灯光在微电脑或控制器的控制下,由亮到暗、再由暗到亮的平缓变化,给人一种柔和、舒适、仿佛“呼吸”的感觉 。
开发板如何实现呼吸灯特效?
通过开发板的数字引脚的“PWM”引脚来控制灯光的亮度。
PWM(脉冲宽度调制)引脚通过控制LED的平均电流,从而平稳的调节亮度。
结合数值变化
PWM引脚的数值变化范围:0~255
数值0表示断电,LED熄灭
数值255表示LED亮度达到最亮
当PWM输出数值0逐渐增大到255时,LED亮度逐渐增强。
当PWM输出数值255逐渐减少到0时,LED亮度逐渐减弱。
循环变化:LED灯形成由暗变亮再由亮变暗的连线变化,使灯光看起来像是在呼吸。通过循环控制,让LED灯一直循环呼吸灯的特效变化。
数值变化
数值运算
数值变化;数值运算
当前的积木代码只是简单的闪烁,一亮一暗,并非是逐渐变暗逐渐变亮,这时需要累加和累减的数值运算。
数值变化;数值运算
算术运算:
加减乘除
比较运算:
大于、大于等于、小于、小于等于、等于等条件判断。
逻辑运算:
逻辑与、逻辑或、逻辑非,用于组合或反转条件。
变量
变量
在数值变化的过程中,进行递增或递减时,需要使用变量不断替换原固定数值,实现数值变化。
先新建数字类型变量,然后设定新建的变量的初始值,LED需依靠”变量递增、变量递减”实现数值连续变化,从而产生动画效果,
探究活动
同学们,经过前阶段变量知识与数值运算的学习,相信大家已经掌握了如何借助积木代码,控制 PWM 引脚输出变化的数值。接下来我们就动手实践:利用开发板搭配 LED 灯带 或 LED 模块,模拟实现蓝牙音箱标志性的呼吸灯光效。
硬件:aduino uno r3 X1
uno 扩展板 X1
数字绿色LED发光模块 X1
3P杜邦线(若干)
连接规则:
LED发光模块连接到数字引脚D3
探究活动——流程图
1.认定PWM引脚输出的数值为变量,新建变量名为“pwm”;
2.设定变量pwm的初始值为数值0;
3.进入while循环;
4.循环条件:当变量pwm小于等于255;
引脚D3输出变量pwm的值;
变量pwm=pwm+5;
等待0.5S;
串口字符串窗口输出变量pwm的值;
5.一直循环直到不满足while循环的条件;
6.程序结束。
探究活动——编写代码
探究活动——流程图
1.认定PWM引脚输出的数值为变量,新建变量名为“pwm”;
2.设定变量pwm的初始值为数值255;
3.进入while循环;
4.循环条件:当变量pwm大于0;
引脚D3输出变量pwm的值;
等待0.5S;
变量pwm=pwm-5;
串口字符串窗口输出变量pwm的值;
5.一直循环直到不满足while循环的条件;
6.程序结束。
探究活动——编写代码
通过串口输出的数据和LED灯呼吸灯特效的情况,调整循环的条件和等待的时间,让呼吸灯的特效逐渐平稳。
当前的代码,LED的呼吸灯的特效,完成一次循环的时间过长,建议同学们自己上传代码前将时间改为0.1
WS2812 灯带
简介
WS2812 灯带简介
蓝牙音箱的第二个彩虹渐变灯光特效,需要用到RGB LED灯带或ws2812灯带,简称彩灯带。它是由多个可变换灯光颜色的LED灯珠组成的灯带,每个灯珠的颜色、亮度和开关都可以独立编程控制。
引脚说明:
标号 名称 功能描述
1 +5V 电源+
2 GND 电源-
3 DIN 控制信号输入端
4 DO 控制信号输出端
WS2812 灯带简介——核心知识
WS2812 灯带又称为RGB LED灯带,是因为灯珠所有彩色灯光由 红(R)、绿(G)、蓝(B) 三原色混合而成,数值范围 0–255:
(255,0,0) → 纯红色
(0,255,0) → 纯绿色
(0,0,255) → 纯蓝色
(255,255,255) → 纯白色
(0,0,0) → 熄灭
当同学们使用三个变量来定义红、绿、蓝的数值时,例如x=红,y=绿,z=蓝;只要使用数值运算来改变变量x、y、z的数值,就可以通过三原色混合原理来随意变换灯光的颜色。
三色灯
(RGB)
探究活动——三色灯
ws2812的灯光颜色是有R(红)、G(绿)、B(蓝)三原色决定的,改变R、G、B三者输出的数值,即可改变灯光的颜色,在结合变量来定义输出的数值,可以通过变量的数值变化控制灯光的颜色。
硬件:
aduino uno r3 X1
RGB LED 彩色灯带 (ws2812) x1
3P杜邦线 若干
连接规则:ws2812连接到aduino uno的数字引脚D6(PWM引脚)
思考:使用变量来定义R、G、B
R的数值用变量x;
G的数值用变量y;
B的数值用变量z定义。
探究活动——三色灯
探究活动——三色灯
在模块的变量中,新建x、y、z三个数字类型变量。
变量x、y、z的取值范围是0~255,现在定义变量x、y、z的数值为0~255之间的随机一个数。
探究活动——三色灯
初始化灯带中的前7个灯珠,设置这7个灯珠的亮度是最大值255。
检查代码无误后编译上传,灯带上的0~6号灯珠,0.5秒后随机亮颜色。
彩虹渐变灯
🌈🌈🌈
彩虹渐变灯🌈🌈🌈
彩虹渐变灯,就是利用变量数值持续递增,让灯光颜色自动、平滑、循环切换全部彩虹色系的动态光影效果。
不再手动设置 R、G、B 固定数值,而是使用 HSV 色相色彩模式;程序中持续自增,数值从 0~255 循环变化;不同数值对应不同彩虹色系颜色,变量不断变大 → 色彩持续偏移 → 形成渐变流动;每一颗灯珠增加位置偏移变量,让灯带出现 “整条彩虹错位流动” 的炫酷动画。
彩虹渐变灯🌈🌈🌈
自定义函数:变亮
控制灯带的亮度和颜色从(0,0,0)缓慢上升到(255,255,255)。
自定义函数:变暗
控制灯带的亮度和颜色从(255,255,255)缓慢下降到(0,0,0)。
彩虹渐变灯🌈🌈🌈
彩虹渐变灯🌈🌈🌈
彩虹渐变灯🌈🌈🌈
感谢聆听
信息科技暑假夏令营培训
授课教师:君君
$