本帖最后由 zhang209a9 于 2016-3-31 23:01 编辑
1. 登录IntoRobot平台,进入图形编程。
2. 新建工程,输入工程名称和描述,选择绑定设备(程序烧录的目标设备)后点击保存。如图:
3. 进入工程后可以看到图形编程的主界面,默认存在“IntoRobot主程序”,点击“代码”按钮可以看到当前图形编程对应生成的代码,并且代码可以根据图形操作实时更新,便于学习,如图:
4. 点击左侧图形代码模块菜单,选择点击需要使用的模块,拖动至编辑区域进行组合,按如下步骤进行:
1) 点击左侧“控制”菜单,选择“重复执行”模块,拖动至编辑区,组合在“IntoRobot主程序”下,由于“重复执行”对应程序中的loop函数,故该步骤代码无变化。如图:
2) 点击左侧“光控灯”,选择“【光控灯】显示光强度”,组合在“重复执行”中,,此时代码会进行相应的更新。如图:
3) 点击左侧“传感器”-“光强度传感器”,选择“当前光强度”输出模块,该模块会读取wire管脚GY30传感器的值并输出,将其组合在“【光控灯】显示光强度”中。
此时代码更新为:
#include <GY30/gy30.h>
#define OPTCTRLLAMP_CMD_SWITCH "channel/optCtrlLamp_0/cmd/switch"
#define OPTCTRLLAMP_DATA_STATUS "channel/optCtrlLamp_0/data/status"
#define OPTCTRLLAMP_DATA_ILLUMINATION "channel/optCtrlLamp_0/data/illumination"
GY30 gy30;
void setup()
{
Wire.begin();
delay(100);
gy30.begin();
}
void loop()
{
IntoRobot.publish(OPTCTRLLAMP_DATA_ILLUMINATION, gy30.Read());
}
4) 点击“控制”菜单,选择“如果那么”模块,拖动至编辑区域组合在“重复执行”模块中,在“显示光强度”模块的下一步,后续代码部分的更新不再一一列举,只描述图形编辑部分,如图:
5) 点击“数字与逻辑”菜单,选择“比较值”模块,拖动至编辑区域组合在“如果那么”模块中的判断条件的位置,并且点击“=”修改为“≥”如图:
6) 与之前步骤相同方式选择“当前光强度”模块,拖动至编辑区域组合在“比较值”模块的左侧空白位置,如图:
7) 点击“数字与逻辑”菜单,选择“数字”模块,拖动至编辑区域组合在“比较值”模块的右侧空白处,并点击数字修改为需要设置的值,如图:
8) 点击“功能控件”-“光控灯”菜单,选择“【光控灯】控制灯状态”模块,拖动至编辑区域组合在“如果那么”模块中,如图:
9) 点击“IntoRobot”菜单,选择“延时”模块,拖动至编辑区域组合在“如果那么”的下一步执行位置,在“重复执行“中,如图:
10) 点击“功能控件”-“光控灯”菜单,选择“【光控灯】事件监控”模块,拖动至编辑区域放置的空白处即可,如图:
11) 点击“控制”菜单,选择“如果那么 否则”模块,拖动至编辑区域组合在“【光控灯】事件监控”模块下面,如图:
12) 类似之前步骤,选择“比较值”模块,拖动至编辑区域组合在“如果那么 否则”模块中“如果”的空白位置,如图:
13) 点击“功能控件”-“光控灯”菜单,选择“【光控灯】开关状态”模块,拖动至编辑区域组合在“比较值”模块中的左侧空白位置,如图:
14) 点击“数字与逻辑”菜单,选择“打开/关闭”输出模块,拖动至编辑区域组合在“比较值”的右侧空白位置中,并将值设置为“关闭”,如图:
15) 在之前已经组合的“【光控灯】控制灯D0为关闭”模块上点击右键,点击菜单中的“复制”,会复制出相同的模块,将组合在“如果那么 否则”的“那么”的位置中,也可以从左侧菜单种选择拖动,如图:
由于论坛对图片的限制,本主题需要两个帖子,请继续看 图形化编程 光控灯实例二 |