STEM 2 - 乾手機

我們希望教導學生最終做出這一個乾手機。

裝置使用了光柵感應,檢查有沒有人要使用乾手機,當手放到乾手機前,光柵便會被遮蓋,乾手機便會開啟。簡單來說即是用light sensor控制摩打。

micro:bit

我們先看看它的micro:bit code

我們使用了電線將light gate和摩打連接上micro:bit下角的pin上,用micro:bit作為大腦控制pin的供電。

當然了,本文並不會詳解怎樣寫這個coding,因為文章的目的是為了向大家顯示由深至淺的編程教材。如果你對上面的編程很有興趣請自行閱讀 http://etchk.screenstepslive.com/s/etcsup/m/86471/l/1064837-

到了這裡的問題是,不可能每一個學生(或者年紀較少的同學)也能夠學習這個編程吧?有沒有更加簡易的方法?

SAM Labs

除了micro:bit的blockly外,我們可以使用另一個形式的編程來寫。

SAM Labs的app SAM Space可以使用mind-map的形式來做編程。我們接下來會做出和上面同一個編程。

SAM Labs的特色是我們並不需要長時間學習編程語法就可以將編程做出來,我們簡單地看一下mind-map便多多少少明白當中在做什麼。

首先講解一下light sensor的設定,我們可以設為True / False。如果你看得懂micro:bit的話就是1/0的意思,上面也有解釋「0」就是光線被擋住的意思,這樣用文字來解釋的話就是有感應到光/沒有感應到光。

相信你只看圖示連線就明白了大概的意思。上方只是簡單地為燈光設定1個開關,就像我們在micro:bit中的「把聚光燈開啟」一樣,它來照射light sensor。

下面的那一條就是利用light sensor看看有沒有感應到光線,如果感應不到(被手擋住)就開著摩打。

到了這裡你應該可以感受到SAM Labs和micro:bit的差異,前者比較具體地直接用app控制實物,但它的問題就是通常都沒法做一條完整的編程。後者更加貼近電腦中編寫程式的語法,而且編程不能斷開

這裡的好處是在micro:bit之前為學生打好基礎,用比較簡單的方式做出同樣效果。當然了,SAM Labs的不足之處是它不能如micro:bit那般精細地掌控每一個pin、每一格的coding block。(這也是為什麼我們需要micro:bit呀!)

Robo Wunderkind

比起上面兩者,Robo更加適合年紀小而且更少程度更低的學生,因為它的設計什至比SAM Labs還要簡易。

我們可以做出一個極之相似但是簡化版的乾手機。由圖中的結構你可以大致地明白,紅色有透明感應器的是light sensor,左邊黃色的是RGB燈,上方藍色的是摩打。

由於這是更簡單的編程教材,我們對比一下light sensor的操控介面。Robo介面比上面更加圖像化了,連初學者也可以自己試做。

我們也一如上面不會詳解這個coding,目的是讓大家感受一下如何編程,而上面的編程也不需要我特講解你們也可以按圖上說明了解。這裡想要指出的是,Robo比起一開始的micro:bit當然存在著差距,不可能完全做到出來。例如,它沒有True / False的設定,不可能做到上面所講的「1和0」,它也無法如SAM Labs一樣分開2條code來處理。同時這條編程也是有缺陷的,當你做完一次打開摩打之後,你可能要手動關掉程式重開,它並不完美。

然而,這是非常正常的,正正是存在著這些不足之處,我們才有需要學習更困難的編程,學生也可以知道這些不同後用更高難度的教材來改進。Robo的最大意義是讓學生可以簡單地砌出想做的事物而不又用深奧的結構,同時又可以做一下最簡易的編程。