CN110825378A - 基于程序积木的编程系统和控制系统 - Google Patents

基于程序积木的编程系统和控制系统 Download PDF

Info

Publication number
CN110825378A
CN110825378A CN201910878262.0A CN201910878262A CN110825378A CN 110825378 A CN110825378 A CN 110825378A CN 201910878262 A CN201910878262 A CN 201910878262A CN 110825378 A CN110825378 A CN 110825378A
Authority
CN
China
Prior art keywords
program
address information
compiler
block
programming system
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.)
Granted
Application number
CN201910878262.0A
Other languages
English (en)
Other versions
CN110825378B (zh
Inventor
周永军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qinhuangdao Mige Education Technology Co Ltd
Original Assignee
Qinhuangdao Mige Education Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qinhuangdao Mige Education Technology Co Ltd filed Critical Qinhuangdao Mige Education Technology Co Ltd
Priority to CN201910878262.0A priority Critical patent/CN110825378B/zh
Publication of CN110825378A publication Critical patent/CN110825378A/zh
Application granted granted Critical
Publication of CN110825378B publication Critical patent/CN110825378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

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 (10)

1.一种基于程序积木的编程系统,其特征在于,包括:编译器和至少一个程序积木,其中所述程序积木中存储有编码标识符;
所述编译器为所有与其直接或间接电连接的程序积木分配地址信息,并按照所述地址信息所指示的顺序依次读取所有程序积木中存储的所述编码标识符,并根据所述编码标识符及其顺序获得源程序,以及编译所述源程序。
2.根据权利要求1所述的编程系统,其特征在于,所述程序积木中存储有参数;所述编译器用于在读取所述编码标识符的同时读取所述参数,并根据所述编码标识符和所述参数获得源程序。
3.根据权利要求1或2所述的编程系统,其特征在于,所述编译器用于在启动时向所有与其直接或间接电连接的程序积木发送地址信息,并在启动时向与其直接电连接的程序积木发送使能信号;
所述程序积木在收到使能信号后,判断自身是否已写入过地址信息,如果未写入过地址信息,则接收并写入所述地址信息,之后向所述编译器发送写入完毕信号,并向与其直接电连接的一个程序积木发送使能信号;
所述编译器还用于在收到所述写入完毕信号时,向所有与其直接或间接电连接的程序积木发送地址信息。
4.根据权利要求3所述的编程系统,其特征在于,所述程序积木包括第一程序积木,所述第一程序积木具两个连接端;其中一个连接端用于接收所述使能信号和所述地址信息,以及发送所述写入完毕信号,另一连接端用于发送所述使能信号和所述地址信息。
5.根据权利要求3或4所述的编程系统,其特征在于,所述程序积木包括第二程序积木,所述第二程序积木具有三个连接端;其中第一连接端用于接收所述使能信号和所述地址信息,以及发送所述写入完毕信号,第二连接端端用于发送所述使能信号和所述地址信息,第三连接端用于读取参数;
所述编程系统还包括参数积木,用于存储所述参数。
6.根据权利要求5所述的编程系统,其特征在于,所述第二程序积木还用于在接收并写入所述地址信息后,按照所述第三连接端所串联的所述参数积木的顺序读取并存储其中的参数。
7.根据权利要求5或6所述的编程系统,其特征在于,所述参数积木设有设置键,用于根据用户操作调整所述参数。
8.根据权利要求1-7中任一项所述的编程系统,其特征在于,所述编译器用于判断是否在设定时间内接收到所述写入完毕信号,当未在设定时间内接收到所述写入完毕信号时,判定所有与其直接或间接电连接的程序积木均已写入地址信息。
9.一种控制系统,其特征在于,包括:
权利要求1-8中任一项所述的编程系统;以及
控制器,用于获取所述编程系统编译后的目标程序,并执行所述目标程序以控制被控对象。
10.根据权利要求9所述的控制系统,其特征在于,所述控制器设有无线通信单元,用于连接被控对象。
CN201910878262.0A 2019-09-17 2019-09-17 基于程序积木的编程系统和控制系统 Active CN110825378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910878262.0A CN110825378B (zh) 2019-09-17 2019-09-17 基于程序积木的编程系统和控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910878262.0A CN110825378B (zh) 2019-09-17 2019-09-17 基于程序积木的编程系统和控制系统

Publications (2)

Publication Number Publication Date
CN110825378A true CN110825378A (zh) 2020-02-21
CN110825378B CN110825378B (zh) 2023-07-18

Family

ID=69548025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910878262.0A Active CN110825378B (zh) 2019-09-17 2019-09-17 基于程序积木的编程系统和控制系统

Country Status (1)

Country Link
CN (1) CN110825378B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111308938A (zh) * 2020-03-04 2020-06-19 九芯智能科技(南通)有限公司 一种用于学习编程的编程装置及其使用方法
CN111736822A (zh) * 2020-08-21 2020-10-02 深圳点猫科技有限公司 一种图形化编程工具中的变量操作方法及装置
CN112463139A (zh) * 2020-11-23 2021-03-09 乐聚(深圳)机器人技术有限公司 基于电子积木的编程方法、装置、电子设备及存储介质
CN113035033A (zh) * 2021-03-24 2021-06-25 广州途道信息科技有限公司 一种电子积木拼接教学方法
CN113257080A (zh) * 2021-05-10 2021-08-13 杭州优必学科技有限公司 一种实物化编程方法
CN114488859A (zh) * 2021-12-21 2022-05-13 深圳市优必选科技股份有限公司 电子积木控制电路、电子积木以及电子积木系统
CN115080151A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端

Citations (14)

* Cited by examiner, † Cited by third party
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
US20020198970A1 (en) * 2001-04-27 2002-12-26 Shunji Kuwa Programmable controller system
DE102004047191A1 (de) * 2004-09-29 2006-04-06 Robert Bosch Gmbh Manipulationsgeschütztes Mikroprozessorsystem und Betriebsverfahren dafür
CN101071409A (zh) * 2007-04-13 2007-11-14 曲卫晶 积木式计算机和操作系统
CN101154165A (zh) * 1996-01-16 2008-04-02 英国电讯有限公司 远程通信系统、编译控制程序的设备和代码产生方法
CN101446905A (zh) * 2008-12-29 2009-06-03 北京飞天诚信科技有限公司 编译方法及编译器
CN203566698U (zh) * 2013-09-12 2014-04-30 汕头市快畅计算机有限公司 一种微控制单元可插换及擦写的积木型智能机器人
CN104888469A (zh) * 2015-05-25 2015-09-09 卢军 基于图像识别的智能编程积木玩具及其实现方法
US20150256384A1 (en) * 2012-09-21 2015-09-10 Koninklijke Philips N.V. Method and apparatus for dynamic address assignment
CN106310678A (zh) * 2016-08-29 2017-01-11 安徽小木文化科技有限公司 智能积木系统及其控制方法
CN207266769U (zh) * 2017-08-31 2018-04-24 深圳市帕拉卡科技有限公司 智能积木系统及其交互系统
CN108630064A (zh) * 2017-10-10 2018-10-09 孙家权 一种识字积木
CN108635887A (zh) * 2018-07-13 2018-10-12 王威立 一种可热插拔积木式编程系统
CN109710242A (zh) * 2018-12-29 2019-05-03 深圳点猫科技有限公司 web端图形化编程的交互方法、系统及电子设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
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
CN101154165A (zh) * 1996-01-16 2008-04-02 英国电讯有限公司 远程通信系统、编译控制程序的设备和代码产生方法
US20020198970A1 (en) * 2001-04-27 2002-12-26 Shunji Kuwa Programmable controller system
DE102004047191A1 (de) * 2004-09-29 2006-04-06 Robert Bosch Gmbh Manipulationsgeschütztes Mikroprozessorsystem und Betriebsverfahren dafür
CN101071409A (zh) * 2007-04-13 2007-11-14 曲卫晶 积木式计算机和操作系统
CN101446905A (zh) * 2008-12-29 2009-06-03 北京飞天诚信科技有限公司 编译方法及编译器
US20150256384A1 (en) * 2012-09-21 2015-09-10 Koninklijke Philips N.V. Method and apparatus for dynamic address assignment
CN203566698U (zh) * 2013-09-12 2014-04-30 汕头市快畅计算机有限公司 一种微控制单元可插换及擦写的积木型智能机器人
CN104888469A (zh) * 2015-05-25 2015-09-09 卢军 基于图像识别的智能编程积木玩具及其实现方法
CN106310678A (zh) * 2016-08-29 2017-01-11 安徽小木文化科技有限公司 智能积木系统及其控制方法
CN207266769U (zh) * 2017-08-31 2018-04-24 深圳市帕拉卡科技有限公司 智能积木系统及其交互系统
CN108630064A (zh) * 2017-10-10 2018-10-09 孙家权 一种识字积木
CN108635887A (zh) * 2018-07-13 2018-10-12 王威立 一种可热插拔积木式编程系统
CN109710242A (zh) * 2018-12-29 2019-05-03 深圳点猫科技有限公司 web端图形化编程的交互方法、系统及电子设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111308938A (zh) * 2020-03-04 2020-06-19 九芯智能科技(南通)有限公司 一种用于学习编程的编程装置及其使用方法
CN111736822A (zh) * 2020-08-21 2020-10-02 深圳点猫科技有限公司 一种图形化编程工具中的变量操作方法及装置
CN111736822B (zh) * 2020-08-21 2021-01-05 深圳点猫科技有限公司 一种图形化编程工具中的变量操作方法及装置
CN112463139A (zh) * 2020-11-23 2021-03-09 乐聚(深圳)机器人技术有限公司 基于电子积木的编程方法、装置、电子设备及存储介质
CN112463139B (zh) * 2020-11-23 2024-04-02 乐聚(深圳)机器人技术有限公司 基于电子积木的编程方法、装置、电子设备及存储介质
CN113035033A (zh) * 2021-03-24 2021-06-25 广州途道信息科技有限公司 一种电子积木拼接教学方法
CN113257080A (zh) * 2021-05-10 2021-08-13 杭州优必学科技有限公司 一种实物化编程方法
CN113257080B (zh) * 2021-05-10 2022-07-08 杭州优必学科技有限公司 一种实物化编程方法
CN114488859A (zh) * 2021-12-21 2022-05-13 深圳市优必选科技股份有限公司 电子积木控制电路、电子积木以及电子积木系统
CN115080151A (zh) * 2022-07-22 2022-09-20 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端
CN115080151B (zh) * 2022-07-22 2023-07-14 平安银行股份有限公司 App启动流程控制方法、计算机可读存储介质及终端

Also Published As

Publication number Publication date
CN110825378B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN110825378B (zh) 基于程序积木的编程系统和控制系统
CN110780877B (zh) 基于程序积木的编程系统及其配置装置
KR102435819B1 (ko) 스마트 매직 큐브 및 그의 동작방법
US20130019019A1 (en) Cloud servicing system configured for servicing smart phone or touch pad circuit applications and consumer programmable articles
CN109345908A (zh) 可视化模块编程系统及其控制方法
CN103337086A (zh) 用于移动终端的图片编辑方法、装置和移动终端
KR101843831B1 (ko) 쪼물락 코딩 블록
CN113050508B (zh) 控制板的调试方法、装置、存储介质及调试设备
US9459838B2 (en) Path driven programming method and programming tool
CN111240242A (zh) 一种实物化编程系统及方法
CN103218218B (zh) 梯形图程序创建设备
JPS6112282B2 (zh)
KR101676676B1 (ko) 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
CN108874383A (zh) 图形编程方法及编程系统
EP1736869A2 (en) Program creation apparatus, program creation method and program
US20190220259A1 (en) 3d multi-threaded, parameter layered, physical programming interface
US20120021732A1 (en) Cloud computing system configured for a consumer to program a smart phone or touch pad
KR102186719B1 (ko) 블록형 무선 코딩 명령어 입력 장치 및 방법
CN114743422B (zh) 一种答题方法及装置和电子设备
EP3815855A1 (en) Modular robot system
KR20210142305A (ko) 인공지능 기반 코딩 코칭 서비스 시스템
US10136242B2 (en) Cloud computing system configured for a consumer to program a smart phone and touch pad
CN111773733B (zh) 基于Arcade平台的编程方法、设备及存储介质
CN212229866U (zh) 游戏编程系统
KR20200139859A (ko) 사물인터넷의 스타네트워크를 이용하여 코딩 교육을 제공하는 시스템 및 방법

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