1、编程知识点(循环逻辑、变量、表达式、随机数)
2、模块知识点(车灯模块)
3、科学知识点(光的奥秘)
环境:网络及手机/电脑
准备:小龟小车主控板
第一节:认识RGB车灯和图形编程控制彩灯开关和颜色(约15分钟)
【课程内容】
1、认识RGB车灯
2、体验车灯模块的开关、设置色彩
1、认识RGB车灯
首先我们先来认识一下主控板上的炫彩灯,小龟标记的这两个位置就是RGB炫彩灯。
2、体验车灯模块的开关、设置色彩
接下来,我们可以通过图形编程,更深入的了解一下这个模块。
车灯模块的开关:
点击打开车灯积木块,点击执行车灯就会亮起。
<xml xmlns="https://developers.google.com/blockly/xml"><block type="led_on" id="4=a[}E%F__u(,8EFid.S" x="173" y="108"></block></xml>
点击关闭车灯积木块,点击执行车灯就会关闭。
<xml xmlns="https://developers.google.com/blockly/xml"><block type="ws2812_close" id="*P@BH=0Jk5Vi@rQ4Aej%" x="93" y="98"></block></xml>
设置色彩:
接下来我们用图形编程设置炫彩灯的色彩,执行这个模块,我们会发现炫彩灯的颜色是蓝色。
<xml xmlns="https://developers.google.com/blockly/xml"><block type="ws2812_write" id="Y_r_tf!Wq+=@{MoZu@hu" x="133" y="97"><field name="color">#0000ff</field></block></xml>
这个颜色的区域,是可以更改的。小伙伴们可以选择自己喜欢的颜色尝试一下!
【趣味挑战】
FOR循环闪三下彩灯
1、首先需要点击循环模块,把框内的数字改成3。
2、然后把打开车灯、关闭车灯这两个积木块,拖到循环积木块的里面。
3、两个积木块都需要间隔一秒,不然速度太快人眼会无法识别!
4、点击执行,这样就挑战成功了~
<xml xmlns="https://developers.google.com/blockly/xml"><block type="controls_repeat_ext" id="JuDmpC;bEimAatT@Z-zu" x="76" y="79"><value name="TIMES"><shadow type="math_number" id="C`xBxgcn3?^1//Gu*Ivq"><field name="NUM">3</field></shadow></value><statement name="DO"><block type="led_on" id="1!CuUzdpTY(,PE.hBqFn"><next><block type="sleep_var" id="FvrAQgDP.g?q,;kr;TRB"><value name="keep"><shadow type="math_number" id="j-a4UTiZgGRo?op*,iTr"><field name="NUM">1</field></shadow></value><next><block type="led_off" id="1|dU$GI;=%_pP=pJFCt1"><next><block type="sleep_var" id="*FDMOC:UubQiPkCGF*+9"><value name="keep"><shadow type="math_number" id="Q+|p0zArDYo;Ti}imTeH"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml>
第二节:认识三原色和图形编程感受三原色的合成(约40分钟)
【课程内容】
1、认识色彩的组成
2、认识色彩的计算机表达,实现指定颜色的显示
3、随机生成三原色值来生成随机色
1、认识色彩的组成
色彩当中最基本的三种颜色,就是红(Red)、绿(Green)、蓝(Blue),我们称这三个颜色为三原色。
2、认识色彩的计算机表达,实现指定颜色的显示
所有的颜色,都由三原色混合而成,小龟为大家整理了部分RGB颜色对照表。
接下来我们可以根据这个表格,来体验小车控制色彩。
以绿色为例,点击这个积木块我们来试一下绿色,将G的值改为255,炫彩灯就显示了绿色。
大家也可以百度自己喜欢的颜色~通过调整积木块的RGB值,让炫彩灯显示想要的颜色。
<xml xmlns="https://developers.google.com/blockly/xml"><block type="ws2812_rgb" id="~u3|@mEHHk7#RbN]bqW7" x="110" y="126"><value name="r"><shadow type="math_number" id="pSCQNn#;demg%$.nYqQB"><field name="NUM">0</field></shadow></value><value name="g"><shadow type="math_number" id="J??YL09:3*w903T.6-|H"><field name="NUM">255</field></shadow></value><value name="b"><shadow type="math_number" id="+Ufhpm0j3P4C+bP)W4m6"><field name="NUM">0</field></shadow></value></block></xml>
3、随机生成三原色值来生成随机色
其实图形编程执行后,分为这几个阶段。
开始——分析判断——动作输出——结束处理。
随机彩色灯的原理其实就是,当某一个条件成真时,就执行该条件表达式下的结果。
我们先来观察一下效果,每点击一次执行,炫彩灯会随机产生一个颜色。
我们先来挑战随机生成三种颜色,颜色分别为蓝、红、绿。
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="D^4M4IG]JUGxgMeA`A9)">i</variable></variables><block type="variables_set" id="8rErf|Wl=:llHjORm!4b" x="138" y="85"><field name="VAR" id="D^4M4IG]JUGxgMeA`A9)">i</field><value name="VALUE"><block type="math_random_int" id="{qat0]ln=,6uB8pP;28x"><value name="FROM"><shadow type="math_number" id="W54#Kblf7P-qAu_]pUG9"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id="(JvQ:aEuGwn3oA4?c$`4"><field name="NUM">3</field></shadow></value></block></value><next><block type="controls_if" id="u}Pnp{xN1Jz^((?6DJsJ"><value name="IF0"><block type="logic_compare" id="L,+sRyD};H.bCqv}Npyw"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="]JoVtU19RFf7nqn$:.qW"><field name="VAR" id="D^4M4IG]JUGxgMeA`A9)">i</field></block></value><value name="B"><block type="math_number" id="e7iD4%R|5wzCi=KT[,}q"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="ws2812_write" id="Qd;Ay,s^mDJZMGi@|Xb7"><field name="color">#0000ff</field></block></statement><next><block type="controls_if" id="X#Ov^77M`=ikR8Iqjg3A"><value name="IF0"><block type="logic_compare" id="sFFc?]0Mp?eGnWiwyN)J"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="eR|CW0kn`Ylx-OY.~RG$"><field name="VAR" id="D^4M4IG]JUGxgMeA`A9)">i</field></block></value><value name="B"><block type="math_number" id="TK((^VRkxnJDXv)w;sQc"><field name="NUM">2</field></block></value></block></value><statement name="DO0"><block type="ws2812_write" id="2U$y2~8Hn0kIB6327EU`"><field name="color">#ff0000</field></block></statement><next><block type="controls_if" id="I~RFN)H^,jTIjin`PvL8"><value name="IF0"><block type="logic_compare" id="D4{d7{0$5`]lg,}=ruTy"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="@!hS+X9D9PzzaD+gUNg^"><field name="VAR" id="D^4M4IG]JUGxgMeA`A9)">i</field></block></value><value name="B"><block type="math_number" id="oz+KPTZQ]y6/$r#l^yMM"><field name="NUM">3</field></block></value></block></value><statement name="DO0"><block type="ws2812_write" id="!0PBk=-LQ:%:dL=,xOE?"><field name="color">#33ff33</field></block></statement></block></next></block></next></block></next></block></xml>
1、由于是随机生成的颜色,因此我们首先要设置一个变量,这个变量我们称它为i。
2、它有三种可能,因此我们选择这个积木块,把它的范围设置成1到3的随机整数
注意:有几个随机颜色范围就设置几个!小龟这里是3个颜色所以设置3!
3、在逻辑菜单栏,找到这个条件表达式,并给变量i设置一个条件:
如果变量i=1的时候,炫彩灯显示蓝色。
4、复制这个模块,分别把条件改为:
如果变量i=2的时候,炫彩灯显示红色;
如果变量i=3的时候,炫彩灯显示绿色。

5、点击执行,炫彩灯就会随机生成蓝红绿中的一个颜色。
小伙伴们可以挑战更多数量的随机颜色!
实现呼吸灯,