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

文档序号:9546937阅读:340来源:国知局
一种基于多语义的实物编程系统的制作方法
【技术领域】
[0001]本发明属于人机交互领域,具体涉及到一种具有多语义和二维连接特性的实物编程系统。
【背景技术】
[0002]个人和计算机等数字化设备的普及,使儿童生活在一个被计算设备包围的环境中,很多工作领域都涉及到计算机。在儿童时期教授计算机科学十分重要,需要使儿童在幼儿园和小学时期接触问题求解和计算方法等。让儿童学习编程最直接的好处儿童可以通过编程学习到最先进的技术,增强对计算机科学的兴趣,此外编程对儿童的数学、科学知识、语言、创造力和社交能力等方面都起到积极、重要的作用。实物交互技术允许儿童将操作物拿在手上与计算机进行交互,减少了繁复的语法规则对儿童学习编程造成的障碍,并且可以使儿童在编程学习过程中更加投入。因此,实物编程是一种可行的学习编程的途径。
[0003]专利ZL 201210251967公开了一种基于红外和无线传输技术的实物编程方法和系统,与电脑相连的无线处理模块通过轮询编程块序列获得实物程序语义,通过计算机映射语义完成任务。专利ZL 2013104147570公开了一种便携式的实物编程系统,其处理和显示单元完全独立于电脑,而其实物编程块仍为简单的线性连接方式。以上专利有以下不足之处:实物编程块的功能单一,每个实物编程块仅能表示一个语义,由于每个编程块的内部都嵌入了电子元器件,造成该实物编程系统的成本较高。其次,实物编程块仅能线性连接,没有充分发挥立体块的优势。再次,编程块所传递的编程概念比较简单,仅有简单的顺序概念和参数概念。

【发明内容】

