數字猜猜猜
宜蘭縣第八屆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