查看“能量护盾”的源代码
←
能量护盾
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 1000px;" |- | ==概述== [[File:anywhere_game energy.jpg|600px|center]] 做一个能量护盾,遇到攻击时,护盾可以充能。 <br> 适合套件:mCookie302 ==模块清单== ===模块=== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-Core/zh|mCookie-Core]]||1||核心板 |- |[[mCookie-Battery|电池盒]]||1||程序下载和供电模块 |- |[[mCookie-Hub/zh|mCookie-Hub]]||1||传感器转接板 |- |[[Sensor-Color LED/zh|彩灯]]||3||发光 |- |[[Sensor-Line Finder/zh|红外反射传感器]]||3||检测物体 |} ===其他设备=== *USB数据线*1 *传感器连接线*6 *传感器外壳 *乐高或其它固定结构 [[File:anywhere_game energy-module.jpg|600px|center]] ==模块搭建== ===搭建=== [[File:anywhere_game energy-step.jpg|600px|center]] *将模块和传感器组装起来: **将红色的核心模块,电池底座与绿色的扩展模块吸在一起; **将三盏全彩LED灯连接在Hub的6/7管脚; **将红外反射传感器连接在Hub的A0/A1、A2/A3、A6/A7管脚。 **将USB连接线一端插入电池底座,另一端连接电脑; ==编程== ===使用的程序块=== *[[“彩灯准备”程序块 ]] *[[“彩灯控制调RGB”程序块]] *[[“如果-执行”程序块]] *[[“变量声明”、“变量赋值”程序块]] *[[“重复执行”程序块]] *[[“打印(自动换行)”程序块]] *[[“计算”程序块]] *[[“文本”程序块]] ===编程思路=== 当有物体靠近能量护盾时会发出能量光,且距离越近,光越强,距离越远,光越弱。 <br> 观察下面示意图,可看到亮度的范围是0-255,距离值的范围是0-1023;距离范围大约是亮度范围的4倍。亮度与距离变化关系:距离最远(1023),亮度最低(0);距离最近(0),亮度最高(255)。 <br> 因此我们可以找到彩灯的光亮度与对应的红外反射传感器的距离值成反比,得到公式:红光亮度=255-(距离÷4)。在程序中,只需要将设置光亮度的区域放如下程序块即可。 [[File:mixly-ctrl-game energy.jpg|600px|center]] ===开始编程=== '''根据距离显示能量大小''' <br> 每个彩灯的红光亮度与对应的红外反射传感器的距离值相关 [[File:mixly-ctrl-game energy-code.jpg|600px|center]] <br> <br> '''测试结果''' <br> 上传成功后,分别靠近3个红外反射传感器,看看对应的彩灯颜色有没有变化。 <br> [[File:anywhere_game energy.jpg|600px|center]] <br> <br> '''Q:游戏里面,能量护盾有生命值,打到一定程度就game over了,能改成有生命值的能力护盾吗?''' '''A:需要设置一个变量,记录能量值,每击中一次能量值减1,并在串口监视器中显示。''' <br> <br> 声明一个名叫power的变量,用来记录护盾能量值,初始值是100,将红外反射传感器检测到的距离值转换成灯的亮度。 [[File:mixly-ctrl-game energy-code1.jpg|600px|center]] 当距离值小于100时,每隔100毫秒,power值减1,当红外反射传感器A0的距离值小于100时(攻击来临),能量值减1,延时100毫秒。 [[File:mixly-ctrl-game energy-code2.jpg|600px|center]] 当距离值小于100时,每隔100毫秒,power值减1,当红外反射传感器A2的距离值小于100时(攻击来临),能量值减1,延时100毫秒。 [[File:mixly-ctrl-game energy-code3.jpg|600px|center]] 当距离值小于100时,每隔100毫秒,power值减1,当红外反射传感器A6的距离值小于100时(攻击来临),能量值减1,延时100毫秒。 打印能量值,在串口监视器中实时显示“能量值%”。 [[File:mixly-ctrl-game energy-code4.jpg|600px|center]] 无能量时,彩灯全部熄灭,如果能量值低于1(没能量了),则重复执行:在电脑屏幕上显示“DEAD”,并熄灭所有LED灯。 [[File:mixly-ctrl-game energy-code5.jpg|600px|center]] ==技术规范== *红外反射详细参考[[Sensor-Line Finder/zh]] ==相关案例== *'''[[点球大战]]''' ==Q&A== |}
返回至
能量护盾
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息