CN110780877B - 基于程序积木的编程系统及其配置装置 - Google Patents
基于程序积木的编程系统及其配置装置 Download PDFInfo
- Publication number
- CN110780877B CN110780877B CN201910878268.8A CN201910878268A CN110780877B CN 110780877 B CN110780877 B CN 110780877B CN 201910878268 A CN201910878268 A CN 201910878268A CN 110780877 B CN110780877 B CN 110780877B
- Authority
- CN
- China
- Prior art keywords
- program
- program building
- building block
- building blocks
- compiler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H33/00—Other toys
- A63H33/04—Building blocks, strips, or similar building parts
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于程序积木的编程系统及其配置装置,所述程序积木中设有用于存储编码标识符的存储器,所述编码标识符用于表示程序语句,所述配置装置包括:第一设置单元,用于获取用户提供的编码标识符;通信单元,用于读取所述编码标识符,并向所述程序积木发送所述编码标识符。
Description
技术领域
本发明涉及电子玩具领域,具体涉及一种基于程序积木的编程系统及其配置装置。
背景技术
少儿编程教育与高等教育中的编程教学不同,少儿编程教育主要是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力。例如学生在制作一个小动画的过程中,通过自己拆分任务、拖拽模块、控制进度,从而理解诸如"并行"、"事件处理"、"目标实现"这样的概念。
目前,用于少儿编程教育的工具主要是通过整合代码和配置图形,向用户提供一种可以简单操作的图形界面,使用户可以通过操作图形界面来编辑应用程序,而不必写代码。这种工具本身也是应用程序,用户必须使用智能设备,例如PC、平板电脑等设备安装这种应用程序,并通过操作智能设备编辑自己想要的应用程序。利用智能设备和应用程序虽然能够起到简化编程过程的作用,但是其过程不够直观,并且不利于青少年的视力发育。
当通过某种方式将计算机程序语句实体化后,可以将编程过程转变为动手组装硬件模块的过程,但计算机程序语句内容十分丰富,有限的硬件模块数量难以满足丰富的编程逻辑,增加硬件模块的数量和种类显然会提高成本。
发明内容
有鉴于此,本发明提供一种程序积木的配置装置,所述程序积木中设有用于存储编码标识符的存储器,所述编码标识符用于表示程序语句,所述配置装置包括:
第一设置单元,用于获取用户提供的编码标识符;
通信单元,用于读取所述编码标识符,并向所述程序积木发送所述编码标识符。
可选地,所述程序积木中设有用于存储参数的存储器,所述参数为程序语句所需的参数;所述配置装置还包括第二设置单元,用于获取用户提供的参数;所述通信单元还用于读取所述参数,并向所述程序积木发送所述参数。
可选地,所述第一设置单元包括:
第一机械输入部件,用于根据用户的操作确定所述编码标识符;
第一存储器,用于存储所述编码标识符。
可选地,所述第二设置单元包括:
第二机械输入部件,用于根据用户的操作确定所述参数;
第二存储器,用于存储所述参数。
可选地,所述通信单元采用通信方式与所述程序积木连接。
可选地,所述通信单元还用于在向所述程序积木发送所述编码标识符后接收所述程序积木反馈的写入完毕信号。。
本发明还提供一种基于程序积木的编程系统,包括编译器、至少一个程序积木和上述配置装置,其中所述程序积木用于存储所述编码标识符;所述编译器为所有与其直接或间接电连接的程序积木分配地址信息,并按照所述地址信息所指示的顺序依次读取所有程序积木中存储的所述编码标识符,并根据所述编码标识符及其顺序获得源程序,以及编译所述源程序。
可选地,所述程序积木还用于存储参数;所述编译器用于在读取所述编码标识符的同时读取所述参数,并根据所述编码标识符和所述参数及其顺序获得源程序。
可选地,所述系统还包括:控制器,用于获取所述编程系统编译后的目标程序,并执行所述目标程序以控制被控对象。
可选地,所述程序积木还用于在接收到所述配置装置发送的编码标识符时判断其是否正确,当判定接收到的编码标识符错误时执行报警动作。
根据本发明提供的配置装置,通过设置单元获取用户提供的编码标识符,由通信单元可向程序积木发送该编码标识符,使用户可以将任意的程序积木设置成任意的程序语句,由此可以在不增加程序积木数量的情况下,满足用户对编程逻辑的丰富性要求,降低硬件的成本。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的一种编程系统的示意图;
图2为本发明实施例中的另一种编程系统的示意图;
图3为本发明实施例中的一种控制系统的示意图。
图4为本发明实施例中的一种配置装置和程序积木的组合示意图;
图5为本发明实施例中的另一种配置装置和程序积木的组合示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明提供一种基于程序积木的编程系统,如图1所示该系统包括编译器1和程序积木2,程序积木2中存储有编码标识符。编译器1和程序积木2均为硬件,分别至少包括用于存储编码标识符和进行通信的芯片或单片机以及电路板。此外还可以包括壳体,单片机或芯片及电路板设置在壳体内部,壳体上设有用于相互插接的连接器,用户可通过连接器将多个程序积木2插接在一起,以及与编译器1插接。壳体的形状例如是立方体、正方体或者其它立体形状,只要能够使各个硬件相互连接的形状都是可行的。
程序积木2按照逻辑分类,可分为顺序语句积木、条件语句积木和运算语句积木。其中顺序语句积木中存储有用于表示顺序语句代码的编码标识符;条件语句积木中存储有用于表示条件语句代码的编码标识符;运算语句积木中存储有用于表示运算语句代码的编码标识符。
所述顺序语句代码例如是输入语句代码、执行语句代码等等;所述条件语句代码例如是C语言中的if、else、endif、while、break、endwhile、switch、case等条件语句代码;所述运算语句代码例如是加、减、乘、除等运算代码。
编程系统可提供多个程序积木2,用户可以按照自己的意图连接这些程序积木2,以实现各种的功能。当然只使用一个程序积木2和一个编译器1也是可行的。
下面以图1所示的情况为例对编程系统进行说明,在一个实施例中,用户使用4个顺序语句积木和编译器1串联插接。在通电启动后,编译器1为所有与其直接或间接电连接的四个程序积木2分配地址信息,并按照地址信息所指示的顺序依次读取并组合所有程序积木2中存储的编码标识符,并根据这些编码标识符及其顺序获得源程序,以及编译该源程序。
编译器1可以插接在4个串联后的程序积木2的首端或者尾端,在本实施例中编译器1插接在首端,也即与编译器1直接插接的程序积木2是第一个(其中的编码标识符所指示的顺序语句实际上应该是源程序的第一段),末端的程序积木2是最后一个(其中的编码标识符所指示的顺序语句实际上应该是源程序的最后一段)。
编译器1分配的地址信息用于确定这些串联的程序积木2的连接关系,并由此确定其中存储的编码标识符的逻辑顺序。分配地址信息的方式有多种,只要使各个程序积木的地址信息不重复并能够体现顺序都是可行的。例如编译器1分配直接相连的程序积木2的地址信息为“01”、串联的下一个程序积木2的地址信息为“02”、串联的第三个程序积木2的地址信息为“03”、最后一个程序积木2的地址信息为“04”。
在分配完地址信息后,编译器1读取它们中存储的编码标识符,并按照地址信息所指示的顺序进行组合。例如与编译器1直接相连的程序积木2中存储的是用于表示向第一方向运动的语句的编码标识符“40”、串联的下一个程序积木2中存储的是用于表示向第二方向运动的语句的编码标识符“50”、串联的第三个程序积木2中存储的是用于表示向第三方向运动的语句的编码标识符“60”、最后一个程序积木2中存储的是用于表示向第四方向运动的语句的编码标识符“70”,编译器1按照这四个积木的地址信息所指示的顺序依次读取到“40”、“50”、“60”、“70”,根据这四个编码标识符及其顺序获得源程序:
第一方向运动的语句;
第二方向运动的语句;
第三方向运动的语句;
第四方向运动的语句。
对上述语句组成的源程序进行编译,即可使其成为可被执行的目标程序。目标程序所实现的功能根据代码的具体内容而定,例如是控制某物体移动、转动的功能,或者是控制某装置执行声光动作等功能。编译器1可以直接或间接将目标程序发送给受控对象。
根据本发明实施例提供的基于程序积木的编程系统,利用存储有编码标识符的程序积木将编程所需的代码实体化,由编译器统一为插接的各个程序积木分配地址信息,使得用户可以按照自己的意愿或在指导下任意拼接程序积木,对拼接的顺序和数量没有限制,其拼接顺序根据地址信息确定,进而按照地址信息所指示的顺序组合这些编码标识符,并获得组合后的编码标识符所表达的源程序,对其进行编译实现与拼接的程序积木相应的程序功能,由此使得编程过程变成动手组合积木的过程,使编程过程变得直观,程序内容更加丰富,并且不需要依赖智能设备的显示功能。
如果用户拼接的程序积木组合使得编码标识符所指示的语句组合错误,编译器1将无法完成编译。在一个实施例中,编译器1可设置声光提示部件,当无法完成编译时可执行提示动作,以提醒用户当前的积木组合错误;当顺利完成编译时也可执行提示动作,使用户了解当前的目标程序处于可执行的状态。
在一个实施例,程序积木2中还存储有参数,所述参数具体可以是形参、实参、变量、常数等等,例如具体可以是移动距离、持续时间、转动速度等源程序语句中所需的数值。作为一个举例,程序积木2中存储的是用于表示向某一方向运动的语句的编码标识符“40”,以及运动距离参数“2”,编译器1将在读取编码标识符“40”的同时读取参数“2”,并根据编码标识符和参数获得具有参数的语句例如“第一方向运动的语句(2)”。由此,编译器1是根据所有程序积木2的编码标识符和参数及其顺序获得完整的源程序。
进一步地,程序积木2还设有参数调整或输入部件,具体可以在壳体上设置输入键、按钮、旋钮等部件,用户可以通过这些部件来调整或输入参数,例如设置变量或常量,以使目标程序的功能更加丰富。
下面介绍一种可选的分配地址信息的方式。仍以图1所示情况为例,其中的程序积木分别具两个连接端,编译器也具有两个连接端。在启动时,编译器发出第一个地址信息“01”,由于串联关系,所有与其直接或间接电连接的程序积木2都可收到该地址信息“01”,同时编译器1向与其直接电连接的第一个程序积木2发送使能信号,其它程序积木2此时不能接收到此使能信号。
第一个程序积木2的其中一个连接端(图中上端)接收使能信号和第一个地址信息“01”,判断自身是否已写入过地址信息,如果未写入过地址信息,则接收并写入地址信息“01”。之后通过图中上方连接端向编译器1发送写入完毕信号,并通过另一个连接端(图中下端)向与其直接电连接的第二个程序积木2发送使能信号。
编译器1在收到第一个程序积木2发送的写入完毕信号时,发出第二个地址信息“02”,由于串联关系,所有与其直接或间接电连接的程序积木2都可收到该地址信息“02”,由于第一个程序积木2已经写入过地址信息,则不再接收此次发送的地址信息,而串联的第二个程序积木2收到了使能信号和地址信息“02”,且未写入过地址信息,则第二个程序积木2接收并写入地址信息“02”,之后向编译器1发送写入完毕信号,并向与其直接电连接的第三个程序积木2发送使能信号。以此方式传递使能信号,使所有程序积木2依次写入地址信息,直到最后一个程序积木2写入地址信息为止。
根据上述优选方案,各个程序积木只有在收到使能信号且未写过地址的情况下才接收编译器的地址信息,编译器只向直接相连的程序积木发送使能信号,之后由程序积木依次传递使能信号,因此一个连接端中设置少量的信号线即可完成传递使能信号和地址信息的功能,由此可以简化电子线路,降低软硬件成本的同时还能够提高系统的可靠性。
在一个实施例中,编译器1判断是否在设定时间内接收到写入完毕信号,当未在设定时间内接收到写入完毕信号时,判定所有与其直接或间接电连接的程序积木2均已写入地址信息,也即确定了地址信息分配完毕。
图1所示的编程系统中的程序积木只具有两个连接端(称之为第一程序积木),它们只能用于实现顺序逻辑。只由顺序语句组成的程序代码能够实现的功能比较简单,为了实现更丰富的功能,编程系统中可包括用于实现条件判断和/或运算等逻辑的程序积木(称之为第二程序积木)。下面结合图2所示情况,介绍同时包含第一程序积木和第二程序积木的编程系统。
在一个实施例中,用户使用3个第一程序积木和1个第二程序积木插接成图2所示的编程系统。在通电启动后,编译器1为所有与其直接或间接电连接的4个程序积木分配地址信息,并按照地址信息所指示的顺序依次读取并组合所有程序积木中存储的编码标识符,并根据这些编码标识符及其顺序获得源程序,以及编译源程序。
在本实施例中,编译器1插接在末端,也即与编译器1直接插接的第一程序积木C24是最后一个(其中的编码标识符对应的程序语句实际上是源程序中的最后一段),上端的第一程序积木A21是第一个(其中的编码标识符对应的程序语句实际上是源程序中的第一段)。
例如编译器1分配直接相连的第一程序积木C24的地址信息为“01”、串联的第一程序积木B23的地址信息为“02”、串联的第二程序积木22的地址信息为“03”、串联的第一程序积木A21的地址信息为“04”。
在本实施例中,第二程序积木22在接收并写入地址信息之后,将按照与其串联的第一参数积木25和第二参数积木26的连接顺序,读取其中存储的参数,并根据读取的参数及其顺序与第二程序积木22本身存储的编码标识符进行组合,其中存储的参数具体可以是形参、实参、变量、常数等等。例如第二程序积木22中存储用于表示循环语句的编码标识符“90”、第一参数积木25存储循环参数A、第二参数积木26存储循环参数B,第二程序积木22在接收并写入地址信息后,将读取循环参数A和循环参数B,并与编码标识符“90”进行组合,存储组合后的数据例如“90,A,B”。
通过程序积木读取参数积木中的内容并按连接顺序进行组合,这种优选的方案可以允许编程系统中加入多样化的参数,用户可以根据需求接入任意的参数积木,并由此实现更加丰富的功能。
在其它实施例中,参数也可存储在第二程序积木22中,而不需要使用参数积木。并且可以在第二程序积木22中设置参数调整或输入机构,以使用户可以设置参数。
在分配完地址信息后,编译器1读取程序积木中存储的编码标识符,并按照地址信息所指示的顺序进行组合。由于在本实施例中编译器1连接在程序积木的末端,则编译器1需要按照所分配地址信息的逆向顺序组合这些编码标识符。
例如第一程序积木A21中存储的是用于表示一个顺序语句的编码标识符“11”、第二程序积木22中存储的是组合后的数据例如“90,A,B”、第一程序积木B23中存储的是用于表示另一个顺序语句的编码标识符“12”、第一程序积木C24中存储的是用于表示第三个顺序语句的编码标识符“13”,编译器读取到的数据包括编码标识符和相应的参数,根据编码标识符和参数的组合得到完整的源程序为:
第一个顺序语句;//地址为04
循环语句(A,B);//地址为03
第二个顺序语句;//地址为02
第三个顺序语句。//地址为01
对上述完整的源程序进行编译,使其成为可被执行的目标程序。目标程序所实现的功能根据代码的具体内容而定,例如是控制某物体移动、转动的功能,或者是控制某装置执行声光动作等功能。编译器1可以直接或间接将编译后的程序发送给受控对象。
第二程序积木中不限于存储用于表示判断逻辑的编码标识符,例如还可以存储用于表示运算操作的编码标识符,读取的参数即为用于运算的参数,如运算符、数值等等。
根据本发明实施例提供的基于程序积木的编程系统,第二程序积木按照设定的连接端传递使能信号和地址信息,同时读取条件参数,用户可以根据需求拼接第一程序积木和第二程序积木,由此实现诸如判断、循环、运算等更加复杂的功能。
地址分配方式可参照图1所示系统的方式,需要说明的是第二程序积木22的纵向连接端和横向连接端的用途不同。具体地,第二程序积木22的第一连接端(图中下端)用于接收使能信号和地址信息,以及发送写入完毕信号;第二连接端(图中上端)用于发送使能信号和传递地址信息;第三连接端(图中横向右端)用于读取参数。
更具体地,第二程序积木22在接收到第一程序积木B23发送的使能信号和编译器1发送的地址信息后,写入地址信息并向第一程序积木A21发送使能信号,以及向编译器1发送写入完毕信号,同时还读取并组合第一参数积木25和第二参数积木26中的参数。
本发明还提供一种控制系统,该系统包括如图1或图2所示的编程系统,以及控制器。
结合图2和图3,控制器3与编程系统的编译器1相连,二者之间可以是有线连接或者无线连接。控制器3用于获取编译器1编译后的目标程序,并执行该目标程序以控制被控对象。
其中控制器3优选为采用无线连接方式与被控对象连接,控制器3中设有蓝牙或者WiFi等无线通信单元。相应地,被控对象也设置无线通信单元来接收控制信号,被控对象具体可以是能够移动或转动的物体、能够发出声或光的物体,以及其它能够执行控制信号的物体都是可行的。
根据本发明提供的控制系统,用户可通过上述编程系统提供目标程序,由控制器执行目标程序来制被控对象做出相应的反应,由此使用户可以直观感受到自己提供的目标程序的效果,能够起到提高少儿编程教育效率的作用。
根据上述实施例中的程序积木可知,程序积木中存储的编码标识符用于表示具体的程序语句,而编程语言中的程序语句非常多,例如仅判断和循环类语句就有if、else、endif、while、break、endwhile、switch、case等多种,执行动作类语句则种类更多,甚至难以穷举。
在程序积木数量有限的情况下,仍难以实现丰富的编程逻辑,而增加程序积木的数量和种类无疑会增加成本。
为了使编程系统的目标程序功能更加丰富,本发明还提供了一种用于配置上述程序积木的配置装置,该装置可以积木的形式实现,也可以使用诸如智能手机、平板电脑等具有通信和数据处理的电子设备实现。
如图4所示,在一个实施例中,配置装置包括第一设置单元41和通信单元42。其中第一设置单元41用于获取用户提供的编码标识符,通信单元42用于读取用户提供的编码标识符,并向程序积木发送该编码标识符。
首先,提供一个编码标识符和程序语句的对应说明,用户(教学人员或指导人员等)可查看自己想要的程序语句对应的编码标识符,然后通过第一设置单元41提供给配置装置。
通信单元42与一个程序积木连接后,将用户提供的编码标识符发送给该程序积木。收到编码标识符后,程序积木利用该内容替换原有的编码标识符,由此该程序积木的编码标识符将被改变,也即程序积木所表示的程序语句将被改变。
当然,在初始时程序积木中也可以不预存任何编码标识符,由用户在第一次使用时通过配置装置向它们写入编码标识符。
通信单元42与程序积木之间可以有线或无形连接,例如可以在程序积木中设置专用的配置端口连接通信单元42,或者可以设置近场通信模块进行无线连接。
根据本发明实施例提供的配置装置,通过设置单元获取用户提供的编码标识符,由通信单元可向程序积木发送该编码标识符,使用户可以将任意的程序积木设置成任意的程序语句,由此可以在不增加程序积木数量的情况下,满足用户对编程逻辑的丰富性要求,降低硬件的成本。
上述实施例中的一些程序积木还可以存储参数,为了进一步提高目标程序的功能丰富性,配置装置还可以设置其中的参数,本发明所述参数具体可以是形参、实参、变量和常数等程序语句所需的数值。如图5所示,在一个实施例中,配置装置还包括第二设置单元43,用于获取用户提供的参数。通信单元42还用于读取用户提供的参数,并向程序积木发送该参数。
通信单元42与一个程序积木连接后,将用户提供的参数发送给该程序积木。收到参数后,程序积木利用该内容替换原有的参数,由此该程序积木的参数将被改变,也即程序语句所需的参数将被改变。
当然,在初始时程序积木中也可以不预存任何参数,由用户在第一次使用时通过配置装置向它们写入参数。
根据上述优选方案,用户可以按照自己的意愿改变程序积木中的参数,由此在不增加程序积木数量的前提下,可以进一步提高编程逻辑的丰富性。
通信单元42可以向程序积木发送一个或几个数据来表示编码标识符和参数,例如其中的一个字节表示编码标识符,其他字节表示参数。
配置装置中可设置EEPROM或者FLASH等可擦写存储器来存储用户提供的编码标识符和/或参数。编码标识符和参数可存储在不同或同一存储器中。通信单元42在向程序积木发送编码标识符时可同时发送一个配置指令,使程序积木确定当前正在执行配置操作,所接到的数据是配置编码标识符和参数的数据。
第一设置单元41可包括一组拨码开关或转盘等机械输入部件供用户选择编码标识符,例如一个机械输入部件的可操作档位范围是0~9,用户可通过一个机械输入部件选择10个档位中的任一个对应的编码标识符,而通过增加机械输入部件的数量即可提供更多可选的编码标识符;
类似地,第二设置单元43可包括另一组拨码开关或转盘等机械输入部件供用户选择参数,例如一个机械输入部件的可操作档位范围是0~9,用户可通过一个机械输入部件选择10个档位中的任一个对应的参数,而通过增加机械输入部件的数量即可提供更多可选的参数。
当程序积木接收并写入编码标识符和参数后,向配置装置反馈写入完毕信号,配置装置的通信单元接收此写入完毕信号以确定配置成功,之后可执行提示动作提示用户配置完毕。如果以积木的形式实现配置装置,可以在配置装置上设置声光部件来执行提示动作。
进一步地,程序积木还可以判断配置装置发来的编码标识符是否正确,例如程序积木预先被设定为只能接受三种编码标识符,当配置装置的编码标识符不属于这三种时则判定其为错误数据,此时执行报警动作,可以在程序积木上设置声光部件来执行报警动作。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (7)
1.一种基于程序积木的编程系统,其特征在于,包括编译器、至少一个程序积木和配置装置,其中
所述程序积木中设有用于存储编码标识符的存储器,所述编码标识符用于表示程序语句;用于存储参数的存储器,所述参数为程序语句所需的参数;
所述配置装置包括第一设置单元,用于获取用户提供的编码标识符;第二设置单元,用于获取用户提供的参数;通信单元,用于读取所述编码标识符,并向所述程序积木发送所述编码标识符,以及读取所述参数,并向所述程序积木发送所述参数;
所述编译器用于为所有与其直接或间接电连接的程序积木分配地址信息,并按照所述地址信息所指示的顺序依次读取所有程序积木中存储的所述编码标识符,根据所述编码标识符及其顺序获得源程序,以及编译所述源程序;
所述编译器向直接相连的所述程序积木发送使能信号,之后由所述程序积木依次传递使能信号,各个所述程序积木在收到使能信号且未写过地址的情况下接收所述编译器的分配的地址信息;
所述编译器判断是否在设定时间内接收到写入完毕信号,当未在设定时间内接收到写入完毕信号时,判定所有与其直接或间接电连接的所述程序积木均已写入地址信息。
2.根据权利要求1所述的编程系统,其特征在于,所述第一设置单元包括:
第一机械输入部件,用于根据用户的操作确定所述编码标识符;
第一存储器,用于存储所述编码标识符。
3.根据权利要求1所述的编程系统,其特征在于,所述第二设置单元包括:
第二机械输入部件,用于根据用户的操作确定所述参数;
第二存储器,用于存储所述参数。
4.根据权利要求1-3中任一项所述的编程系统,其特征在于,所述通信单元采用无线通信方式与所述程序积木连接。
5.根据权利要求1所述的编程系统,其特征在于,所述通信单元还用于在向所述程序积木发送所述编码标识符后接收所述程序积木反馈的写入完毕信号。
6.根据权利要求1所述的编程系统,其特征在于,还包括:
控制器,用于获取所述编程系统编译后的目标程序,并执行所述目标程序以控制被控对象。
7.根据权利要求1所述的编程系统,其特征在于,所述程序积木还用于在接收到所述配置装置发送的编码标识符时判断其是否正确,当判定接收到的编码标识符错误时执行报警动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910878268.8A CN110780877B (zh) | 2019-09-17 | 2019-09-17 | 基于程序积木的编程系统及其配置装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910878268.8A CN110780877B (zh) | 2019-09-17 | 2019-09-17 | 基于程序积木的编程系统及其配置装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780877A CN110780877A (zh) | 2020-02-11 |
CN110780877B true CN110780877B (zh) | 2023-10-03 |
Family
ID=69383549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910878268.8A Active CN110780877B (zh) | 2019-09-17 | 2019-09-17 | 基于程序积木的编程系统及其配置装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780877B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111613116A (zh) * | 2020-05-09 | 2020-09-01 | 广州大学 | 基于ArduBlock的实体化积木、编程方法及系统 |
CN111696408B (zh) * | 2020-06-22 | 2022-04-15 | 小狮互联(杭州)科技有限公司 | 一种实现空间编程的适配方法、装置及编程系统 |
CN112382142A (zh) * | 2020-11-25 | 2021-02-19 | 苏州山沪和智能科技有限公司 | 一种图形编程块套件系统 |
CN112596722A (zh) * | 2020-12-16 | 2021-04-02 | 软通动力信息技术(集团)股份有限公司 | 一种积木编程方法、装置、存储介质及电子设备 |
CN113031939B (zh) * | 2021-04-28 | 2023-10-24 | 深圳市腾讯网域计算机网络有限公司 | 图形化编程工具中的积木块调整方法及相关装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0530310A1 (en) * | 1990-05-18 | 1993-03-10 | Star Semiconductor Corporation | Programmable signal processor architecture, system for implementing circuits and method for processing information in said processor |
CN1284180A (zh) * | 1997-12-16 | 2001-02-14 | Ip半导体有限公司 | 利用布尔逻辑和可编程结构进行地址分析的方法和装置 |
DE102004047191A1 (de) * | 2004-09-29 | 2006-04-06 | Robert Bosch Gmbh | Manipulationsgeschütztes Mikroprozessorsystem und Betriebsverfahren dafür |
WO2008124988A1 (fr) * | 2007-04-13 | 2008-10-23 | Weijing Qu | Ordinateur « fagot » et système d'exploitation |
CN104888469A (zh) * | 2015-05-25 | 2015-09-09 | 卢军 | 基于图像识别的智能编程积木玩具及其实现方法 |
CN105137887A (zh) * | 2015-09-24 | 2015-12-09 | 苏州乐派特机器人有限公司 | 基于编程板的实物化编程方法及其在机器人领域的应用 |
CN105511860A (zh) * | 2015-11-30 | 2016-04-20 | 大连文森特软件科技有限公司 | 在线图形化编程系统 |
CN106125626A (zh) * | 2016-08-24 | 2016-11-16 | 广东乐博士教育装备有限公司 | 用于智能电子积木的信号运算方法及其硬件模块 |
CN106334323A (zh) * | 2016-09-12 | 2017-01-18 | 苏州乐派特机器人有限公司 | 一种具有分离式id模块的实物编程积木 |
CN107278290A (zh) * | 2017-05-16 | 2017-10-20 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
CN105363223B (zh) * | 2015-11-17 | 2018-08-14 | 卢军 | 基于nfc的智能可编程积木玩具 |
CN109491930A (zh) * | 2018-11-16 | 2019-03-19 | 杭州阿姆科技有限公司 | 一种ssd中优化写地址分配的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392634B2 (en) * | 2007-03-09 | 2013-03-05 | Omron Corporation | Programmable controller with building blocks having modules that can be combined into a single unit |
GB201019285D0 (en) * | 2010-11-15 | 2010-12-29 | Hepworth Browne Ltd | Interactive system and method of modifying user interaction therein |
CN104641620B (zh) * | 2012-09-21 | 2018-06-05 | 飞利浦灯具控股公司 | 用于动态地址分配的方法和装置 |
-
2019
- 2019-09-17 CN CN201910878268.8A patent/CN110780877B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0530310A1 (en) * | 1990-05-18 | 1993-03-10 | Star Semiconductor Corporation | Programmable signal processor architecture, system for implementing circuits and method for processing information in said processor |
CN1284180A (zh) * | 1997-12-16 | 2001-02-14 | Ip半导体有限公司 | 利用布尔逻辑和可编程结构进行地址分析的方法和装置 |
DE102004047191A1 (de) * | 2004-09-29 | 2006-04-06 | Robert Bosch Gmbh | Manipulationsgeschütztes Mikroprozessorsystem und Betriebsverfahren dafür |
WO2008124988A1 (fr) * | 2007-04-13 | 2008-10-23 | Weijing Qu | Ordinateur « fagot » et système d'exploitation |
CN104888469A (zh) * | 2015-05-25 | 2015-09-09 | 卢军 | 基于图像识别的智能编程积木玩具及其实现方法 |
CN105137887A (zh) * | 2015-09-24 | 2015-12-09 | 苏州乐派特机器人有限公司 | 基于编程板的实物化编程方法及其在机器人领域的应用 |
CN105363223B (zh) * | 2015-11-17 | 2018-08-14 | 卢军 | 基于nfc的智能可编程积木玩具 |
CN105511860A (zh) * | 2015-11-30 | 2016-04-20 | 大连文森特软件科技有限公司 | 在线图形化编程系统 |
CN106125626A (zh) * | 2016-08-24 | 2016-11-16 | 广东乐博士教育装备有限公司 | 用于智能电子积木的信号运算方法及其硬件模块 |
CN106334323A (zh) * | 2016-09-12 | 2017-01-18 | 苏州乐派特机器人有限公司 | 一种具有分离式id模块的实物编程积木 |
CN107278290A (zh) * | 2017-05-16 | 2017-10-20 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
CN109491930A (zh) * | 2018-11-16 | 2019-03-19 | 杭州阿姆科技有限公司 | 一种ssd中优化写地址分配的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110780877A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825378B (zh) | 基于程序积木的编程系统和控制系统 | |
CN110780877B (zh) | 基于程序积木的编程系统及其配置装置 | |
KR102435819B1 (ko) | 스마트 매직 큐브 및 그의 동작방법 | |
US6071194A (en) | Reconfigurable video game controller | |
CN110262378A (zh) | 一种利用app控制机器人实现在线编程的方法 | |
CN108305529A (zh) | 一种实体化编程系统 | |
CN111240242A (zh) | 一种实物化编程系统及方法 | |
KR20170104306A (ko) | 모듈 시스템 및 모듈기반 로봇 시스템, 그리고 모듈 시스템의 업데이트 방법 | |
JPS6112282B2 (zh) | ||
JPH0782368B2 (ja) | プログラマブルコントローラ用プログラムを作成するプログラミング端末装置 | |
KR101676676B1 (ko) | 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법 | |
CN111833588A (zh) | 可自定义的无线遥控适配器、方法及装置 | |
CN110687921B (zh) | 一种无人机飞行控制方法、装置及电子设备和存储介质 | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
CN114743422B (zh) | 一种答题方法及装置和电子设备 | |
CN114860148B (zh) | 一种交互方法、装置、计算机设备及存储介质 | |
CN113797527B (zh) | 一种游戏处理方法、装置、设备、介质及程序产品 | |
CN114055482A (zh) | 一种多模块教育机器人套件 | |
KR20210142305A (ko) | 인공지능 기반 코딩 코칭 서비스 시스템 | |
CN112598970A (zh) | 一种图形编程块套件系统 | |
CN112382142A (zh) | 一种图形编程块套件系统 | |
CN103295387A (zh) | 一种电子设备、投影遥控器及其实现方法 | |
US20190043343A1 (en) | Programmable remote controller | |
CN111773733B (zh) | 基于Arcade平台的编程方法、设备及存储介质 | |
CN220962397U (zh) | 一种编程调试器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |