CN108766118A - 易于编程教育的有形编程积木 - Google Patents

易于编程教育的有形编程积木 Download PDF

Info

Publication number
CN108766118A
CN108766118A CN201810970273.7A CN201810970273A CN108766118A CN 108766118 A CN108766118 A CN 108766118A CN 201810970273 A CN201810970273 A CN 201810970273A CN 108766118 A CN108766118 A CN 108766118A
Authority
CN
China
Prior art keywords
building blocks
instruction
module
parameter
plug
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
CN201810970273.7A
Other languages
English (en)
Other versions
CN108766118B (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.)
Hangzhou High And Low Technology Co Ltd
Original Assignee
Hangzhou High And Low 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 Hangzhou High And Low Technology Co Ltd filed Critical Hangzhou High And Low Technology Co Ltd
Priority to CN201810970273.7A priority Critical patent/CN108766118B/zh
Publication of CN108766118A publication Critical patent/CN108766118A/zh
Application granted granted Critical
Publication of CN108766118B publication Critical patent/CN108766118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/046Building blocks, strips, or similar building parts comprising magnetic interaction means, e.g. holding together by magnetic attraction
    • 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)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Toys (AREA)

Abstract

本发明公开了易于编程教育的有形编程积木,属于编程教育技术领域,本发明让孩子在学习编程时无需使用屏幕,实现无需屏幕就能让孩子学习编程。包括若干个积木,并在每个积木上都分别设有能将任意两个积木进行两两相互可分开式固定对接连接在一起的固定连接机构和能将任意两个积木进行两两相互可分开式数据线对接连接在一起的数据传输接口。在主控积木上分别设有主控模块和木端通信模块。在每个指令积木上分别设有指令模块,设置在同一个指令积木上的数据传输接口和指令模块连接;在每个参数积木上分别设有参数模块,设置在同一个参数积木上的数据传输接口和参数模块连接。

Description

