一元一次方程式流程說明

在這個流程說明中, 將利用威盛Pixetto 視覺感測器的手寫數字辨識功能與程式積木來製作一個互動性十足的一元一次方程式小遊戲。下面步驟包含如何設定威盛Pixetto與下載範例檔案來編輯程式積木。

讓我們開始吧!

步驟 1

用Micro USB線將威盛Pixetto連接至電腦。

步驟 2

打開Pixetto Utility應用程式,將「功能」設定為「手寫數字辨識」並訓練VIA Pixetto鏡頭識別你手寫的數字0到9。

步驟 3

下載一元一次方程式小遊戲範例程式:
http://cdn.viaembedded.com/Pixetto/Demo/linear_equation_demo.sb3

開啟網頁 https://mls.pixetto.ai/scratch/ 以進入Scratch™編程平台。

點擊左上「檔案」按鈕並選擇「從你的電腦挑選」匯入範例。

步驟 4

首先,我們要連接威盛Pixetto與Scratch應用程式。點擊網頁上方的「串口未連接」並在列表中選擇你的裝置按下「連結」。確認裝置顯示已連結後回到編輯器。

現在,威盛Pixetto已經能夠識別你手寫的數字0到9(步驟 2)並已連接到Scratch™應用程式(步驟 4)。

可以準備開始設計程式積木了!

步驟 5

首先,我們需要建立四個變數。在左邊的列表中,選取變數並選擇建立一個變數。

將建立的四個變數分別命名為 score,bool,num_1 和 num_2。確認只勾選score旁的方塊因為只需要顯示變數score 目前的值。

• score: 如名可見,此變數代表的是遊戲玩家的得分。在遊戲開始時設置為0,並會在玩家通關時增加1分。
• bool: 此變數代表的是一個布林,其數值只會是1或0。
• num_1: 此變數將會是個從0到9的隨機數值。
• num_2: 此變數將會是個從0到9的隨機數值。

步驟 6

首先,選取螢幕右方的”數字1”圖示。

在左側列表中,選取事件積木並選擇「當綠旗被點擊」。

選擇變數欄位並將「變數bool設為1」,接著選取同樣積木並在下拉選項中選取score,將「變數score設為0」。

接著在積木最下方加上控制積木中的「重複無限次」

在控制中選取「等待直到( ) 」,並在其中加上「運算 () = ()」將空格填上變數bool以及1。

• 此設定會讓這積木下面的其他積木在遊戲一開始時運行一次後等待玩家通關後才會在運行一次。

選擇變數欄位中選擇「變數bool設為0」,在下拉選項中選取num_1 。在運算欄位中選取「隨機取數1到10」並設置為「隨機取數0到9」重複以上兩個步驟並將下拉選項選為num_2。

在積木下方加 控制積木 如果()那麼{},在其中加上「運算 () = ()」將空格填上變數num_1以及0。在「那麼」下方加入外觀積木 造型換成0。

重複上面步驟到造型9。(如右圖所示)

將「變數bool設為0」,這行積木會讓bool變為0。

所以重複無限次裡的積木的會被等待直到bool=1給停住,並等待直到使用者通關。

步驟 7

選則右方圖示中的答案_2。

在左側列表中,選取事件積木並選擇「當綠旗被點擊」,接著在積木最下方加上控制積木中的「重複無限次」。

在「重複無限次」中加入控制積木 等待0.1 秒。

這是為了確保數字_1圖示中的積木已完成運行,且所有的變數已設定完成。

接著我們要來計算兩個隨機變數num_1跟num_2的合是否大於十或等於。

計算這個不等式,我們可以利用Scratch運算積木中的加上,大於,等於,以及 < > 或 < >。

[(num_1+num_2) > 10] 或 [(num_1+num_2) = 10]

如果大於十的話,答案_2將會顯示合的個位數字並且定位到答案_1旁 (預留十位數的位置);否則如果小於十的話,答案_2將會顯示兩個變數的合值並定位到等號旁邊 (不需要留十位數的位置)。

當變數num_1與num_2的合大於或等於10時,答案_2將會顯示合的個位數字也就是兩數之合減去10。

比方說,如果num_1加上num_2的合減去10等於0的話,將答案_2的造型換成0。

• 重複上面的步驟,確認兩數之合減去10 的值從0到 9 都會使答案_2 圖示換成相對應的造型。將完成的一串積木移至「如果 那麼」下方。

當變數num_1與num_2的合小於10時,答案_2將會顯示合的值。

比方說,如果num_1加上num_2的合等於0的話,將答案_2的造型換成

• 重複上面的步驟,確認兩數之合的值從0到 9 都會使答案_2 圖示換成
相對應的造型。將完成的一串積木移至「否則」下方。

步驟 8

選則右方圖示中的答案_1。

在左側列表中,選取事件積木並選擇「當綠旗被點擊」,接著在積木最下方加上控制積木中的「重複無限次」並在其中加入「等待0.1秒 」。

接著我們要來計算兩個隨機變數num_1跟num_2的合是否大於十,如果大於十的話,答案_1所代表的數字1將會顯示;否則如果小於十的話,答案_1則會隱藏。

再次運用一樣的「如果那麼…否則…」積木以及裡面的定義積木,並且運用外觀積木顯示與 隱藏可以完成對答案_1的設定。

步驟 9

選則右方圖示中的數字_2。

選取事件積木並選擇「當綠旗被點擊」,接著在積木最下方加上控制積木中的「重複無限次」並在其中加入「等待0.1秒 」。

現在我們將運用專用積木類別。

如果在右方列表沒看到Pixetto圖示,將需要按照以下圖片的步驟進行操作。

按下左下角的「添加擴展」鍵 。接著按下「VIA AI Learning Kit」。

要讓遊戲偵測玩家寫下的答案是否等於一元.一次方程式中消失的值,我們會需要用到6個積木。

控制積木「如果 那麼 」與 Pixetto積木「偵測到手寫數字 」: 當控制程式積木裡的目標「偵測到手寫數字」達成時將運行控制積木中的積木。

控制積木「如果 那麼 」與 運算積木「 = 」 : 當控制程式積木裡的運算積木成立時,Pixetto「識別對象 」等於 變數「num_2」,將運行控制積木中的積木。

當上面兩步驟的積木都成立時,當Pixetto偵測到手寫數字而且識別對象等於變數num_2時,換句話說也就是玩家成功通關時,我們必須要讓玩家的得分加一分並且再次隨機產生兩個變數使其他圖示可以依照產生的變數們更換它們的造型。

將變數bool設為1可以讓數字_1中的積木再次運行 (等待直到bool=1)。

將變數score改變1可以讓玩家目前所擁有的得分增加一分。

將這兩個變數積木加到內圈的控制方塊之中,這個一元一次方程式的小遊戲就完成了!

恭喜完成開發這個運用了AI手寫數字識別功能的一元一次方程式小遊戲了!拿起威盛Pixetto對準你寫的答案來測試這個小遊戲吧!

盡情享受您的創作!

不要忘記在社群網站上與#VIAPixetto分享您的創作,有機會可以被轉發至我們的官方頻道!

分享貼文!

Share on linkedin
Share on twitter
Share on facebook

Leave a Reply