一種基于多語義的實物編程系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于人機(jī)交互領(lǐng)域,具體涉及到一種具有多語義和二維連接特性的實物編程系統(tǒng)。
【背景技術(shù)】
[0002]個人和計算機(jī)等數(shù)字化設(shè)備的普及,使兒童生活在一個被計算設(shè)備包圍的環(huán)境中,很多工作領(lǐng)域都涉及到計算機(jī)。在兒童時期教授計算機(jī)科學(xué)十分重要,需要使兒童在幼兒園和小學(xué)時期接觸問題求解和計算方法等。讓兒童學(xué)習(xí)編程最直接的好處兒童可以通過編程學(xué)習(xí)到最先進(jìn)的技術(shù),增強(qiáng)對計算機(jī)科學(xué)的興趣,此外編程對兒童的數(shù)學(xué)、科學(xué)知識、語言、創(chuàng)造力和社交能力等方面都起到積極、重要的作用。實物交互技術(shù)允許兒童將操作物拿在手上與計算機(jī)進(jìn)行交互,減少了繁復(fù)的語法規(guī)則對兒童學(xué)習(xí)編程造成的障礙,并且可以使兒童在編程學(xué)習(xí)過程中更加投入。因此,實物編程是一種可行的學(xué)習(xí)編程的途徑。
[0003]專利ZL 201210251967公開了一種基于紅外和無線傳輸技術(shù)的實物編程方法和系統(tǒng),與電腦相連的無線處理模塊通過輪詢編程塊序列獲得實物程序語義,通過計算機(jī)映射語義完成任務(wù)。專利ZL 2013104147570公開了一種便攜式的實物編程系統(tǒng),其處理和顯示單元完全獨立于電腦,而其實物編程塊仍為簡單的線性連接方式。以上專利有以下不足之處:實物編程塊的功能單一,每個實物編程塊僅能表示一個語義,由于每個編程塊的內(nèi)部都嵌入了電子元器件,造成該實物編程系統(tǒng)的成本較高。其次,實物編程塊僅能線性連接,沒有充分發(fā)揮立體塊的優(yōu)勢。再次,編程塊所傳遞的編程概念比較簡單,僅有簡單的順序概念和參數(shù)概念。
【發(fā)明內(nèi)容】
[0004]針對上述問題,本發(fā)明提出一種支持多語義和二維連接特性的實物編程系統(tǒng),包括一 LED Pad和實物編程塊(參考:一種便攜式實物編程系統(tǒng),申請?zhí)?2013104147570),除上述專利中所包含的編程概念,本發(fā)明向用戶傳達(dá)布爾邏輯和分支等概念,完善編程工具中所教授的編程結(jié)構(gòu)。其中的實物編程塊具有多語義特性,可以通過手勢改變其語義;此夕卜,實物編程塊還支持二維連接方式,不再是單一的線性連接方式,可以更好的映射分支等編程結(jié)構(gòu)。LED Pad中的處理模塊在信息處理的算法上進(jìn)行了改進(jìn),使其可以識別到用戶通過手勢改變的語義,并將二維連接方式的編程塊進(jìn)行排序,在LED Pad內(nèi)部存儲為一維結(jié)構(gòu)。本發(fā)明中每個任務(wù)分為兩個階段,編程階段和運行階段。編程階段,擺放實物編程塊構(gòu)建迷宮出逃路徑,運行階段,LED Pad依次讀取編程命令,控制系統(tǒng)反饋,用戶需要進(jìn)行適當(dāng)?shù)妮斎搿?br>[0005]本發(fā)明的技術(shù)方案為:
[0006]一種多語義和二維連接的實物編程系統(tǒng),如圖1所示,其組成包括:
[0007]1)實物編程處理和顯示單元——LED Pado LED Pad包括迷宮識別模塊、無線處理模塊、實物編程處理模塊、顯示模塊。作為主要控制單元,LED Pad處理實物編程塊發(fā)送的無線信息,以及按照設(shè)定的編程規(guī)則識別多語義實物編程塊的當(dāng)前語義并對編程語義進(jìn)行排序,向用戶提供反饋。迷宮識別模塊的功能是根據(jù)當(dāng)前所選迷宮的RFID標(biāo)簽信息加載相應(yīng)的迷宮結(jié)構(gòu)信息,以便判斷用戶擺放的程序的正確性。每一張紙質(zhì)地圖的左下角處都附有一個RFID標(biāo)簽,用戶貼上紙質(zhì)迷宮的同時,LED Pad內(nèi)部也會加載其對應(yīng)的迷宮結(jié)構(gòu)信息。
[0008]進(jìn)一步的,LED Pad中的無線處理模塊包含一單片機(jī)和一無線模塊;無線處理模塊用于接收實物編程塊發(fā)送的無線信息,識別編程塊當(dāng)前的語義,并根據(jù)無線信息將編程塊語義進(jìn)行排序;本方法中無線處理模塊根據(jù)實物編程塊發(fā)送的前一個塊的信息和自身信息對編程塊語義序列進(jìn)行排序。本發(fā)明中實物編程塊和LED Pad之間采用無線信號通信;兩個相鄰的編程塊之間采用近距離的紅外通信。
[0009]進(jìn)一步的,在編程階段,LED Pad中的實物編程處理模塊根據(jù)對應(yīng)關(guān)系轉(zhuǎn)換規(guī)則將實物語義序列轉(zhuǎn)換成程序功能語義序列,并判斷該編程塊是否合法,提供正誤的反饋;在運行階段,逐次讀取命令并監(jiān)聽傳感器的狀態(tài),執(zhí)行當(dāng)前的命令。
[0010]2)實物編程塊。實物編程塊是系統(tǒng)的主要輸入工具,實物編程塊的組成和功能可參見上述專利。本系統(tǒng)中增加了多語義實物編程塊,可以識別用戶的搖晃手勢變換語義。
[0011]進(jìn)一步的,多語義實物編程塊包括一個三軸加速度計模塊和用于顯示的LED矩陣模塊。多語義實物編程塊通過實時采集加速度值采用決策樹方法來識別是否為語義切換手勢,如果是,就將編程塊的語義設(shè)置下一個語義,并通過LED顯示當(dāng)前語義的圖標(biāo)。
[0012]3)實物編程塊除上述專利提到的語義外,本發(fā)明中增加了 “與邏輯”和“或邏輯”以及“分支”等實物編程塊,用于向兒童傳遞相關(guān)的編程思想。其中“與邏輯”和“或邏輯”以及“分支”等編程塊可以與傳感器編程塊按照二維連接方式進(jìn)行連接。
[0013]進(jìn)一步的,二維連接方式是指“與邏輯”和“或邏輯”以及“分支”等實物編程塊可以在其上下方連接傳感器塊,組成一個完整的語義,而該編程塊的前后方擺放其他編程塊表示程序的執(zhí)行順序,編程塊不再是單一的線性擺放規(guī)則。
[0014]進(jìn)一步的,實物編程塊之間采用紅外通信的方式,紅外信號不僅作為激活信號,更多的是傳遞自身的二進(jìn)制識別碼。
[0015]進(jìn)一步的,本發(fā)明采用脈寬調(diào)制的方法發(fā)送紅外信息,前一個實物編程塊將自身的二進(jìn)制識別碼按照自定義的紅外通信協(xié)議編碼后以紅外脈沖波的形式發(fā)送給當(dāng)前實物編程塊從而激活當(dāng)前實物編程塊,當(dāng)前被激活的實物編程塊根據(jù)紅外通信協(xié)議解碼得到該紅外信息,即前一個實物編程塊的二進(jìn)制識別碼。
[0016]進(jìn)一步的,該實物編程塊將自身的二進(jìn)制識別碼,前一個塊的二進(jìn)制識別碼和當(dāng)前的語義狀態(tài)發(fā)送給LED Pad的無線處理模塊。并向外發(fā)射經(jīng)過紅外通信協(xié)議編碼的自身二進(jìn)制識別碼的紅外脈沖,用于激活后續(xù)的實物編程塊。
[0017]4)所述“與邏輯”和“或邏輯”編程塊在編程階段可以連接兩個傳感器A和B,構(gòu)成“A與B”( “A或B”)的語義,如圖2所示。兩個傳感器的位置可以交換,符合“與邏輯”和“或邏輯”的交換律。只有當(dāng)“與邏輯”(“或邏輯”)與傳感器都擺放正確,LED Pad才會給出當(dāng)前單元格的正確反饋,否則,LED Pad將提示錯誤。運行階段,LED Pad會根據(jù)“與邏輯”和“或邏輯”的規(guī)則判斷用戶是否正確觸發(fā)了相關(guān)傳感器。即如果當(dāng)前單元格是“與邏輯”和傳感器A及B組成,則只有當(dāng)用戶同時觸發(fā)傳感器A和B才能使LED Pad的光點通過該單元格;如果當(dāng)前單元格是“或邏輯”和傳感器A及B組成,則用戶至少觸發(fā)其中一個傳感器即可使LED Pad的光點通過該單元格。
[0018]5)所述分支編程塊(IF編程塊)可以連接兩個傳感器A和B,并由傳感器A和B引導(dǎo)兩條不同的路徑,表示IF (A) Then...,Else IF(B)Then…的語義,如圖3所示。用戶根據(jù)分支路徑的地圖擺放兩個分支程序,其擺放順序可以隨機(jī)。運行階段,當(dāng)執(zhí)行到IF單元格后,LED Pad在兩個相關(guān)的傳感器A和B之間閃爍,監(jiān)聽用戶對傳感器的觸發(fā),一旦用戶觸發(fā)其中一個傳感器,LED Pad將依次執(zhí)行相應(yīng)傳感器引導(dǎo)的分支程序。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的優(yōu)點和技術(shù)效果:
[0020]1.本發(fā)明給出實物編程塊具有多語義特性。本發(fā)明的實物編程塊具有多個編程語義,可以識別用戶的晃動手勢,并改變當(dāng)前語義。通過手勢改變語義的方法節(jié)省了系統(tǒng)所需的編程塊的個數(shù),使得編程塊更加靈活,便于擴(kuò)展,同時增加了系統(tǒng)的趣味性。
[0021]2.本發(fā)明的實物編程塊支持二維連接方式。本發(fā)明的實物編程塊除了傳統(tǒng)的線性連接方式外,增加了二維連接方式。編程塊的上下前后四個面均可以連接其他編程塊。二維連接的方式增強(qiáng)了系統(tǒng)的趣味性,同時使得分支等編程概念的映射更加直觀。
[0022]3.擴(kuò)展了編程概念,增加了布爾邏輯。本發(fā)明在上述專利的基礎(chǔ)上增加了布爾邏輯(“與邏輯”和“或邏輯”)的概念,且其擺放方式符合布爾邏輯中的交換律,運行階段與其相關(guān)的傳感器的觸發(fā)方式與布爾邏輯的計算方式相同。
[0023]4.擴(kuò)展了編程概念,增加了分支結(jié)構(gòu)。本發(fā)明在上述專利的基礎(chǔ)上增加了分支結(jié)構(gòu)(IF編程塊),IF編程塊可以以二維連接方式連接兩個傳感器,并引導(dǎo)兩個不同的分支程序。運行階段,傳感器的觸發(fā)滿足了 IF的條件,LED Pad將執(zhí)行被觸發(fā)的傳感器所引導(dǎo)的分支程序。
[0024]5.增強(qiáng)了對編程塊語義進(jìn)行排序的穩(wěn)定性。實物編程塊激活后向LED Pad的無線模塊發(fā)送信息包含了通過對紅外信息解碼得到的前一個塊的二進(jìn)制識別碼Pre_ID和自身的二進(jìn)制識別碼Self_ID,LED Pad的無線模塊通過這兩個信息對編程塊的語義進(jìn)行排序,較上述專利根據(jù)添加時間的先后順序更加穩(wěn)定可靠。
【附圖說明】
[0025]圖1系統(tǒng)連接結(jié)構(gòu)圖;
[0026]圖2布爾邏輯(“或邏輯”)的連接示意圖;
[0027]圖3分支編程塊(IF)的連接示意圖;
[0028]圖4編程塊內(nèi)部處理流程;
[0029]圖5 LED Pad基本處理流程圖。
【具體實施方式】
[0030]為了使本技術(shù)領(lǐng)域的技術(shù)人員更好的理解,下面結(jié)合附圖和實施方式對本交互方法作進(jìn)一步的詳細(xì)說明:
[0031]本發(fā)明中,支持編程塊的內(nèi)部處理流程如圖4所示。編程塊的處理主要發(fā)生在編程階段,主要負(fù)責(zé)編程塊的連接和語義選擇。
[0032]1.初始化。在程序開始處,對編程塊內(nèi)部的無線模塊通訊、紅外通訊、三軸加速度計和定時器進(jìn)行初始化。如果當(dāng)前是多語義編程塊,那么進(jìn)入步驟2,否則跳轉(zhuǎn)至步驟4。
[0033]2.監(jiān)聽手勢。編程塊通過監(jiān)聽三軸加速度值的變化,實時判別是否觸發(fā)了手勢。如果觸發(fā)了手勢,則改變當(dāng)前的語義,并改變編程塊頂部的LED矩陣的顯示,如顯示為向左的方向箭頭表示向左方向塊。
[0034]進(jìn)一步的,編程塊通過采集三軸加速度計的狀態(tài),并使用線性分類器對三個軸X、Y、Z軸的加速度值進(jìn)行分類,識別當(dāng)前手勢。進(jìn)入步驟3。
[0035]3.檢測語義狀態(tài)。實物編程塊解碼得到紅外信息,