[0004]针对上述问题,本发明提出一种支持多语义和二维连接特性的实物编程系统,包括一 LED Pad和实物编程块(参考:一种便携式实物编程系统,申请号:2013104147570),除上述专利中所包含的编程概念,本发明向用户传达布尔逻辑和分支等概念,完善编程工具中所教授的编程结构。其中的实物编程块具有多语义特性,可以通过手势改变其语义;此夕卜,实物编程块还支持二维连接方式,不再是单一的线性连接方式,可以更好的映射分支等编程结构。LED Pad中的处理模块在信息处理的算法上进行了改进,使其可以识别到用户通过手势改变的语义,并将二维连接方式的编程块进行排序,在LED Pad内部存储为一维结构。本发明中每个任务分为两个阶段,编程阶段和运行阶段。编程阶段,摆放实物编程块构建迷宫出逃路径,运行阶段,LED Pad依次读取编程命令,控制系统反馈,用户需要进行适当的输入。
[0005]本发明的技术方案为:
[0006]一种多语义和二维连接的实物编程系统,如图1所示,其组成包括:
[0007]1)实物编程处理和显示单元——LED Pado LED Pad包括迷宫识别模块、无线处理模块、实物编程处理模块、显示模块。作为主要控制单元,LED Pad处理实物编程块发送的无线信息,以及按照设定的编程规则识别多语义实物编程块的当前语义并对编程语义进行排序,向用户提供反馈。迷宫识别模块的功能是根据当前所选迷宫的RFID标签信息加载相应的迷宫结构信息,以便判断用户摆放的程序的正确性。每一张纸质地图的左下角处都附有一个RFID标签,用户贴上纸质迷宫的同时,LED Pad内部也会加载其对应的迷宫结构信息。
[0008]进一步的,LED Pad中的无线处理模块包含一单片机和一无线模块;无线处理模块用于接收实物编程块发送的无线信息,识别编程块当前的语义,并根据无线信息将编程块语义进行排序;本方法中无线处理模块根据实物编程块发送的前一个块的信息和自身信息对编程块语义序列进行排序。本发明中实物编程块和LED Pad之间采用无线信号通信;两个相邻的编程块之间采用近距离的红外通信。
[0009]进一步的,在编程阶段,LED Pad中的实物编程处理模块根据对应关系转换规则将实物语义序列转换成程序功能语义序列,并判断该编程块是否合法,提供正误的反馈;在运行阶段,逐次读取命令并监听传感器的状态,执行当前的命令。
[0010]2)实物编程块。实物编程块是系统的主要输入工具,实物编程块的组成和功能可参见上述专利。本系统中增加了多语义实物编程块,可以识别用户的摇晃手势变换语义。
[0011]进一步的,多语义实物编程块包括一个三轴加速度计模块和用于显示的LED矩阵模块。多语义实物编程块通过实时采集加速度值采用决策树方法来识别是否为语义切换手势,如果是,就将编程块的语义设置下一个语义,并通过LED显示当前语义的图标。
[0012]3)实物编程块除上述专利提到的语义外,本发明中增加了 “与逻辑”和“或逻辑”以及“分支”等实物编程块,用于向儿童传递相关的编程思想。其中“与逻辑”和“或逻辑”以及“分支”等编程块可以与传感器编程块按照二维连接方式进行连接。
[0013]进一步的,二维连接方式是指“与逻辑”和“或逻辑”以及“分支”等实物编程块可以在其上下方连接传感器块,组成一个完整的语义,而该编程块的前后方摆放其他编程块表示程序的执行顺序,编程块不再是单一的线性摆放规则。
[0014]进一步的,实物编程块之间采用红外通信的方式,红外信号不仅作为激活信号,更多的是传递自身的二进制识别码。
[0015]进一步的,本发明采用脉宽调制的方法发送红外信息,前一个实物编程块将自身的二进制识别码按照自定义的红外通信协议编码后以红外脉冲波的形式发送给当前实物编程块从而激活当前实物编程块,当前被激活的实物编程块根据红外通信协议解码得到该红外信息,即前一个实物编程块的二进制识别码。
[0016]进一步的,该实物编程块将自身的二进制识别码,前一个块的二进制识别码和当前的语义状态发送给LED Pad的无线处理模块。并向外发射经过红外通信协议编码的自身二进制识别码的红外脉冲,用于激活后续的实物编程块。
[0017]4)所述“与逻辑”和“或逻辑”编程块在编程阶段可以连接两个传感器A和B,构成“A与B”( “A或B”)的语义,如图2所示。两个传感器的位置可以交换,符合“与逻辑”和“或逻辑”的交换律。只有当“与逻辑”(“或逻辑”)与传感器都摆放正确,LED Pad才会给出当前单元格的正确反馈,否则,LED Pad将提示错误。运行阶段,LED Pad会根据“与逻辑”和“或逻辑”的规则判断用户是否正确触发了相关传感器。即如果当前单元格是“与逻辑”和传感器A及B组成,则只有当用户同时触发传感器A和B才能使LED Pad的光点通过该单元格;如果当前单元格是“或逻辑”和传感器A及B组成,则用户至少触发其中一个传感器即可使LED Pad的光点通过该单元格。
[0018]5)所述分支编程块(IF编程块)可以连接两个传感器A和B,并由传感器A和B引导两条不同的路径,表示IF (A) Then...,Else IF(B)Then…的语义,如图3所示。用户根据分支路径的地图摆放两个分支程序,其摆放顺序可以随机。运行阶段,当执行到IF单元格后,LED Pad在两个相关的传感器A和B之间闪烁,监听用户对传感器的触发,一旦用户触发其中一个传感器,LED Pad将依次执行相应传感器引导的分支程序。
[0019]与现有技术相比,本发明具有如下的优点和技术效果:
[0020]1.本发明给出实物编程块具有多语义特性。本发明的实物编程块具有多个编程语义,可以识别用户的晃动手势,并改变当前语义。通过手势改变语义的方法节省了系统所需的编程块的个数,使得编程块更加灵活,便于扩展,同时增加了系统的趣味性。
[0021]2.本发明的实物编程块支持二维连接方式。本发明的实物编程块除了传统的线性连接方式外,增加了二维连接方式。编程块的上下前后四个面均可以连接其他编程块。二维连接的方式增强了系统的趣味性,同时使得分支等编程概念的映射更加直观。
[0022]3.扩展了编程概念,增加了布尔逻辑。本发明在上述专利的基础上增加了布尔逻辑(“与逻辑”和“或逻辑”)的概念,且其摆放方式符合布尔逻辑中的交换律,运行阶段与其相关的传感器的触发方式与布尔逻辑的计算方式相同。
[0023]4.扩展了编程概念,增加了分支结构。本发明在上述专利的基础上增加了分支结构(IF编程块),IF编程块可以以二维连接方式连接两个传感器,并引导两个不同的分支程序。运行阶段,传感器的触发满足了 IF的条件,LED Pad将执行被触发的传感器所引导的分支程序。
[0024]5.增强了对编程块语义进行排序的稳定性。实物编程块激活后向LED Pad的无线模块发送信息包含了通过对红外信息解码得到的前一个块的二进制识别码Pre_ID和自身的二进制识别码Self_ID,LED Pad的无线模块通过这两个信息对编程块的语义进行排序,较上述专利根据添加时间的先后顺序更加稳定可靠。
【附图说明】
[0025]图1系统连接结构图;
[0026]图2布尔逻辑(“或逻辑”)的连接示意图;
[0027]图3分支编程块(IF)的连接示意图;
[0028]图4编程块内部处理流程;
[0029]图5 LED Pad基本处理流程图。
【具体实施方式】
[0030]为了使本技术领域的技术人员更好的理解,下面结合附图和实施方式对本交互方法作进一步的详细说明:
[0031]本发明中,支持编程块的内部处理流程如图4所示。编程块的处理主要发生在编程阶段,主要负责编程块的连接和语义选择。
[0032]1.初始化。在程序开始处,对编程块内部的无线模块通讯、红外通讯、三轴加速度计和定时器进行初始化。如果当前是多语义编程块,那么进入步骤2,否则跳转至步骤4。
[0033]2.监听手势。编程块通过监听三轴加速度值的变化,实时判别是否触发了手势。如果触发了手势,则改变当前的语义,并改变编程块顶部的LED矩阵的显示,如显示为向左的方向箭头表示向左方向块。
[0034]进一步的,编程块通过采集三轴加速度计的状态,并使用线性分类器对三个轴X、Y、Z轴的加速度值进行分类,识别当前手势。进入步骤3。
[0035]3.检测语义状态。实物编程块解码得到红外信息,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1