顯示具有 mBot x STEM 標籤的文章。 顯示所有文章
顯示具有 mBot x STEM 標籤的文章。 顯示所有文章

2018年3月15日 星期四

mBot x STEM:隔音物料測試

簡介

小學五年級常識科中有一個課題,叫作「光、聲、電」,內容處處與 STEM 掛勾,其中有一部份介紹隔音物料。一般做法都讓學生帶不同物料回校測試,其實可以多做一步,讓學生自行設計隔音物料的測試,發揮創意,加強邏輯思維的訓練,進一步掌握設計循環的理念。

設計循環

STEM 教育是為了促進學生運用課堂及書本上學到的知識與技能,配合創新思維,解決日常生活上遇到的困難。當中,學生設計產品時,可參考設計循環的流程,令整個產品的設計及開發更加流暢:


現在需要解決的問題十分清晰,接下來就需要讓學生開始進行設計。

外觀設計

除了 mCore 外,必須的就是 Me 聲音感應器,顯示方面有很多選擇:數字顯示板、表情面板、LCD 顯示屏……另外還需要一個容器,放置蜂鳴器及隔音物料。


容器的材質並不會影響測試,因為只要一直使用相同容器,測試就能一直保持公平。顯示方面最後選用了 Me TFT 2.2 寸 LCD 顯示屏,更好的選擇是 Me TFT 2.4 寸 LCD 顯示屏,但因為尚未入手,所以先屈就用螢幕小一點的。

畫上草稿,在真正建構時可以減少出錯的機會,加快產品製成的速度。



程式設計

程式中,有兩項主要的工作:一、不斷經蜂鳴器播放音調;二、不斷檢查現在的音量。


如果使用上面的程式,效果則會是先播放音調,再偵測音量,並不能同時進行。因此,我們需要稍為修改一下程式,讓兩件事同步進行。


使用兩個「mBot 主程式」即可解決問題,雖然會有少許停頓,因為我們不是要求蜂鳴器一直播放的。

(更正:根據邱老師提供的意見,兩個「mBot 主程式」不能做到同步,如此可不用蜂鳴器轉用鬧鐘,或是有什麼用 mBlock 做到同步的方法歡迎留言)

測試


程式在一開始會先等候 LCD 顯示屏準備好及蜂鳴器已經在播放音調,再偵測沒有隔音物料時的音量數值,再以黃色線表示。然後可以加入不同的隔音物料,並繼續測試音量數值,並以綠色點在螢幕顯示出來。


2017年10月5日 星期四

mBot x STEM:mBot 水平儀

簡介

我們很多時候看到有一些運用了手提電話內的陀螺儀應用的水平儀,這次我們也會使用 Me 陀螺儀(Me 3-Axis Accelerometer and Gyro Sensor)配合 mCore 造出一個水平儀。

Me 陀螺儀(Me 3-Axis Accelerometer and Gyro Sensor)

首先,我們了解一下 Me 陀螺儀的功能,它是一款理想的機器人運動檢測、姿態檢測模組。包含 3 軸加速度計、3 軸角速度感測器與運動處理器,並提供 I2C 介面通信。

Me 陀螺儀能夠在 X、Y、Z 軸測量加速度的變化,通過感知特定方向的慣性力總量,加速計可以測量出加速度和重力;三軸加速計意味著它能夠檢測到三維空間中的運動或重力引力。加速計可以測量重力(引力)g,如果模組靜止而沒有任何動作,地球引力對其施加的力大約為 1g;如果模組豎直放置,會檢測到 Y 軸上施加的力約為 1g。如果模組以一定角度放置,會檢測到 1g 的力會分佈在不同的軸上。

當模組在三維空間中運動或振動時,Me 陀螺儀會在一個或多個軸上檢測到大於 1g 的力並測量出加速度,對加速度積分可以獲得速度和位移。當物體繞軸旋轉時會產生角速度,Me 陀螺儀能夠檢測 X、Y、Z 軸的角速度變化量;運動處理引擎通過 I2C 埠直接輸出資料,可以減輕週邊微處理器的工作負擔並且避免了繁瑣的濾波和資料融合。

因此,我們在應用時,只需要通常簡易的計算,就可以使用了。

Me 2.2吋 TFT 液晶屏(Me TFT LCD Screen – 2.2 Inch)

除了 Me 陀螺儀外,我也用了 Me 2.2吋 TFT 液晶屏來模擬水平儀上的水珠的走動。Me 2.2吋 TFT 液晶屏的螢幕解析度為 320 寬 x 240 高,和 mBlock 的背景舞台不同,Me 2.2吋 TFT 液晶屏的起始點(0, 0)在螢幕的左上方,而非在螢幕的正中央,因此我們待會需要做一些換算,才能正常顯示。

組裝


水平儀是一個可攜帶的裝置,因此我使用了鋰充電池取代 AA 電池,同時,我也使用了鋰充電池盒安裝在 mCore 的底部,也方便作為量度時的定點。另外,安裝 Me 陀螺儀時亦要注意水平地安裝,以減少量度時出現的誤差。另外,組裝時需注意 Me 陀螺儀的方向,箭咀指向的方向是代表該座標數值的減少,留意清楚才能配合在 Me 2.2吋 TFT 液晶屏的顯示。


連接埠方面,我使用了連接埠 1 連接 Me 2.2吋 TFT 液晶屏,而 Me 陀螺儀並無指定的連接埠,因此我選擇了連接埠 4。而為了方便使用,不宜使用太長的 RJ25 連接線。

編程

Me 陀螺儀會回傳 X、Y、Z 軸的角度,根據我的組裝,X、Y、Z 軸的改變會像這個情況:


X、Y 軸的回傳數值由 -90 至 90,而 Z 軸的回傳數值則由 -180 至 180,但由於我們只量度水平狀況,所以 Z 軸的數值我們並未有使用。

然後,我們需要按 X、Y 軸的數值換成螢幕上的寬和高:


很多學生雖然懂得乘法、除法、分數甚至比例,但都未能將 X、Y 軸的數值按比例地換成螢幕上的寬和高。X 軸的角度不斷增加時,寬的座標就會不斷減少;而 Y 軸的角度不斷增加時,高的座標就會不斷增加。

這時我們發現 Y 軸的變化是一個正比,會比較容易處理,我們可以將高的一半 120 分成 90 份,然後再乘以 Y 軸的角度,最後加上高的一半,即是 120,就能成功按照高的比例增加 y Y 座標的數值。由於 Y 軸的角度可以是負數,加上 120 後就會少於 120,符合正常的情況。mBlock 的積木就如下圖所示,其中的「Height-M」就是高的一半,而「Y-Angle」就是 Y 軸的角度:


而 X 軸的變化則是一個反比,和 Y 軸相同,我們先把寬的一半 160 分成 90 份,然後再乘以 X 軸的角度,但在最後,我們把它減去寬的一半。這個做法會首先將 X 軸的角度按寬的比例變化,然後減去寬的一半,就能讓它們將最少值減到 -320,最後只要取得座標的絕對值,讓負數變回正數,正數不變,就能取得正確的 X 座標。mBlock 的積木就如下圖所示,其中的「Width-M」就是寬的一半,而「X-Angle」就是 X 軸的角度:


完整的 mBlock 程式如下:


一開始我慣常把一些恆常數值放在變數,之後取得 Me 陀螺儀的 X、Y、Z 軸的角度,值得注意的地方是,使用 Me 陀螺儀的 mBlock 積木是不需要選擇連接埠的。之後我會清除 Me 2.2吋 TFT 液晶屏上的內容,我選擇在迴圈當中清除,是因為 Me 2.2吋 TFT 液晶屏的積木可以讓它不斷在 Me 2.2吋 TFT 液晶屏上增加內容,如果不在迴圈中清除,將會看見模擬水泡的殘影。

之後,繪畫了兩條紅線來定義正中央的位置,當模擬水泡在兩條紅線的交叉點時,代表水平儀在水平狀態,最後在計算出來的座標上畫上一個綠色圓點代表模擬水泡。我刻意在每次迴圈結束前,讓它等待 0.1 秒,讓它減慢畫面閃爍的頻率,亦不減慢畫面更新的速度。

測試結果


2017年8月17日 星期四

mBot x STEM:Inventor Electronic Kit 範例匯集

日前,Makeblock 港澳獨家總代理 Everbest 拍攝了一系列使用 Inventor Electronic Kit 的 STEM 範例,這裡收集了所有範例的影片(粵語)和參考網站(英文版),方便學習:


1. 距離顯示(Distance Display)

【超聲波感應器+七段數碼管顯示器】
參考網站:http://openlab.makeblock.com/topic/56e29bac6ac42c1b332d56db

2. 智能風扇(Smart Fan)

【超聲波感應器+130DC 摩打(包括風扇葉)】
參考網站:http://openlab.makeblock.com/topic/56e299df6ac42c1b332d5658

3. 自動喂魚器(Auto Fish Feeder)

【伺服摩打+七段數碼管顯示器+RJ25 適配器】
參考網站:http://openlab.makeblock.com/topic/56e2967f6ac42c1b332d5566

4. 模擬交通燈(Simulation of Traffic Light)

【伺服摩打+LED 燈+七段數碼管顯示器+RJ25 適配器】
參考網站:http://openlab.makeblock.com/topic/56e2951e6ac42c1b332d54e0

5. 智能檯燈(Smart Table Lamp)

【LED 燈+可變電阻感應器+聲音感應器+人體紅外線感應器】
參考網站:http://openlab.makeblock.com/topic/56e293976ac42c1b332d5451

6. 自動冷凍器(Cooling Machine)

【可變電阻感應器+七段數碼管顯示器+130DC 摩打(包括風扇葉)+溫度感應器】
參考網站:http://openlab.makeblock.com/topic/56e291ae6ac42c1b332d5364

7. 打地鼠(Whac-A-Mole)

【七段數碼管顯示器+LED 燈+搖桿模組】
參考網站:http://openlab.makeblock.com/topic/56e2903b6ac42c1b332d52db

8. 藍牙控制(Bluetooth Control)

【藍牙模組+130DC 摩打(包括風扇葉)+LED 燈+七段數碼管顯示器】
參考網站:http://openlab.makeblock.com/topic/56e28e176ac42c1b332d51f5

9. 自動吹泡泡(Bubble Machine)

【人體紅外線感應器+130DC 摩打(包括風扇葉)+伺服摩打+RJ25 適配器】
參考網站:http://openlab.makeblock.com/topic/56e28b4f6ac42c1b332d50c4