本發(fā)明涉及一種圖形化兒童編程玩具及其方法。
背景技術(shù):
隨著軟件行業(yè)的飛速發(fā)展,計(jì)算機(jī)編程已經(jīng)不再是IT 專業(yè)人員的工作,而是各行各業(yè)的終端用戶用來實(shí)現(xiàn)各自領(lǐng)域目標(biāo)的工具。針對兒童這一特殊群體,科學(xué)技術(shù)的發(fā)展使得他們有更多機(jī)會接觸和使用電腦,而隨著兒童使用計(jì)算設(shè)備的深入,現(xiàn)有軟件已不能滿足需求,他們希望自己也能創(chuàng)作作品。學(xué)習(xí)編程不僅對兒童的數(shù)學(xué)和科學(xué)知識方面有幫助,而且對于語言、創(chuàng)造力和社會交流等方面都能有積極和重要的作用。此外,從培養(yǎng)兒童計(jì)算思維的角度來講,學(xué)習(xí)編程也具有其重要價值。
申請?zhí)枮镃N201310097617.5的發(fā)明專利公開了一種面向兒童的圖形化編程系統(tǒng)和方法,系統(tǒng)包括一操作和顯示環(huán)境,用于布置場景及其角色,對每個場景的背景和角色進(jìn)行編程,以及顯示編程序列和編程效果;一系統(tǒng)資源庫;一作品庫用于存儲創(chuàng)作當(dāng)中的作品或創(chuàng)作完成的作品;一圖形化編程塊存儲區(qū),包括用于編程的各種圖形化編程塊;一映射模塊,用于建立圖形化編程塊與其邏輯功能之間的映射關(guān)系;一圖形化編程的語法規(guī)則庫,設(shè)定圖形化編程塊之間的拼接或內(nèi)嵌規(guī)則;一圖形化代碼解析模塊,用于根據(jù)映射模塊將當(dāng)前作品中的圖形化編程塊隊(duì)列對應(yīng)的圖形化程序轉(zhuǎn)化成計(jì)算機(jī)可執(zhí)行的代碼,以及編程時根據(jù)語法規(guī)則庫對圖形化程序進(jìn)行檢查。該發(fā)明專利的缺點(diǎn)在于:(1)該發(fā)明專利的編程結(jié)果為在操作和顯示環(huán)境下(即電腦屏幕)的結(jié)果,兒童無法真實(shí)地體驗(yàn)到自己編程帶來的效果,比如對于距離移動或者頭部旋轉(zhuǎn)的角度等,并且長時間對著電腦/手機(jī)對兒童的視力影響較大;(2)該發(fā)明在進(jìn)入編程之前,需要對舞臺區(qū)以及角色進(jìn)行選擇或者刪除,即對場景進(jìn)行布置,非常麻煩,間接降低兒童對編程的興趣;(3)該發(fā)明的場景不提供額外屬性,僅提供一個外形效果的顯示,編程控制的人物與背景之間除了顯示的關(guān)系以外,沒有互相交互或者互相影響的關(guān)系,使得達(dá)到的效果不真實(shí),并且該發(fā)明也不具備與現(xiàn)實(shí)交互的能力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種圖形化兒童編程玩具及其方法,將圖形化編程與實(shí)物機(jī)器人控制進(jìn)行結(jié)合,給兒童以真實(shí)化的編程感受。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種圖形化兒童編程玩具,包括圖形化編程系統(tǒng)和受控機(jī)器人;所述的圖形化編程系統(tǒng)包括圖形化編程模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)發(fā)送模塊;
所述的圖形化編程模塊包括:
圖形化編程塊選擇單元:用于選擇各種類型的編程塊,其中,所述的編程塊為通過圖形化的方式表現(xiàn)編程內(nèi)容的模塊;
圖形化編程塊組合單元:用于對選擇的編程塊進(jìn)行前后順序關(guān)系的排列組合,編程塊與編程塊之間通過吸附/拼接的方式進(jìn)行連接;
編程塊編輯單元:用于對編程塊的內(nèi)容進(jìn)行編輯;
編程執(zhí)行單元:用于在完成選擇、組合和編輯之后的確認(rèn);
所述的數(shù)據(jù)處理模塊用于將編程塊組合結(jié)果進(jìn)行數(shù)據(jù)處理,方便于后期的發(fā)送;
所述的數(shù)據(jù)發(fā)送模塊用于將數(shù)據(jù)處理完成的數(shù)據(jù)發(fā)送至受控機(jī)器人;
所述的受控機(jī)器人包括數(shù)據(jù)接收模塊、處理器、驅(qū)動裝置和執(zhí)行裝置;所述的數(shù)據(jù)接收模塊用于接收圖形化編程系統(tǒng)發(fā)送的數(shù)據(jù),并將數(shù)據(jù)發(fā)送至處理器,所述的處理器對接收到的控制數(shù)據(jù)進(jìn)行處理后發(fā)送至驅(qū)動裝置,所述的驅(qū)動裝置對執(zhí)行裝置進(jìn)行驅(qū)動。
所述的類型包括開始、移動、頭部、聲音、光帶、動作、表情、邏輯和變量;不同類型的編程塊采用主色調(diào)進(jìn)行區(qū)分。
所述的編程塊包括固有屬性和可編輯屬性,所述的編程塊編輯單元對編程塊的可編輯屬性進(jìn)行編輯。
所述的編程塊分為兩類,其中一類用于控制受控機(jī)器人本身動作,另外一類用于受控機(jī)器人與真實(shí)場景的交互控制。
所述的圖形化編程塊組合單元對編程塊的排列組合通過拖拽的方式實(shí)現(xiàn)。
所述的編程塊包括用于接收其他編程塊數(shù)據(jù)的拼接端和用于發(fā)送本編程塊數(shù)據(jù)的連接端。
所述的受控機(jī)器人還包括多個傳感器,所述的傳感器用于檢測包含距離/角度/聲音在內(nèi)的數(shù)據(jù),并將數(shù)據(jù)發(fā)送至處理器。
所述的受控機(jī)器人還設(shè)置有拓展接口,用于拓展功能模塊。
所述的一種圖形化兒童編程玩具的方法包括以下步驟:
S1:用戶通過圖形化編程系統(tǒng)的圖形化界面的編程塊菜單部分選擇編程塊,在編程塊組合部分對編程塊進(jìn)行排列組合,并對編程塊內(nèi)的屬性進(jìn)行編輯;其中,在排列組合的過程中,編程塊與編程塊之間采用吸附/拼接的方式進(jìn)行連接;
S2:用戶通過圖形化編程系統(tǒng)的圖形化界面的確定按鍵選擇編程完畢,圖形化編程系統(tǒng)將編程數(shù)據(jù)發(fā)送至受控機(jī)器人;
S3:受控機(jī)器人接收數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換成驅(qū)動信號,驅(qū)動各執(zhí)行裝置進(jìn)行執(zhí)行。
步驟S1中所述的選擇編程塊為通過拖拽的方式將編程塊從編程塊菜單部分拖拽至編程塊組合部分;
所述的編程塊包括用于接收其他編程塊數(shù)據(jù)的拼接端和用于發(fā)送本編程塊數(shù)據(jù)的連接端;
步驟S1中的排列組合包括確定連接子步驟和取消連接子步驟,所述的確定連接子步驟為:在編程塊組合部分,通過拖拽第一編程塊將第一編程塊的拼接端吸附/拼接至第二編程塊的連接端,或者通過拖拽第一編程塊將第一編程塊的連接端吸附/拼接至第二編程塊的拼接端;所述的取消連接子步驟為:在編程塊組合部分,第一編程塊的拼接端與第二編程塊的連接端連接,
通過拖拽第一編程塊將第一編程塊的拼接端與第二編程塊的連接端進(jìn)行分離。
在第一編程塊的拼接端與第二編程塊的連接端連接的情況下,拖拽第二編程塊的操作為移動第一編程塊和第二編程塊組合而成的組合編程塊。
步驟S1中所述的對編程塊內(nèi)的屬性進(jìn)行編輯的過程中,通過點(diǎn)擊編程塊進(jìn)入二級菜單進(jìn)行內(nèi)容的編輯。
本發(fā)明的有益效果是:
(1)本發(fā)明將圖形化編程與實(shí)物機(jī)器人控制進(jìn)行結(jié)合,通過圖形化編程界面使得兒童更易理解編程語言,同時通過實(shí)物機(jī)器人給兒童以真實(shí)化的編程感受;
(2)本發(fā)明將只包括一個兒童編程步驟和一個機(jī)器人受控步驟,步驟清楚簡單,操作方便;
(3)本發(fā)明的受控機(jī)器人還與真實(shí)環(huán)境的真實(shí)情況進(jìn)行交互,包括受控機(jī)器人身體某一部件被觸碰(頭部、身體)、檢測到前方障礙、聽見聲音、距離測量、亮度檢測,使得達(dá)到的效果更加真實(shí),提高兒童興趣。
附圖說明
圖1為本發(fā)明結(jié)構(gòu)方框圖;
圖2為本發(fā)明方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案:
如圖1所示,一種圖形化兒童編程玩具,包括圖形化編程系統(tǒng)和受控機(jī)器人;所述的圖形化編程系統(tǒng)包括圖形化編程模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)發(fā)送模塊;
所述的圖形化編程模塊包括:
圖形化編程塊選擇單元:用于選擇各種類型的編程塊,其中,所述的編程塊為通過圖形化的方式表現(xiàn)編程內(nèi)容的模塊;
圖形化編程塊組合單元:用于對選擇的編程塊進(jìn)行前后順序關(guān)系的排列組合,編程塊與編程塊之間通過吸附/拼接的方式進(jìn)行連接;
編程塊編輯單元:用于對編程塊的內(nèi)容進(jìn)行編輯;
編程執(zhí)行單元:用于在完成選擇、組合和編輯之后的確認(rèn);
所述的數(shù)據(jù)處理模塊用于將編程塊組合結(jié)果進(jìn)行數(shù)據(jù)處理,方便于后期的發(fā)送;
所述的數(shù)據(jù)發(fā)送模塊用于將數(shù)據(jù)處理完成的數(shù)據(jù)發(fā)送至受控機(jī)器人;
所述的受控機(jī)器人包括數(shù)據(jù)接收模塊、處理器、驅(qū)動裝置和執(zhí)行裝置;所述的數(shù)據(jù)接收模塊用于接收圖形化編程系統(tǒng)發(fā)送的數(shù)據(jù),并將數(shù)據(jù)發(fā)送至處理器,所述的處理器對接收到的控制數(shù)據(jù)進(jìn)行處理后發(fā)送至驅(qū)動裝置,所述的驅(qū)動裝置對執(zhí)行裝置進(jìn)行驅(qū)動。
所述的類型包括開始、移動、頭部、聲音、光帶、動作、表情、邏輯和變量;不同類型的編程塊采用主色調(diào)進(jìn)行區(qū)分。對應(yīng)的,執(zhí)行裝置包括燈光、頭部、身體和移動裝置。
各個編程塊的內(nèi)容均包括二級菜單以及三級菜單,其中二級菜單為各個大類的小類,并且在二級菜單中顯示各個編程塊的固有屬性和可編輯屬性,所述的編程塊編輯單元對編程塊的可編輯屬性進(jìn)行編輯。三級菜單為對可編輯屬性進(jìn)行編輯時的菜單。
所述的編程塊分為兩類,其中一類用于控制受控機(jī)器人本身動作,另外一類用于受控機(jī)器人與真實(shí)場景的交互控制。
在本實(shí)施例中,開始類型包括以下小類:1、開始;2、當(dāng)(觸發(fā)類型);3、跳轉(zhuǎn)到開始;4、方法(名稱/序號);5、調(diào)用(名稱/序號)。
移動類型包括以下小類:1、前行(速度/快慢)(距離);2、后退(速度/快慢)(距離);3、左轉(zhuǎn)(距離);4、右轉(zhuǎn)(距離);5、停止;6、調(diào)整輪速 左輪(前/后)(速度/快慢) 右輪(前/后)(速度/快慢)。
頭部類型包括以下小類:1、查看(方向)(角度);2、查看(方向)(時間)。
聲音類型包括以下小類:1、聲音(名稱);2、我的聲音(名稱);3、錄制聲音(時間)。
光帶類型包括以下小類:1、光帶(顏色)。
動作類型包括以下小類:1、動作(名稱);2、我的組合(序號)。
表情類型包括以下小類:1、表情(名稱);2、我的表情(序號)。
邏輯類型包括以下小類:1、等待(時間);2、直到(動作名稱);3、循環(huán)、直到(觸發(fā)類型)則(做的事情);4、循環(huán)(次數(shù))則(做的事情);5、一直循環(huán)(做的事情);6、如果(觸發(fā)類型)則(做的事情);7、如果(觸發(fā)類型)則(做的事情)否則(做的事情);8、中斷。
變量類型包括以下小類:1、定義(變量名稱)=(變量取值);2、令(變量名稱)=(變量名稱)+(變量取值);3、如果(變量名稱)=(變量取值)則(做的事情);4、循環(huán)、直到(變量名稱)=(變量取值)則(做的事情);5、如果(變量名稱)=(變量取值)則(做的事情)否則(做的事情)。
其中括號的內(nèi)容為可編輯屬性,括號外的內(nèi)容為固有屬性。
并且,開始類型中的第二小類“當(dāng)(情況名稱)”、邏輯類型中的第二小類“直到(動作名稱)”、邏輯類型中的第一小類“循環(huán)、直到(觸發(fā)類型)”、邏輯類型中的第六小類“如果(觸發(fā)類型)(做的事情)”、邏輯類型中的第七小類“如果(觸發(fā)類型)(做的事情)否則(做的事情)” 屬于受控機(jī)器人與真實(shí)場景的交互控制類型。其他類型屬于控制控制受控機(jī)器人本身動作的類型。
具體的,觸發(fā)類型包括但不限于以下類型中的其中一種或者多種:當(dāng)受控機(jī)器人身體某一部件被觸碰(頭部)、當(dāng)檢測到前方障礙、當(dāng)聽見聲音、距離測量、亮度檢測。對應(yīng)的,在受控機(jī)器人身上設(shè)置有多個傳感器,所述的傳感器用于檢測包含距離/角度/聲音在內(nèi)的數(shù)據(jù),并將數(shù)據(jù)發(fā)送至處理器。
所述的圖形化編程塊組合單元對編程塊的排列組合通過拖拽的方式實(shí)現(xiàn)。
所述的編程塊包括用于接收其他編程塊數(shù)據(jù)的拼接端和用于發(fā)送本編程塊數(shù)據(jù)的連接端。對應(yīng)的,每個編輯塊都設(shè)置有用于連接的凸塊和凹槽,凸塊形狀與凹槽形狀對應(yīng)。在本實(shí)施例中,凸塊設(shè)置于連接端,凹槽設(shè)置于拼接端。
所述的受控機(jī)器人還設(shè)置有拓展接口,用于拓展功能模塊。比如,電筒、警燈、拖把、風(fēng)扇燈,增加硬件玩法,提高兒童的興趣。同時圖形化編程塊選擇單元也對應(yīng)有對這些硬件控制的編程塊。
在本實(shí)施例中,所述的圖形化編程模塊還包括一個編程塊刪除單元和返回單元。其中,編程塊刪除單元用于對選擇后多余的編程塊進(jìn)行刪除操作;返回單元用于返回上一界面。
在本實(shí)施例中,所述的圖形化編程系統(tǒng)還包括一個防沉迷模塊,所述的防沉迷模塊用于在預(yù)設(shè)時間到達(dá)后自動通過返回單元返回上一界面或者直接退出圖形化編程系統(tǒng)或者對屏幕進(jìn)行鎖屏操作。
在本實(shí)施例中,數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊均為無線通信模塊,可選項(xiàng)包括藍(lán)牙、NFC、4G、WIFI。
如圖2所示,所述的一種圖形化兒童編程玩具的方法包括以下步驟:
S1:用戶通過圖形化編程系統(tǒng)的圖形化界面的編程塊菜單部分選擇編程塊,在編程塊組合部分對編程塊進(jìn)行排列組合,并對編程塊內(nèi)的屬性進(jìn)行編輯;其中,在排列組合的過程中,編程塊與編程塊之間采用吸附/拼接的方式進(jìn)行連接;
S2:用戶通過圖形化編程系統(tǒng)的圖形化界面的確定按鍵選擇編程完畢,圖形化編程系統(tǒng)將編程數(shù)據(jù)發(fā)送至受控機(jī)器人;
S3:受控機(jī)器人接收數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換成驅(qū)動信號,驅(qū)動各執(zhí)行裝置進(jìn)行執(zhí)行。
步驟S1中所述的選擇編程塊為通過拖拽的方式將編程塊從編程塊菜單部分拖拽至編程塊組合部分;
所述的編程塊包括用于接收其他編程塊數(shù)據(jù)的拼接端和用于發(fā)送本編程塊數(shù)據(jù)的連接端;對應(yīng)的,每個編輯塊都設(shè)置有用于連接的凸塊和凹槽,凸塊形狀與凹槽形狀對應(yīng)。在本實(shí)施例中,凸塊設(shè)置于連接端,凹槽設(shè)置于拼接端。
步驟S1中的排列組合包括確定連接子步驟和取消連接子步驟,所述的確定連接子步驟為:在編程塊組合部分,通過拖拽第一編程塊將第一編程塊的拼接端吸附/拼接至第二編程塊的連接端,或者通過拖拽第一編程塊將第一編程塊的連接端吸附/拼接至第二編程塊的拼接端;所述的取消連接子步驟為:在編程塊組合部分,第一編程塊的拼接端與第二編程塊的連接端連接,通過拖拽第一編程塊將第一編程塊的拼接端與第二編程塊的連接端進(jìn)行分離。
在第一編程塊的拼接端與第二編程塊的連接端連接的情況下,拖拽第二編程塊的操作為移動第一編程塊和第二編程塊組合而成的組合編程塊。
步驟S1中所述的對編程塊內(nèi)的屬性進(jìn)行編輯的過程中,通過點(diǎn)擊編程塊進(jìn)入二級菜單進(jìn)行內(nèi)容的編輯。