數字猜猜猜

宜蘭縣第八屆scratch競賽國中外部感應器組題目:數字猜猜猜

請各位同學設計一個猜數字機,這台機器要讓玩家可以玩猜數字遊戲

遊戯基本玩法:

1.請先設定好兩位數的七段顯示器,一開始先執行開機測試,兩位數字先由0~9輪流顯示一次後熄滅、 RGB三色輪流亮燈一次後熄滅、最後蜂鳴器發出一長聲代表開機完畢,藉以了解輸出部分硬體是否正常。

2.開始後請將遊戲分為三個功能,第一個功能是猜數字,第二個功能是九九乘法,第三個功能是達標計數模式,遊戲一開始要讓玩家選擇功能。

3.猜數字玩法:

A.以蜂鳴器輸出2秒音樂表示遊戲開始後RGB LED亮藍燈、等待超音波前方有手勢輸入。

B.在超音波前揮手後,RGB LED開始七彩(以上)快速輪流閃動,同時七段顯示器數字快速變化,約2秒後停止動作,RGB LED轉藍燈,七段顯示器左邊(十位)停在某一數字,此時電腦畫面等待玩家輸入猜0~9的數字,輸入完畢後的數字顯示在七段顯示器右邊(個位)。

C.如果左右兩邊七段顯示器的數字相同,則將RGB綠燈快速閃爍,並由蜂鳴器發出恭喜的音效。如果輸入的數字不符,則將RGB紅燈快速閃爍,同時七段顯示器數字也要快速閃爍,並發出失敗的音效。

D.統計積分,並記錄題目及答案、積分在檔案中。

E.重複遊戲3次,結束後將紀錄檔案自動打開供參閱。

4.九九乘法玩法:

A.以蜂鳴器輸出2秒音樂表示遊戲開始後RGB LED亮藍燈。

B.電腦亂數出題,將被乘數顯示在七段顯示器左方(十位),乘數顯示在七段顯示器右方(個位) 後等待玩家在電腦端輸入結果。

C. 玩家輸入結果後,將結果顯示在七段顯示器上2秒。

D.如果玩家答對了,則將RGB綠燈快速閃爍,並由蜂鳴器發出恭喜的音效,如果答錯,則將 RGB紅燈快速閃爍,同時七段顯示器數字也要快速閃爍,並發出失敗的音效。

E.重複遊戲3次,結束後將紀錄檔案自動打開供參閱。

5.達標計數模式::

A.以蜂鳴器輸出2秒音樂表示遊戲開始後RGB LED亮藍燈,此時兩位數七段顯示器數字顯示為99。

B.在電腦端輸入要達標的目標次數數字後顯示於七段顯示器上2秒,2秒後切換至顯示00並開始計數。

C.以超音波開始計數,做伏地挺身時頭部靠近超音波再離開(以手部動作模擬即可)算一次,每次計數蜂鳴器必須發出一聲鳴叫,同時RGB_LED藍色閃烤樂0.5秒,累加計數顯示至七段顯示器。

D.當計算數量達到預定目標後,RGBLED蜂鳴器奏勝利音樂,同時七段顯示器數字閃爍。

E.紀錄當次達標次數、花費時間、與系統日期時間至檔案中。

F.按空白鍵可以結束計數遊戲,並將記錄檔開啟供玩家參考。

1.     

在超音波前揮手後,遊戲開始,數字開始輪流閃爍,螢幕畫面提示請選擇輸入數字0~9
2.選擇完畢後,電腦比對競賽選手輸入的數字與七段顯示器上顯示的數字
3.依據數字比對的結果做勝利與失敗適當的回應
4.將題目與答案進行比對、回答是否正確適當記錄
5.3秒後回到步驟1

參考解答(沒有標準答案)

影片

硬體:PC或MAC+Arduino UNO+麵包板+七段顯示器(共陰級)+RGB LED+蜂鳴器+ HCSR04超音波感測器

軟體:scratch2+WFduino(離線版)

因為要使用2個七段顯示器和其他感測器,一片Arduino UNO的腳位不夠使用,必須使用2片Arduino UNO。

請參考「同時控制4片板子」:http://blog.ilc.edu.tw/blog/blog/868/post/97509/685694

 

一、接線圖:

「七段顯示器」請參考:http://blog.ilc.edu.tw/blog/blog/868/post/97509/685476

「 超音波感測器」請參考:http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

「同時控制2片板子」請參考:http://blog.ilc.edu.tw/blog/blog/868/post/97509/685694

 「RGB LED」請參考:http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

「蜂鳴器」請參考:http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

「七段顯示器」:參考線圖依照腳位分別接數位腳D2、D3、D4、D5、D6、D7、D8。

共陰極「RGB LED」為了避免電流太大,負極接地前先接一顆電阻,其他三支腳分別接D9(藍)、D10(綠)、D11(紅)。

「蜂鳴器」的正極(長腳)接數位腳D13,負極接GND。
(這裡用便宜的有源蜂鳴器,發出的音調有點不準)

「 超音波感測器」:Vcc接5V,Gnd接地,Trig接類比輸入腳位A0,Echo接類比輸入腳位A1

 

二、韌體更新及連接

注意:

請先各別將要連接的2片板子都一個一個先更新韌體,以免連接後會自動更新,產生問題(電腦分不清要更新哪一片)。

確定2片板子都更新完韌體後,將板子接上電腦。(記得看一下連接埠)

三、移除不用的服務

1.開啟WFduino後,正常連接第一片板子,右下角出現[9999]服務器編號。

2.接著點選[功能]、[加入控制板]、[服務器9996]

選擇接第二片板子的WFduino專屬程式服務器編號

3.自動開啟新的WFduino,右下角出現[9996]編號(剛剛選的),選擇要連接的第2片板子。

 

4.點選[Scratch]、[開啟範本]、[全部(多板控制)],開啟多板的範例程式(擴充積木)。

6.在[更多積木]區就可以看到相對應的擴充積木指令區可以使用了。

WF9996.GPIO代表9996板子專屬的積木

選擇要控制的板子對應的編號區裡面的積木。

因為積木拉進程式區後都一樣,所以建議直接用腳色來區分,比較不會混亂。

因為同時開啟四個WFduino服務器,耗費很多電腦資源,程式幾乎不受控制。

可以把不需要的服務先關掉,減少耗用資源。

只有2片板子,所以先把不用的2腳色先刪除,留下9999板子和9996板子的腳色。

在更多積木區,點選服務器的三角形,再選[Remove extension blocks],就可以移除不用的積木。

把不用的積木都關掉,只留下WF01.GPIO、WF02.Sensor、WF9996.GPIO,就好了。

四、程式說明

螢幕主畫面

主要畫面由舞台的造型來設定改變。

 

 

舞台程式:

 

程式一開始先宣告各腳位的模式。

D2、D3、D4、D5、D6、D7、D8是「七段顯示器」,使用[OUTPUT]。

D9、D10、D11是共陰極「RGB LED」使用[OUTPUT]

D13是「蜂鳴器」使用[OUTPUT]

[等待一秒]:程式原來內定所有腳位為OUTPUT,現在更改,需要給電腦時間做設定更改。

建立四個角色分別執行四種功能。

使用[廣播訊息]積木,當執行某種功能模式時,舞台造型就進行切換。

[彈奏模式](一般電子琴) 腳色程式:

———————

註1:資料來源:https://docs.google.com/document/d/1pRRfiNrZyyX4yEhrWnBGqtVvZGAW19kskG31XWonEh8/edit

roc

宜蘭縣國小資訊小站

您可能也會喜歡…