易于编程教育的有形编程积木
技术领域
本发明涉及编程教育技术领域,具体涉及易于编程教育的有形编程积木。
背景技术
现在主流的编程教育一般都是采用简易编程工具scratch+课程的方式,即采用线上课程和线下课程两种方式。
为了学习编程,现在孩子就必须要依赖一个iPad或者一台电脑运行简易编程工具scratch,由于现在孩子使用屏幕的时间已经越来越不可控制,让孩子学习编程而使用屏幕的时间与控制孩子使用屏幕的时间之间形成了冲突,这让家长较为纠结。因此设计一种可以不看屏幕就能学习编程的编程教育系统就显得非常必要。
发明内容
本发明是为了解决孩子在学习编程时必须使用屏幕,而使用屏幕的时间和要控制孩子使用屏幕的时间之间存在冲突的不足,提供一种孩子在学习编程时无需使用屏幕,采用积木连接方式将要执行的程序写入主控模块中,由主控模块根据写入的程序去控制被控制对象完成相应的指令动作,从而实现无需屏幕就能让孩子学习编程,可靠性高,趣味性好的易于编程教育的有形编程积木。
以上技术问题是通过下列技术方案解决的:
易于编程教育的有形编程积木,包括若干个积木,并在每个积木上都分别设有能将任意两个积木进行两两相互可分开式固定对接连接在一起的固定连接机构和能将任意两个积木进行两两相互可分开式数据线对接连接在一起的数据传输接口;在若干个积木中包括一个主控积木、若干个指令积木和若干个参数积木;在主控积木上分别设有主控模块和木端通信模块,木端通信模块和设置在主控积木上的数据传输接口分别与主控模块连接;在每个指令积木上分别设有指令模块,设置在同一个指令积木上的数据传输接口和指令模块连接;在每个参数积木上分别设有参数模块,设置在同一个参数积木上的数据传输接口和参数模块连接。
通过积木这种有形模块让孩子边玩边学习编程。制作一个个有形的积木模块代替复杂的计算机代码,有了它就能让小孩都可以学习编程了。通过积木进行有形编程,正是利用孩子们在玩乐当中学习的天性与计算机思维结合在一起,从而让编程变得简单容易。
本发明将scratch里的部分指令搬到了现实中,成为现实中可搭接的积木,孩子能完全脱离屏幕,直接通过指令积木,完成编程,控制被控制对象机器人等。
同时,本发明相比于Google的ProjectBloks这样的有形编程,本发明解决了能在同一个产品里,将有形编程直接过渡到软件编程,实现编程教育的目的,让孩子最终能够学会通过编程语言进行编程。
本发明可实时将积木搭建出的指令同步到iPad或电脑中,实时查看转化成的高级编程语言,如JavaScript或Python,并可执行或单步执行程序,进行debug编程工具。
孩子在学习编程时无需使用屏幕,采用积木连接方式将要执行的程序写入主控模块中,由主控模块根据写入的程序去控制被控制对象完成相应的指令动作,从而实现无需屏幕就能让孩子学习编程,可靠性高,趣味性好。
作为优选,所述木端通信模块包括wifi和或蓝牙。
wifi和或蓝牙易于连接,可靠性高。
作为优选,若干个指令积木则有若干个指令模块,并且这若干个指令模块为基础指令集;基础指令集包括执行函数指令、循环控制指令、逻辑判断指令和基本动作指令;若干个参数积木则有若干个参数模块,并且这若干个参数模块是为基础指令集提供指令参数的辅助指令集;所述辅助指令集包括用于执行函数指令的函数名、可调节数字模块、可调节角度模块和可调节是否模块。
基础指令集和辅助指令集的配合能让机器端运行孩子需要的各种动作,大大提高了机器端运行动作的使用范围,便于孩子探索机器端的各种运行动作,增加编程兴趣和玩积木的乐趣。
作为优选,固定连接机构包括能相互磁性吸住的若干个磁铁;在积木的每个壁面内都分别嵌入有至少一个磁铁;两个积木之间通过设置在这两个积木对应壁面内的磁铁磁性吸住后固定对接连接在一起;
数据传输接口包括若干个插座和与插座匹配的插头,在每个积木的至少一个壁面上设置有插座,在每个积木的至少一个壁面上设置有插头,并且在同一个积木上的插头和插座不在该积木的同一个壁面上;
设置在主控积木上的插头和插座分别与设置在该主控积木上的主控模块连接;设置在同一个指令积木上的插头和插座分别与设置在该个指令积木上的指令模块连接;设置在同一个参数积木上的插头和插座分别与设置在该个参数积木上的参数模块连接。
这种结构易于将两个积木对接连接在一起,并且两个积木对接连接后,这两个积木之间的数据信号传输稳定性好,信号不易中断。
作为优选,在积木内设有木腔,在木腔内设有与该积木上的插头个数相等的支点和与支点个数相等的拉绳,在每个支点上分别设有杠杆;在支点左方的木腔内设有一号定滑轮,在支点右方的木腔内设有二号定滑轮;
在插头处的积木内设有与木腔相连通的头滑孔,插头滑动连接在头滑孔内,并在头滑孔内设有能将插头往头滑孔的木腔端挤压的头挤压弹簧;
在磁铁处的积木内设有与木腔相连通的磁滑孔,磁铁滑动设置在磁滑孔内,并在磁滑孔内设有能将磁铁往磁滑孔的木腔端挤压的磁挤压弹簧;
杠杆的阻力臂端部滑动连接在插头的里端面上;拉绳的一端固定连接在杠杆的动力臂端部,拉绳的另一端依次经过二号定滑轮和一号定滑轮后固定连接在磁铁的里端面上;杠杆的动力臂长度大于杠杆的阻力臂长度。
这种结构可靠性高,在两个积木通过磁铁固定连接在一起后,磁铁的力还能同时让其中一个积木的插头上的金属插条插入连接在另一个积木的插座的插孔内。并在这两个积木分开后,插头上的金属插条缩入到积木内,易于使用,在使用过程中插头上的金属插条不易伤到手,使用简单,安全方便,可靠性好。
作为优选,在插座的插孔里端面上设有接触开关,在插孔内的上侧壁上向上设有竖直孔,在竖直孔内上下滑动设有绝缘竖直滑块,在绝缘竖直滑块上方的竖直孔内上下滑动设有永磁铁,在永磁铁上方的竖直孔内固定设有电磁铁,在绝缘竖直滑块与永磁铁之间的竖直孔内活动设有竖直弹簧,竖直弹簧的上端固定连接在永磁铁的下表面上,竖直弹簧的下端固定连接在绝缘竖直滑块的上表面上;在接触开关上方的插孔里端面上设有弹性导电金属片,弹性导电金属片的外端位于绝缘竖直滑块的正下方;弹性导电金属片导电连接在数据传输接口的数据传输线上;接触开关串联连接在电磁铁的电源回路上。
接触开关为常开接触开关。当插头的金属插条插入连接在插座的插孔内后,接触开关闭合,电磁铁的电源回路导通,电磁铁通电后所发出的电磁力与永磁铁的磁力相互排斥,从而使得永磁铁向下移动,永磁铁向下移动的结果就会让绝缘竖直滑块下端压紧在弹性导电金属片的上表面外端,从而让弹性导电金属片的下表面压紧导电连接在插头的金属插条上,使得金属插条与数据传输接口的数据传输线之间导通,从而使得两个积木之间的数据传输更加稳定可靠。当插头的金属插条从插座的插孔内退出后,电磁铁的电源回路断开,电磁铁上没有电磁力,从而使得永磁铁向上移动降低绝缘竖直滑块压在弹性导电金属片上的压力,可靠性好。
作为优选,在弹性导电金属片的外端设有开口朝上的圆弧段,并且弹性导电金属片的圆弧段外端位于绝缘竖直滑块的正下方。圆弧段这种结构易于将弹性导电金属片压紧连接在插头的金属插条上,结构简单可靠性高。
作为优选,在绝缘竖直滑块的下端面上设有滚珠。滚珠压紧在弹性导电金属片的上表面外端,可靠性好。
本发明能够达到如下效果:
本发明孩子在学习编程时无需使用屏幕,采用积木连接方式将要执行的程序写入主控模块中,由主控模块根据写入的程序去控制被控制对象完成相应的指令动作,从而实现无需屏幕就能让孩子学习编程,可靠性高,趣味性好。
附图说明
图1为本发明的若干个积木连接在一起的一种连接结构示意图。
图2为本发明实施例的一种电路原理连接结构示意框图。
图3为本发明实施例主控积木和参数积木都还没有连接在指令积木上时的一种连接结构示意图。
图4为本发明实施例主控积木和参数积木都已经分别连接在指令积木上后的一种连接结构示意图。
图5为本发明实施例参数积木还未连接在指令积木上时的一种连接结构示意图。
图6为本发明实施例参数积木已经连接在指令积木上后的一种连接结构示意图。
图7为本发明实施例执行函数指令的一种流程图。
图8为本发明实施例存储函数定义的一种流程图。
图9为本发明实施例指令积木控制机器人的一种流程图。
图10为本发明实施例指令模块的一种电路原理连接结构示意图。
图11为本发明实施例参数模块的一种电路原理连接结构示意图。
图12为图6中竖直孔处的一种局部放大连接结构示意图。
图13为本发明实施例弹性导电金属片通过导线导电连接在数据传输接口的数据传输线上的一种电路原理连接结构示意图。
图14为本发明实施例接触开关串联连接在电磁铁的电源回路上的一种电路原理连接结构示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步的说明。
实施例,易于编程教育的有形编程积木,参见图1-图6所示,包括积木端47、电脑端38和机器端36;积木端包括若干个积木,并在每个积木上都分别设有能将任意两个积木进行两两相互可分开式固定对接连接在一起的固定连接机构和能将任意两个积木进行两两相互可分开式数据线对接连接在一起的数据传输接口;在若干个积木中包括一个主控积木、若干个指令积木和若干个参数积木;在主控积木26上分别设有主控模块44和木端通信模块43,木端通信模块43和设置在主控积木上的数据传输接口27分别与主控模块44连接;在每个指令积木1上分别设有指令模块45,设置在同一个指令积木1上的数据传输接口30和指令模块连接;在每个参数积木上分别设有参数模块,设置在同一个参数积木21上的数据传输接口22和参数模块46连接;在电脑端上设有脑端通信模块;在机器端上设有机端通信模块和能控制机器端进行各种基本动作的机端控制器,机端通信模块与机端控制器相连接;主控积木上的木端通信模块能同时与机器端上的机端通信模块和电脑端上的脑端通信模块通信连接。
参见图3所示,主控积木26上的固定连接机构29还没固定对接连接在指令积木1上的固定连接机构31上,并且此时指令积木1上的数据传输接口30也没对接连接在主控积木26上的数据传输接口27上,指令积木1上的固定连接机构34也没固定对接连接在参数积木21上的固定连接机构35上,指令积木1上的数据传输接口25也没对接连接在参数积木21上的数据传输接口22上。在指令积木上还设有数据传输接口24。在参数积木上还设有数据传输接口23。在主控积木上还分别设有固定连接机构28、数据传输接口32和数据传输接口33。
参见图4所示,主控积木26上的固定连接机构29已经固定对接连接在指令积木1上的固定连接机构31上,并且此时指令积木1上的数据传输接口30也已经对接连接在主控积木26上的数据传输接口27上,指令积木1上的固定连接机构34也已经固定对接连接在参数积木21上的固定连接机构35上,指令积木1上的数据传输接口25也已经对接连接在参数积木21上的数据传输接口22上。
所述木端通信模块、所述脑端通信模块和所述机端通信模块分别包括wifi和或蓝牙。
在机器端上设有分别与机端控制器连接的声音模块、发光模块、传感器模块、扩展模块和能根据指令模块的指令让机器端进行各种基本动作的运动模块。
若干个指令积木则有若干个指令模块,并且这若干个指令模块为基础指令集;基础指令集包括执行函数指令、循环控制指令、逻辑判断指令和基本动作指令;若干个参数积木则有若干个参数模块,并且这若干个参数模块是为基础指令集提供指令参数的辅助指令集;所述辅助指令集包括用于执行函数指令的函数名、可调节数字模块、可调节角度模块和可调节是否模块。
所述机器端36包括机器人48,所述基本动作指令包括能让机器人执行基本动作的机器人基本动作指令,所述机器人基本动作指令包括前进指令、后退指令、左转指令、右转指令、转圈指令、发声指令、闪光指令、前倾斜指令、后倾斜指令、左倾斜指令、右倾斜指令、抬起指令和放下指令。
电脑端38包括iPad40或基于树莓派的微型电脑39。微型电脑39通过设置在微型电脑39上的脑端通信模块41与积木端47主控积木26上的木端通信模块43无线连接。iPad40通过设置在iPad40上的脑端通信模块42与积木端47主控积木26上的木端通信模块43无线连接。
机器端36的机器人48通过设置在机器人48上的机端通信模块37与积木端47主控积木26上的木端通信模块43无线连接。机器人48上的机端控制器51与设置在该机器人48上的机端通信模块51连接。机器人48上的声音模块59、发光模块60、传感器模块61、扩展模块62和运动模块63分别与机器人48上的机端控制器51连接。
参见图5、图6所示,固定连接机构包括能相互磁性吸住的若干个磁铁;在积木的每个壁面内都分别嵌入有至少一个磁铁;两个积木之间通过设置在这两个积木对应壁面内的磁铁磁性吸住后固定对接连接在一起;
数据传输接口包括若干个插座和与插座匹配的插头,在每个积木的至少一个壁面上设置有插座,在每个积木的至少一个壁面上设置有插头,并且在同一个积木上的插头和插座不在该积木的同一个壁面上;
设置在主控积木上的插头和插座分别与设置在该主控积木上的主控模块连接;设置在同一个指令积木上的插头和插座分别与设置在该个指令积木上的指令模块连接;设置在同一个参数积木上的插头和插座分别与设置在该个参数积木上的参数模块连接。
指令积木1上的磁铁14还没被参数积木21上的磁铁18磁性吸住。指令积木1上的插头15的金属插条16还没插入连接在参数积木21上的插座20的插孔19内。
在积木内设有木腔10,在木腔内设有与该积木上的插头个数相等的支点6和与支点个数相等的拉绳5,在每个支点上分别设有杠杆3;在支点左方的木腔内设有一号定滑轮2,在支点右方的木腔内设有二号定滑轮9;
在插头处的积木内设有与木腔相连通的头滑孔13,插头滑动连接在头滑孔内,并在头滑孔内设有能将插头往头滑孔的木腔端挤压的头挤压弹簧11;
在磁铁处的积木内设有与木腔相连通的磁滑孔17,磁铁滑动设置在磁滑孔内,并在磁滑孔内设有能将磁铁往磁滑孔的木腔端挤压的磁挤压弹簧12;
杠杆的阻力臂4端部设有滚轮8,滚轮滑动连接在插头的里端面上;拉绳的一端固定连接在杠杆的动力臂7端部,拉绳的另一端依次经过二号定滑轮和一号定滑轮后固定连接在磁铁的里端面上;杠杆的动力臂长度大于杠杆的阻力臂长度。
参见图5、图6、图12所示,在插座20的插孔19里端面上设有接触开关72,在插孔内的上侧壁上向上设有竖直孔65,在竖直孔内上下滑动设有绝缘竖直滑块69,在绝缘竖直滑块上方的竖直孔内上下滑动设有永磁铁67,在永磁铁上方的竖直孔内固定设有电磁铁66,在绝缘竖直滑块与永磁铁之间的竖直孔内活动设有竖直弹簧68,竖直弹簧的上端固定连接在永磁铁的下表面上,竖直弹簧的下端固定连接在绝缘竖直滑块的上表面上;在接触开关上方的插孔里端面上设有弹性导电金属片71,弹性导电金属片的外端位于绝缘竖直滑块的正下方。在弹性导电金属片的外端设有开口朝上的圆弧段70,并且弹性导电金属片的圆弧段外端位于绝缘竖直滑块的正下方。在绝缘竖直滑块的下端面上设有滚珠64。
参见图13所示,弹性导电金属片71通过导线73导电连接在数据传输接口22的数据传输线74上。
参见图14所示,接触开关72串联连接在电磁铁66的电源76回路75上。
接触开关为常开接触开关。当插头15的金属插条16插入连接在插座20的插孔19内后,接触开关闭合,电磁铁的电源回路导通,电磁铁通电后所发出的电磁力与永磁铁的磁力相互排斥,从而使得永磁铁向下移动,永磁铁向下移动的结果就会让绝缘竖直滑块下端面上的滚珠压紧在弹性导电金属片的上表面外端,从而让弹性导电金属片的下表面压紧导电连接在插头15的金属插条上,使得金属插条与数据传输接口22的数据传输线74之间导通,从而使得两个积木之间的数据传输更加稳定可靠。当插头15的金属插条16从插座20的插孔19内退出后,电磁铁的电源回路断开,电磁铁上没有电磁力,从而使得永磁铁向上移动降低滚珠压在弹性导电金属片上的压力,可靠性好。
主控模块:基于树莓派(Raspberry Pi)系统,如果是树莓派0,需要加上wifi模块和蓝牙模块。如果是树莓派3(树莓派3自带wifi和蓝牙)。开始模块通过磁吸方式,通过usb转uart芯片与树莓派通信。运行nodejs,通过蓝牙模块控制机器端,通过蓝牙模块同步指令到电脑端,通过wifi模块连接电脑端上进行软件升级。
若干指令模块:为基础指令集,包括执行函数指令(Func())、循环控制指令(for循环)、逻辑判断(条件)指令(if/else)、基本动作指令(前进、后退、左转、右转、转圈、发声、LED闪灯等)。
指令模块的主要功能:存储自身的指令关键字,供主控模块识别;读取参数模块,将参数加入自身的指令;收集下方的指令,加入自身的指令,上传;读取当前正在执行的指令ID,如果符合自身ID,则高亮LED灯。指令模块的电路原理示意图如图10所示。
若干参数模块:辅助基础指令,提供指令参数,包括函数名(用于执行函数指令)、可调节数字模块、可调节角度模块、可调节是否模块等。参数模块的电路原理示意图如图11所示。
参数模块的主要功能:可调节参数数值,包括数字、角度、TRUE/FALSE等;可调节关系,包括等于、大于、小于、大于等于、小于等于等;承载函数名,用于定义和执行自定义函数。
指令模块的核心芯片为Attiny85,用于接收输入指令,处理输入指令,并返回输出指令。
当”结束”积木上的开关被触发时,结束指令开始向上传递指令。收到下方的指令集后,当前指令积木会询问参数模块。如果后面吸附着参数模块,参数模块会返回当前设定的参数值,如果参数模块后面还吸附着其他的参数模块,参数模块会继续向后询问。当前指令积木收到参数模块返回后,将自己存储的指令和参数组成完整的指令,加入从下方收到的指令集,组成新的指令集,向上传递。开始模块收到了全部指令集后,加入开始模块自身的指令,通过磁吸弹针将完整的指令集传递给主控模块。
参数模块的核心芯片也是Attiny85,主要功能就是读取电位器的电压值,通过ADC转换成预设的枚举值(不同的参数模块,设置不同的枚举变量),有数值的选择,有角度的选择,有是否的选择,也有运算符号的选择(如=,<,>,<=,>=等)。
参数模块是可以扩展的,可以是一个,也支持多个参数模块串联。
参见图9所示,指令积木控制机器人的流程为:
主控积木的主控模块启动后,通过蓝牙模块,搜索机器人和iPad,主控模块作为蓝牙主机,机器人和iPad作为蓝牙外设,机器人和iPad随时启动,随时蓝牙连接成功。
孩子开始根据自己的意愿或课程要求,自行设计程序,添加指令模块和参数模块,参数模块上的数字、角度、是否等可以随意调整,参数模块还包含针对传感器状态的判断。
完成指令模块和参数模块的搭建后,打开开关,完成指令。主控模块将指令通过蓝牙同步给iPad。
同时,主控模块基于blockly平台解析指令,生成可执行程序并运行,执行过程中将控制机器人的命令通过蓝牙发送给机器人。
iPad的程序启动后,在蓝牙连接主控模块后,一直监听蓝牙输入。收到主控模块同步的指令后,基于blockly平台解析指令,将指令展示为blockly积木形式,转换成JavaScript和Python语言,并生成可执行程序,开始运行,在iPad上画出机器人的行走路线。
机器人程序启动后,在蓝牙连接主控模块后,一直监听蓝牙输入。机器人上的传感器通过蓝牙不断返回传感器状态,主控模块通过全局变量,记录传感器状态值。收到主控模块发出的命令后,机器人执行命令,完成舞蹈动作或者闯关。
主控积木的主控模块为树莓派(RaspberryPi)的linux操作系统,运行环境为Nodejs,加载googleblockly模块。利用googleblockly平台提供的接口,实现对于指令积木的xml解析,指令积木的功能配置和参数配置。
例如:
1、调用为blockly封装的nodejs模块。
varBlockly=require(’node-blockly’)。//调用googleblockly模块。
2、通过Blockly的Blocks函数,对指令积木进行定义。
Blockly.Blocks[’bee_moveforward’]={
init:function(){
this.appendDummyInput()
.appendField(″向前走″)
.appendField(newBlockly.FieldNumber(10,1,10000),″moveSteps″)
.appendField(″步″);
this.setPreviousStatement(true,null);
this.setNextStatement(true,null);
this.setColour(255);
this.setTooltip(’letbeemoveforward’);
this.setHelpUrl(”);
}}。
3、通过JavaScript函数,定义指令积木对应的JavaScript函数。
Blockly.JavaScript[’bee_moveforward’]=function(block){
varnumber_movesteps=block.getFieldValue(’moveSteps’);
varcode=″Bee.moveForward″+″(″+number_movesteps+″);\n″;
returncode;
}。
4、定义对应函数需要完成的功能,比如通过蓝牙向机器人发出向前走的指令。
//自定义Blocks的功能,与ble的蓝牙模块进行ajax通信,传递指令
Bee.moveForward=function(number_steps){
console.log(″moveforward″+number_steps);
BLE.runBLECommand(″command″,″moveForward″,number_steps)
}。
5、通过Blockly.Xml.textToDom函数,将主控模块读到的积木指令对应xml转换为blockly可以识别的workspace,然后通过Blockly.JavaScript.workspaceToCode函数把workspace转换为可执行的JavaScript代码:
Bee.workspace=newBlockly.Workspace();
varcommandXml=XML.generateXml(commandString);
try{
varxml=Blockly.Xml.textToDom(commandXml);
}catch(e){console.log(e);
Return
}
Blockly.Xml.domToWorkspace(xml,Bee.workspace);
varcode=Blockly.JavaScript.workspaceToCode(Bee.workspace)。
可自定义函数模块:
当机器人需要完成复杂的动作组合时,指令模块和参数模块就会越积越多,不仅浪费模块,也不能养成好的编程习惯。所以,本项目还支持自定义的函数模块,让孩子学会通过函数来优雅地实现复杂的功能。
定义函数模块需要:
主控模块:用于读取函数定义,并写入函数定义文件;
定义模块:承载函数定义的关键字;
函数模块:承载函数名,如“新动作1”,“新动作2”,硬件同参数模块;
指令模块:用于搭建完成定义函数功能的各个指令;
参数模块:用于搭建完成定义函数功能的指令参数。
定义函数模块的流程为:
指令积木主控模块启动;
将开始模块改为定义模块,后面添加函数模块,函数模块用于承载函数名;
添加该函数功能所需的指令模块和参数模块,比如让机器人跳8字舞所需的所有动作和参数;
主控模块收到指令后,判断是否为函数定义,如果是函数定义,则将该函数定义的指令存储到定义文件里。
函数定义以JSON串的格式存储到文件中。参见图8所示。
执行函数模块需要:
主控模块:用于蓝牙通信,读取指令,解析指令,执行程序;
执行模块:用于触发自定义函数的执行;
函数模块:承载函数名;
指令模块:用于搭建编程的各个指令;
参数模块:用于搭建编程的指令参数。
执行函数模块的流程为:参见图7所示。
主控积木的主控模块启动;
添加执行模块和函数模块;
添加其他需要的指令模块和参数模块;
确认完成指令搭建;
主控模块收到指令后,判断是否有执行模块,如果有,则读取函数定义文件,将函数定义的指令加入到要执行的指令集中;
主控模块解析指令,执行程序。
本发明将scratch里的部分指令搬到了现实中,成为现实中可搭接的积木,孩子能完全脱离屏幕,直接通过指令积木,完成编程,控制被控制对象机器人等。
同时,本发明相比于Google的ProjectBloks这样的有形编程,本发明解决了能在同一个产品里,将有形编程直接过渡到软件编程,实现编程教育的目的,让孩子最终能够学会通过编程语言进行编程。
本发明可实时将积木搭建出的指令同步到iPad或电脑中,实时查看转化成的高级编程语言,如JavaScript或Python,并可执行或单步执行程序,进行debug编程工具。
孩子在学习编程时无需使用屏幕,采用积木连接方式将要执行的程序写入主控模块中,由主控模块根据写入的程序去控制被控制对象完成相应的指令动作,从而实现无需屏幕就能让孩子学习编程,可靠性高,趣味性好。
上面结合附图描述了本发明的实施方式,但实现时不受上述实施例限制,本领域普通技术人员可以在所附权利要求的范围内做出各种变化或修改。

Claims (8)

1.易于编程教育的有形编程积木,其特征在于,包括若干个积木,并在每个积木上都分别设有能将任意两个积木进行两两相互可分开式固定对接连接在一起的固定连接机构和能将任意两个积木进行两两相互可分开式数据线对接连接在一起的数据传输接口;在若干个积木中包括一个主控积木、若干个指令积木和若干个参数积木;在主控积木上分别设有主控模块和木端通信模块,木端通信模块和设置在主控积木上的数据传输接口分别与主控模块连接;在每个指令积木上分别设有指令模块,设置在同一个指令积木上的数据传输接口和指令模块连接;在每个参数积木上分别设有参数模块,设置在同一个参数积木上的数据传输接口和参数模块连接。
2.根据权利要求1所述的易于编程教育的有形编程积木,特征在于,所述木端通信模块包括wifi和或蓝牙。
3.根据权利要求1所述的易于编程教育的有形编程积木,其特征在于,若干个指令积木则有若干个指令模块,并且这若干个指令模块为基础指令集;基础指令集包括执行函数指令、循环控制指令、逻辑判断指令和基本动作指令;若干个参数积木则有若干个参数模块,并且这若干个参数模块是为基础指令集提供指令参数的辅助指令集;所述辅助指令集包括用于执行函数指令的函数名、可调节数字模块、可调节角度模块和可调节是否模块。
4.根据权利要求1所述的易于编程教育的有形编程积木,其特征在于,固定连接机构包括能相互磁性吸住的若干个磁铁;在积木的每个壁面内都分别嵌入有至少一个磁铁;两个积木之间通过设置在这两个积木对应壁面内的磁铁磁性吸住后固定对接连接在一起;
数据传输接口包括若干个插座和与插座匹配的插头,在每个积木的至少一个壁面上设置有插座,在每个积木的至少一个壁面上设置有插头,并且在同一个积木上的插头和插座不在该积木的同一个壁面上;
设置在主控积木上的插头和插座分别与设置在该主控积木上的主控模块连接;设置在同一个指令积木上的插头和插座分别与设置在该个指令积木上的指令模块连接;设置在同一个参数积木上的插头和插座分别与设置在该个参数积木上的参数模块连接。
5.根据权利要求4所述的易于编程教育的有形编程积木,其特征在于,
在积木内设有木腔,在木腔内设有与该积木上的插头个数相等的支点和与支点个数相等的拉绳,在每个支点上分别设有杠杆;在支点左方的木腔内设有一号定滑轮,在支点右方的木腔内设有二号定滑轮;
在插头处的积木内设有与木腔相连通的头滑孔,插头滑动连接在头滑孔内,并在头滑孔内设有能将插头往头滑孔的木腔端挤压的头挤压弹簧;
在磁铁处的积木内设有与木腔相连通的磁滑孔,磁铁滑动设置在磁滑孔内,并在磁滑孔内设有能将磁铁往磁滑孔的木腔端挤压的磁挤压弹簧;
杠杆的阻力臂端部滑动连接在插头的里端面上;拉绳的一端固定连接在杠杆的动力臂端部,拉绳的另一端依次经过二号定滑轮和一号定滑轮后固定连接在磁铁的里端面上;杠杆的动力臂长度大于杠杆的阻力臂长度。
6.根据权利要求5所述的易于编程教育的有形编程积木,其特征在于,在插座的插孔里端面上设有接触开关,在插孔内的上侧壁上向上设有竖直孔,在竖直孔内上下滑动设有绝缘竖直滑块,在绝缘竖直滑块上方的竖直孔内上下滑动设有永磁铁,在永磁铁上方的竖直孔内固定设有电磁铁,在绝缘竖直滑块与永磁铁之间的竖直孔内活动设有竖直弹簧,竖直弹簧的上端固定连接在永磁铁的下表面上,竖直弹簧的下端固定连接在绝缘竖直滑块的上表面上;在接触开关上方的插孔里端面上设有弹性导电金属片,弹性导电金属片的外端位于绝缘竖直滑块的正下方;弹性导电金属片导电连接在数据传输接口的数据传输线上;接触开关串联连接在电磁铁的电源回路上。
7.根据权利要求6所述的易于编程教育的有形编程积木,其特征在于,在弹性导电金属片的外端设有开口朝上的圆弧段,并且弹性导电金属片的圆弧段外端位于绝缘竖直滑块的正下方。
8.根据权利要求6所述的易于编程教育的有形编程积木,其特征在于,在绝缘竖直滑块的下端面上设有滚珠。
CN201810970273.7A 2018-08-24 2018-08-24 易于编程教育的有形编程积木 Active CN108766118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810970273.7A CN108766118B (zh) 2018-08-24 2018-08-24 易于编程教育的有形编程积木

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810970273.7A CN108766118B (zh) 2018-08-24 2018-08-24 易于编程教育的有形编程积木

