一种基于多语义的实物编程系统的制作方法_2

文档序号:9546937阅读:来源:国知局
即确定该编程块在编程队列中后,将检测当前的语义状态Cur_Status。进入步骤4。
[0036]4.检测红外状态。实物编程块检测当前是否收到红外信号,如果有,则表明编程块目前处于编程队列中,进入步骤5 ;如果没有,则表明编程块已经从编程队列中移除,进入步骤8 ;
[0037]5.解码红外信号。实物编程块收到红外信号后根据红外发送协议对红外信号进行解码,判断当前脉冲是否是红外起始码,如果是,则进入字节的解码过程,将得到的字节码和反码比对后得到当前所传达的信息,记为Pre_ID;如果不是,则放弃此次红外脉冲,重新进入步骤4 ;
[0038]6.发送连接无线信息。实物编程块向LED Pad发送表示连接的无线信息,包含连接标志、Pre_ID、自身的二进制识别码Self_ID和当前的语义状态Cur_Status。进入步骤7〇
[0039]7.编码并发送红外信号。编程块将自身的Self_ID经过脉宽调制后发送,用于激活后续的编程块。红外脉冲组成为起始码,自身原码和自身反码。原码和反码用于对比,确保信息的准确性。重新进入步骤2。
[0040]8.发送移除连接信息。当编程块从编程队列中拔除后,会向LED Pad发送表示移除的无线信息,包含移除标志、Pre_ID、自身的二进制识别码Self_ID和当前的语义状态Cur_Status。进入步骤 9〇
[0041]9.终止红外发射。实物编程块终止红外信号的发射。如果当前是多语义编程块,那么重新进入步骤2,否则跳转至步骤4。
[0042]LED Pad内部的处理流程如图5所示。主要分为状态控制、编程阶段和运行阶段三个阶段。其中有些处理流程和专利一种便携式实物编程系统,申请号:2013104147570中一致,在此不再赘述。下面将重点介绍LED Pad中发生改变的处理。
[〇〇43]编程阶段,系统主要处理实物编程块的信息,完成程序语义序列的排序,并给出实时反馈。
[0044]1.无线处理模块中的数据处理。LED Pad中的无线处理模块收到实物编程块发送的无线信息后,将逐字节解读无线信息。如果是连接信息,则从当前的二进制序列中查找Pre_ID,并根据Pre_ID判断前一个编程块的类型和所在的分支。如果前一个编程块是方向块/传感器块/开始块,则将Self_ID插入到二进制序列中Pre_ID所在的分支的后面。如果前一个编程块是布尔逻辑编程块,则需要进一步判断当前块是否为传感器块,并将传感器块依次插入到相应逻辑编程块的参数区域中,如果前一个编程块是分支块,当前编程块为传感器块,则将传感器添加分支标识后插入到Pre_ID的后面。所述的分支标识是将当前编程块的二进制ID最后一位,如果位于分支Branch_0,则将该位置0,如果位于分支Branch_l,则将该位置1,主程序末位置0,将交由LED Pad的实物编程处理模块处理。在LED Pad中,逻辑编程块的存储结构中保留了两个用于存储传感器块内容的参数区域,两个传感器块没有先后顺序之分。
[0045]2.语义与语法分析和图形反馈。结合任务地图的具体信息,LED Pad的实物编程处理模块将进行语义语法分析与理解并给出相应的反馈。实物编程处理模块接收来自无线处理模块的串口信息,并逐字节进行分析。内部存储是否存在分支标志变量is_Branch,每当读取一个字节,如果当前没有分支,则根据语义对照表,将该程序语义存储在主程序上,并根据语义和当前地图的状态判断当前命令是否正确,并给出反馈。如果当前存在分支,则根据该字节的最后一位,即分支标记判断当前二进制识别码位于哪个分支上,解码分支信息得到二进制ID,并根据语义对照表,将该程序语义存储到对应的分支程序中,并根据语义和当前地图的状态判断当前命令是否正确,并给出反馈。
[0046]进一步的,如果当前字节是布尔逻辑编程块,则继续读取后续的两个字节,并进入有限自动机进行判断,只有当连续三个字节正确组成布尔逻辑并符合当前地图上的“逻辑-传感器”单元格,LED Pad才给出正确的图形反馈,否则提示错误。
[0047]3.判断编程是否正确结束。LED Pad判断当前地图状态,只有当所有分支都正确的到达结束单元格,编程才正确结束。LED Pad播放编程成功的音乐并给出图形反馈。
[0048]检测到状态开关被拨到运行阶段时,程序进入运行阶段。该阶段主要是执行用户在编程阶段编写好的程序。用户可以通过传感器输入模块与系统互动。
[0049]1.读取当前程序指令并分析。LED Pad从已经存储的主程序队列中逐字节读取指令并分析。
[0050]2.判断当前执行的是否为传感器或者“逻辑-传感器”或者分支单元格。如果是传感器,则监听当前传感器的状态,采集到传感器的数据后进行分析,进一步的,判断是否触发了对应的传感器,如果是,点亮当前单元格的LED灯,并继续步骤1 ;如果不是,则继续闪烁当前单元格的LED灯,并重复执行步骤2。如果当前单元格为“逻辑-传感器”单元格,则根据“与逻辑”和“或逻辑”的逻辑规则对传感器的触发进行判断,如果当前是“与逻辑-传感器”单元格,则只有检测到两个相关的传感器同时触发后才点亮当前单元格,并继续步骤1 ;如果当前为“或逻辑-传感器”传感器单元格,则检测到两个传感器中的至少一个被触发可以点亮当前单元格,并继续步骤1。如果当前单元格为分支(IF)单元格,则继续读取两个分支程序队列中的第一个字节,即读取分支的传感器条件,并令这两个单元格闪烁,监听传感器的触发状态,采集到其中的一个传感器被触发时,则执行该分支队列的命令,执行过程与执行主程序的过程类似,这里不再赘述。
[0051]3.判断是否成功运行结束并提供反馈。当任一分支队列执行完毕且当前地图到达结束单元格,则为成功运行,LED Pad播放运行成功音乐并给出图形反馈。
[0052]综上所述,本发明给出了一种具有多语义和二维连接特性的实物编程系统。实物编程块具有多个语义,用户可以通过水平晃动手势改变选择当前语义,极大的节省了编程块并丰富了用户与工具间的交互。此外,实物编程块支持二维连接方式,不再是单一的一维连接,可以更好的映射某些编程语义,增加系统趣味性。该实物编程工具扩展了编程语义,增加了布尔逻辑和分支的概念,使得编程概念更加的完整,锻炼儿童的逻辑能力;与传感器的交互增多,增加了系统的趣味性,提高了儿童对于编程的兴趣,方便其学习编程。
【主权项】
1.一种基于多语义的实物编程系统,其特征在于,包括实物编程处理与显示单元,用于处理实物编程块发送的无线信息,以及按照设定的编程规则识别实物编程块的当前语义并对编程语义进行排序,向用户提供反馈;其中,所述实物编程块包括若干多语义实物编程块,每一多语义实物编程块具有多种语义,所述多语义实物编程块识别用户的摇晃手势,并根据识别出的手势切换语义,每一种语义对应一语义状态;所述多语义实物编程块向所述实物编程处理与显示单元发送自身的二进制识别码和当前的语义状态,以及前一实物编程块的二进制识别码。2.如权利要求1所述的系统,其特征在于,所述多语义实物编程块包括一三轴加速度计模块和一 LED显示单元;所述多语义实物编程块将实时采集的用户摇晃手势时该三轴加速度计模块的加速度值,然后根据该加速度值采用决策树方法来识别是否为语义切换手势,如果是,则变换当前的语义,并通过LED显示当前语义的图标。3.如权利要求2所述的系统,其特征在于,所述手势切换语义的方法为:用户首先设定摇晃手势,然后每采集到一次设定摇晃手势变化一次当前多语义实物编程模块,并设定当前手势对应的语义。4.如权利要求1或2所述的系统,其特征在于,所述实物编程块之间采用红外通信的方式进行信息传输,其中前一实物编程模块发出的红外信号包括激活后一实物编程模块的激活信号以及该前一实物编程块的二进制识别码。5.如权利要求1所述的系统,其特征在于,所述实物编程块还包括与逻辑实物编程块;所述与逻辑实物编程块的上、下方连接传感器块组成一完整的语义,前、后方摆放表示程序执行顺序的其他实物编程块。6.如权利要求1所述的系统,其特征在于,所述实物编程块还包括或逻辑实物编程块;所述或逻辑实物编程块的上、下方连接传感器块组成一完整的语义,前、后方摆放表示程序执行顺序的其他实物编程块。7.如权利要求1所述的系统,其特征在于,所述实物编程块还包括分支逻辑实物编程块,所述分支逻辑编程块的上、下方连接两个传感器A和B,并由传感器A和B分别引导两条不同的路径。8.如权利要求1所述的系统,其特征在于,所述实物编程处理与显示单元包括迷宫识别模块、无线处理模块、实物编程处理模块、显示模块;其中,实物编程处理模块用于在编程阶段将实物编程块序列对应的实物语义序列转换成程序功能语义序列,并判断当前摆放的实物编程块是否合法;在运行阶段,根据程序功能语义序列逐次读取命令并监听传感器的状态,执行当前的命令;所述无线处理模块用于接收实物编程块发送的无线信息,识别实物编程块当前的语义,并根据无线信息将实物编程块语义进行排序;所述迷宫识别模块用于根据当前所选迷宫的RFID标签信息加载相应的迷宫结构信息。
【专利摘要】本发明公开了一种基于多语义的实物编程系统,其特征在于,包括实物编程处理与显示单元,用于处理实物编程块发送的无线信息,以及按照设定的编程规则识别实物编程块的当前语义并对编程语义进行排序,向用户提供反馈;其中,所述实物编程块包括若干多语义实物编程块,每一多语义实物编程块具有多种语义,所述多语义实物编程块识别用户的摇晃手势,并根据识别出的手势切换语义,每一种语义对应一语义状态;所述多语义实物编程块向所述实物编程处理与显示单元发送自身的二进制识别码和当前的语义状态,以及前一实物编程块的二进制识别码。本发明完善了编程概念,增加了交互方式,提高了系统趣味性,易于实现,且易于用户操作。
【IPC分类】G06F9/44, G06F3/01
【公开号】CN105302555
【申请号】CN201510695893
【发明人】王丹力, 齐云凤, 张澜, 王宏安
【申请人】中国科学院软件研究所
【公开日】2016年2月3日
【申请日】2015年10月23日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1