宜蘭縣教育支援平台 會員登入 會員註冊 我的i教書

« 上一篇 | 下一篇 »

使用micro:bit 提供的陀螺儀(註1),偵測板子在X、Y、Z軸的的變化,來控制電腦或板子動作。

利用[陀螺儀]積木,來顯示偵測板子在X、Y、Z軸的的變化。

一、基本測試

 

 

建立3個變數x、y、z,分別設為陀螺儀的x、y、z,y,在螢幕上顯示偵測到板子在X、Y、Z軸變化值。

翻動板子,觀察數值變化。

X軸變化值為-10XX(左下右上)到10XX(右下左上)

Y軸變化值-10XX(倒)到10XX(立)

Z軸變化值-10XX(LED朝上)到10XX(LED朝下)

程式下載:陀螺儀測試.sb3

二、水平儀

傾斜板子時,LED燈往上、下、左、右移動,如果水平,LED燈會在正中央。

 


程式下載:水平儀.sb3

三、貓咪接香蕉(陀螺儀)

板子傾斜不同角度,讓主角(小貓)向左移動或向右移動;

香蕉掉下來,貓咪接到香蕉得分。

主程式

香蕉腳色程式

程式下載:接香蕉(陀螺儀).sb3

延伸:

1.使用[分身]技巧,讓掉下來的香蕉變多

2.加上時間到結束遊戲,得到40分後結束遊戲

3.加上掉不同的東西(西瓜)、[生命值],被西瓜打到扣分,生命值用完結束遊戲。

四、飛天貓狗

兩片板子控制螢幕上的2隻動物主角(貓、狗),加上會移動的幸運星星及子彈,碰到幸運星星就加分,碰到子彈就生命值減一,生命值零時就結束遊戲。

當板子翻動,飛天小貓(狗)往上、下移動。

兩片板子控制,請參考:

多板控制

http://blog.ilc.edu.tw/blog/blog/868/post/116505/778705

螢幕畫面:

1.舞台

設定一開始的[得分]及[生命值]變數,播放背景音樂。

2.飛天小貓

先將角色移到固定位置。

重複執行,角色移到X固定的座標,Y座標隨著亮度值做改變,看起來就像在上下飛行。

再搭配建築物、樹、雲等背景的移動和造型變化,看起來就像在飛行一樣了。

註:Y座標值會因使用環境而改變,請視環境亮度自行調整。

3.建築物

4.樹

5.雲

6.子彈

7.無敵星星

五、夾娃娃機

microbit陀螺儀控制夾子左右移動,按2顆按鍵控制開始遊戲(B鍵)和下夾子抓娃娃(A鍵)

六、打磚塊

microbit陀螺儀控制棍子左右移動,按(A鍵)發球開始遊戲。

七、貓追甜甜圈

microbit陀螺儀控制甜甜圈移動,去追甜甜圈

改編自scratch的[貓追鼠]遊戲

老鼠(甜甜圈)腳色:

貓腳色

想想看要怎麼改?

---------------------------------------------

註1:

https://zh.wikipedia.org/wiki/%E9%99%80%E8%9E%BA%E5%84%80

陀螺儀(英文:gyroscope),是一種基於角動量守恆的理論,用來感測與維持方向的裝置。陀螺儀主要是由一個位於軸心且可旋轉的轉子構成。由於轉子的角動量,陀螺儀一旦開始旋轉,即有抗拒方向改變的趨向。陀螺儀多用於導航、定位等系統。

microbit加速度計(在makecode的積木名稱為加速度感測值(x、y、z))

https://microbit.org/hk/guide/features/#accel\

 

加速儀可以測量當micro:bit被移動時的加速度。它也能偵測其他動作,例如:搖晃、傾斜和墜落。

它分為x,y,z三維軸向且值在-1024到1024間,microbit水平朝上的時候x=0,y=0,z=-1024。

http://www.masters.tw/169581/gyroscope?fbclid=IwAR3gwM0GDMJEtNUZb13uvgq1DCRDaTsP7kpruvoNzbjnmlguqN4S_crL0Xo

--------------------------------------------

相關連結:

kittenblock(microbit)課程目錄(scratch3)
http://blog.ilc.edu.tw/blog/blog/868/post/10898/778778

Scratch3控制外部感應器概論 
http://blog.ilc.edu.tw/blog/blog/868/post/113115/778543

micro:bit與robotbit擴展板
http://blog.ilc.edu.tw/blog/blog/868/post/112597/741365

kittenblock(microbit)(scratch3)第0課(概論)
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778655




 
 
 
用LINE傳送