Publications (2)

Publication Number Publication Date
CN108766118A true CN108766118A (zh) 2018-11-06
CN108766118B CN108766118B (zh) 2023-08-25

Family

ID=63966899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810970273.7A Active CN108766118B (zh) 2018-08-24 2018-08-24 易于编程教育的有形编程积木

Country Status (1)

Country Link
CN (1) CN108766118B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110538469A (zh) * 2019-09-25 2019-12-06 杭州高低科技有限公司 可实现指令切换的有形编程指令积木
CN111258570A (zh) * 2020-01-19 2020-06-09 苏州精易会信息技术有限公司 基于积木编程的调整积木块输入接口的方法、装置和电子设备
CN111346390A (zh) * 2018-12-21 2020-06-30 上海葡萄纬度科技有限公司 编程积木
CN111359233A (zh) * 2018-12-26 2020-07-03 深圳市优必选科技有限公司 积木组装方法以及积木
CN111932985A (zh) * 2020-08-25 2020-11-13 算法积木(广州)教育投资有限公司 一种编程语言实物化积木编程系统
CN114100156A (zh) * 2021-11-30 2022-03-01 上海布鲁可积木科技有限公司 电子积木用电状态的控制方法和系统及积木系统
CN114832397A (zh) * 2021-02-01 2022-08-02 深圳市芯扬智能科技有限公司 一种用于智能积木身份识别和互连联动的控制系统
CN110538469B (zh) * 2019-09-25 2024-05-28 杭州高低科技有限公司 可实现指令切换的有形编程指令积木

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202006013575U1 (de) * 2006-09-05 2006-11-09 Berthold Widmaier Gmbh & Co. Pädagogischer Baukasten
CN103489347A (zh) * 2013-09-24 2014-01-01 成都久鑫电子科技有限公司 一种智能教学电子积木
US20140297035A1 (en) * 2013-04-01 2014-10-02 Tufts University Educational robotic systems and methods
CN105513474A (zh) * 2016-03-02 2016-04-20 成都麦克星球教育科技有限公司 一种电子积木模组以及电子积木教具
CN106528142A (zh) * 2016-10-31 2017-03-22 苏州乐派特机器人有限公司 树状组合式指令实物化编程方法、应用和实物化编程模块
KR20170056286A (ko) * 2015-11-13 2017-05-23 김완우 프로그래밍 학습용 블록완구
CN107171126A (zh) * 2016-03-07 2017-09-15 拉克洛博公司 模块组件和连接器以及电子装置
KR20170133181A (ko) * 2016-05-25 2017-12-05 주식회사 프레도 스마트 블록 완구를 이용한 로봇 제어 시스템
WO2018036518A1 (zh) * 2016-08-24 2018-03-01 才展照明(深圳)有限公司 一种可发光的磁性积木模块及积木系统
CN107886782A (zh) * 2017-11-15 2018-04-06 方昆阳 一种基于实物积木拼图编程的字符和语音系统
CN207233254U (zh) * 2017-07-05 2018-04-13 南京阿凡达机器人科技有限公司 一种积木式编程设备
CN108305529A (zh) * 2018-04-10 2018-07-20 广州大学 一种实体化编程系统
CN207694266U (zh) * 2017-12-25 2018-08-07 广东洪恩教育科技有限公司 一种可实现编程的积木玩具

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202006013575U1 (de) * 2006-09-05 2006-11-09 Berthold Widmaier Gmbh & Co. Pädagogischer Baukasten
US20140297035A1 (en) * 2013-04-01 2014-10-02 Tufts University Educational robotic systems and methods
CN103489347A (zh) * 2013-09-24 2014-01-01 成都久鑫电子科技有限公司 一种智能教学电子积木
KR20170056286A (ko) * 2015-11-13 2017-05-23 김완우 프로그래밍 학습용 블록완구
CN105513474A (zh) * 2016-03-02 2016-04-20 成都麦克星球教育科技有限公司 一种电子积木模组以及电子积木教具
CN107171126A (zh) * 2016-03-07 2017-09-15 拉克洛博公司 模块组件和连接器以及电子装置
KR20170133181A (ko) * 2016-05-25 2017-12-05 주식회사 프레도 스마트 블록 완구를 이용한 로봇 제어 시스템
WO2018036518A1 (zh) * 2016-08-24 2018-03-01 才展照明(深圳)有限公司 一种可发光的磁性积木模块及积木系统
CN106528142A (zh) * 2016-10-31 2017-03-22 苏州乐派特机器人有限公司 树状组合式指令实物化编程方法、应用和实物化编程模块
CN207233254U (zh) * 2017-07-05 2018-04-13 南京阿凡达机器人科技有限公司 一种积木式编程设备
CN107886782A (zh) * 2017-11-15 2018-04-06 方昆阳 一种基于实物积木拼图编程的字符和语音系统
CN207694266U (zh) * 2017-12-25 2018-08-07 广东洪恩教育科技有限公司 一种可实现编程的积木玩具
CN108305529A (zh) * 2018-04-10 2018-07-20 广州大学 一种实体化编程系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111346390A (zh) * 2018-12-21 2020-06-30 上海葡萄纬度科技有限公司 编程积木
CN111346390B (zh) * 2018-12-21 2020-12-25 上海葡萄纬度科技有限公司 编程积木
CN111359233A (zh) * 2018-12-26 2020-07-03 深圳市优必选科技有限公司 积木组装方法以及积木
CN110538469A (zh) * 2019-09-25 2019-12-06 杭州高低科技有限公司 可实现指令切换的有形编程指令积木
WO2021056927A1 (zh) * 2019-09-25 2021-04-01 杭州高低科技有限公司 可实现指令切换的有形编程指令积木
CN110538469B (zh) * 2019-09-25 2024-05-28 杭州高低科技有限公司 可实现指令切换的有形编程指令积木
CN111258570A (zh) * 2020-01-19 2020-06-09 苏州精易会信息技术有限公司 基于积木编程的调整积木块输入接口的方法、装置和电子设备
CN111258570B (zh) * 2020-01-19 2021-03-26 苏州精易会信息技术有限公司 基于积木编程的调整积木块输入接口的方法、装置和电子设备
CN111932985A (zh) * 2020-08-25 2020-11-13 算法积木(广州)教育投资有限公司 一种编程语言实物化积木编程系统
CN114832397A (zh) * 2021-02-01 2022-08-02 深圳市芯扬智能科技有限公司 一种用于智能积木身份识别和互连联动的控制系统
CN114100156A (zh) * 2021-11-30 2022-03-01 上海布鲁可积木科技有限公司 电子积木用电状态的控制方法和系统及积木系统
CN114100156B (zh) * 2021-11-30 2023-10-31 上海布鲁可积木科技有限公司 电子积木用电状态的控制方法和系统及积木系统

Also Published As

Publication number Publication date
CN108766118B (zh) 2023-08-25

Similar Documents

Publication Publication Date Title
CN108766118A (zh) 易于编程教育的有形编程积木
CN108898918A (zh) 易于编程教育的编程教育控制对象装置
CN108777100A (zh) 基于有形编程指令积木的编程教育系统
US9981376B2 (en) Reconfigurable robotic system
US6493606B2 (en) Articulated robot and method of controlling the motion of the same
CN210200069U (zh) 可编程机器人
US20130059284A1 (en) Interactive electronic toy and learning device system
CN106573378A (zh) 通过机器人反馈增强编程教育的系统和方法
NO324233B1 (no) Programmerbart leketoy med kommunikasjonsinnretning
CN103456203A (zh) 一种便携式实物编程方法及系统
US9413172B1 (en) Remote controlled extension cord with embedded housing for a remote control
CN109118880A (zh) 基于蓝牙mesh的机器人学习和协作系统
CN102416265A (zh) 变形金刚机器人玩具及方法
CN110585744A (zh) 一种实物化编程式积木系统
CN106097848A (zh) 一种实体编程小车及编程方法
KR102171428B1 (ko) 음악과 춤의 상관관계를 학습하여 춤을 추는 로봇
CN109830141A (zh) 一种实体指令编程方法及实体指令编程系统
KR20160078678A (ko) 하나의 단말기를 이용해 동작과 음원을 매칭하여 복수의 로봇을 춤추게 하는 방법 및 시스템
EP3478380A1 (en) 3d multi-threaded, parameter layered, physical programming interface
US10886673B2 (en) Remote controlled extension cord with embedded housing for a remote control
CN110732145A (zh) 一种玩具的遥控方法及装置
Basyal et al. Voice Recognition Automation through an Android Application
CN213796504U (zh) 一种智能舞蹈机器人
CN207302437U (zh) 程控交通红绿灯学习机装置
CN209952245U (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
CB02 Change of applicant information

Address after: 311400 room 607, 6th floor, building 13, Fuchun Park, Zhongguo Zhigu, Yinhu street, Fuyang District, Hangzhou City, Zhejiang Province

Applicant after: HANGZHOU GAODI TECHNOLOGY Co.,Ltd.

Address before: Room 921, 9th floor, no.6, Yinhu innovation center, No.9 Fuxian Road, Yinhu street, Fuyang District, Hangzhou City, Zhejiang Province 311400

Applicant before: HANGZHOU GAODI TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant