GaussToys - 教育種子計畫
參加成員
曹建國、柯清長、林東成、呂奎漢、奕學、鄭之婷、張文宏、李政蒲、王漢卿、GaussToys
簡介
GaussToys 有心給予教育夥伴幫助,想與幾個有心的老師,贊助他們好的零件包,讓他們開發出適當的教材,協助 Maker 教育的推展,並讓 Maker 能帶給教育一點幫助。教材分享沒有時間限制,但建議在拿到贊助零件的三個月內。教案可直接在這裡建立新 hackpad 頁,也可以連結出去。
近況更新
4/2 - GaussSense for Scratch2 GUI Server 開放下載!兩三下就搭起Scratch和Arduino的橋樑!
4/1 - GaussSense for Scratch2 Extension 更新至第三版,支援更多積木與2x2 GaussSense Arduino Shield!
3/31 - Mini GaussSense Node.js Mode 啟動! Github Repo
3/31 - Mini GaussSense Arduino Mode 更新至第三版,支援2x2 GaussSense Arduino Shield!
3/30 - GaussSense for Scratch2 Extension 補充說明與範例
3/29 - GaussSense for Scratch2 Extension 上線!(感謝文宏老師提供)
3/27 - GaussSense開源教材請上傳到本計劃專用Github Repo (https://github.com/gausstoys/awesome-gausssense)
3/25 - Mini GaussSense Arduino Mode 教學
https://paper.dropbox.com/doc/Mini-GaussSense-Arduino-Mode-3P9RDWimNSwpMh1WIAUei
3/23 - 教育開發套件寄出
3/20 - GaussToys教育種子計畫啟動
Mini GaussSense - ONE sensor for ALL
我們期待極速自造工具能精巧便攜、具有許多功能、可以重覆使用、可以自由擴展來適應不同的需求,最重要的,我們當然希望它很容易使用。Mini GaussSense是值得您期待的優雅解決方案。小盒子裡的微型磁場感應器和磁鐵,正是極速自造的獨門配方。小小一顆便支援多種功能,足以取代滿滿一箱的傳統電子零件!連接Arduino和下載免費的軟件開發工具包後,一切神奇運作!兼容麵包板的設計,不僅能夠重覆使用、自由擴展,也節省您的時間!Mini GaussSense,簡潔有力的自造工具箱。
- Youtube 介紹(以一打十)Mini GaussSense - The Simplest Maker's Toolkit, Ever!
- Mini GaussSense 實作範例 YouTube 頻道 Mini GaussSense - 10 series
- 主網站
- 粉絲頁
- GaussToysStore
零件包來源與內容
- GaussToys 贊助9組教育開發套件,內容為
- 4x Mini GaussSense, 4x Breadboard Adaptors, 1x Arduino Leonardo, 1x Breadboard, 1x 2x2 Arduino Shield, 1x red LED, 1x RGB LED, 1x push button, 1x potentiometer, 1x servo motor, 1x10 DuPont cables and Headers, and 5x magnets
範例教材
- 請參考英文版教材,加快教材開發速度
- 也可參考GaussToys開發者專區的中文版教材
- 生活中的磁鐵怎麼連結實體和虛擬世界?你想不到的 GaussSense 應用方式(T客邦)
- 研究筆記 - GaussToys (哈爸)
- Pizg 開箱文 (Pizg)
- 林東成 Scratch 的玩法 (東成)
教案設計原則
- 一些基本原則可參考 研究筆記 - LASS 教育用途發想
- GaussSense 是磁鐵方便的感測,主要因為透過 PC 上的軟體,能將看不到的磁力分佈視覺化,而且能將磁力大小數量化。
- 另外透過遊戲輔助,可以讓小孩想像看不到的磁力,竟然能透過數學的分析與組合,得到那麼多我們本來不知道的資訊。啟發學生對自然科學,與數學的學習動機
- 類似的磁力應用還不廣泛,讓學生自行發揮想像力,將磁鐵包裝成各種樣子,做出各種讓人覺得驚奇的事情
後續想法
- 會希望透過開源與社群的力量,將這些教材,繼續推動應用在不同領域上。
常見問題(節錄自3.17哈爸陪你問)
Q1 : 請問可以使用一般的磁鐵?有沒有什麼注意事項?
RH: 市面上可以買到的鐵氧體或是釹鐵硼磁鐵大多都可以使用。但市面上的軟性磁鐵較不合適,因為磁化較不均勻。原則上,磁鐵越強,效果越好。
Q2 : 為何磁鐵遠離的時候,量測出來的值還有 15 Gauss?
RH: 磁鐵遠離時並不會有值被檢出喔,您看到的可能是上次檢出的結果。15 Gauss是濾除雜訊的閥值,您可以將範例中的Threshold值改得更低,就可以檢出更小的磁場值。
Q3 : 地球磁場會不會也被量測到,如果可以量測到,可以做跟地磁相關的應用,也可能需要在應用情境中考慮,如果小到可以忽略,那就不用特別考慮?
RH:地磁的強度為 0.25 - 0.65 Gauss(隨地區而定),而GaussSense(原附韌體)可以檢出的範圍則在0-150 Gauss左右,透過設置閥值(Q2)即可將地磁忽略不計。
RH:是的,透過更高解析度的ADC,外加放大器後,便可精準偵測更細微的磁力變化。Arduino上搭載的ADC為10-bit,即可以將感測磁場範圍分成1024階。透過16-bit的ADC可以分出65536階。
RH:是的。類比霍爾感測器又稱線性霍爾感測器,即將磁場感測訊號以線性電壓輸出。GaussSense上搭載16顆Winson WSH136線性霍爾感測器(DataSheet: http://www.winson.com.tw/Data%20Sheet/CWSH136.pdf),可以從Datasheet當中看到線性訊號變化。
(source: www.winson.com.tw)
Q4 : 請問 太陽閃焰->地球磁暴->影響通訊 中的磁暴,有機會在類似的方法上感測?
問題來源請 參考
RH: 同理,GaussSense可以感測磁暴事件,但是使用單個類比Hall-effect Sensor也有相同效果。GaussSense為類比Hall-effect Sensor陣列,強項在於準確偵測磁場分佈變化,並以點陣圖輸出。因此,可以做到先前sensor都無法做到的精準動作感測,建議可以朝這個新功能思考相關應用。
Q5 : 請問可以量測到磁力線輪廓和面積嗎?
RH: 可以,甚至能夠畫出磁場等高線喔!在SDK當中我們有附上二十多個範例,在e6-e9您可以看到如何畫出磁場輪廓,在e9中您可以進一步用integer array取得每個輪廓的面積。
(source: developers.gausstoys.com)
Q6 : 請問有大面積的SenseBoard嗎?最大規格多少?價格大概多少?
RH: 有的,我們原本的研究就是做大面積Sensor,但是為了便於推廣,把sensor做小才能降低單位成本。我們也有16x16cm^2的低解析度(256顆Hall Sensor)以及 8x16cm^2(512顆Hall Sensor)的高解析度版本,可以進一度自由拼裝成更大面積(如:32x32cm^2)。這邊附上圖給各位參考。低解析度的大板價格在9000元左右,,量大可給不同程度折扣。
RH:有的,但是sensor密度也因此比較低,效果就會不理想。坊間有賣類比Hall-sensor的散件,您可以試試看用麵包板做個2x2的,就知道這樣的技術必須要在高密度下才能成立。打個比方,單靠光敏電阻陣列是無法做出好的攝影機的:)
Q7 : 如果有人要另外設計電路板,成不同形狀給不同的應用,是否合適跟團隊合作?
RH:我們人力目前有限,因此現在必須專注於標準規格。然而,我們已經將Mini GaussSense模組化,並提供簡單的介面能讓使用者拼成多種大小形狀,應該已經能夠滿足大多數快速原型開發需求。
Q8 : 有沒有那種範例是將磁力線用 3D 顯示的?如果沒有,目前的結構有機會在 Processing 中實做出來?
RH:可以喔,我們有做過2.5D的磁力線Visualization,可以考慮放在下一版的SDK中,謝謝建議。
RH:其實因為螢幕本身是2D的,3D的呈現會產生一些遮蔽、視角不同、或是方向不同的問題。使用現在的2D視覺化可以忽略這些問題,但是3D的呈現透過好的使用者介面也是可以做到。我們會在使用者經驗調整好後給出這些範例。
Q9 : 目前的範例,演算法似乎都在 Processing 中做,對於類似 Arduino 單獨運行的應用情境,有沒有什麼建議?
RH:GaussSense的強項在於與螢幕內容之間的連動,所以目前我們專注於Processing的範例。Arduino單獨運作的話,必須把演算法搬到Micro-controller上面算,對於單個磁鐵的偵測(範例程式e1-e5)我們有在Arduino Leonardo上試過,60fps沒有問題。多顆磁鐵的話目前做過30fps(範例程式e6-e9)。
RH:目前我們使用Java-based的作法,正是為了達成跨平台的最低需求,可以在Web/Mobile/PC上使用,拋磚引玉,希望未來可以有人幫忙一起把SDK給port在各種語言或平台上。
- 我對python的SDK porting有興趣,不過基本原理還要再努力了解
- RH: 太好了!我們也很想port到python,很多人在詢問。
Q10 : 如果要在 GaussSense 上面放上一張畫好的16 紙張鍵盤,在 Arduino 中是否能運用簡單一點的演算法判定磁鐵在哪一格?會這樣問是擔心 Arduino 上面要執行複雜的演算法,可能有點麻煩。這個情境比較是如何用 GaussSense 當做 keyboard 來輸入
RH:用隨附的磁鐵 GaussSense的準確度在1mm內,所以您可以想像這不只可以用作按鈕輸入,更能夠用作畫筆輸入。另一層面,我們也建議不要用GaussSense取代現有的電子零件(如按鈕),而是擴增這些電子零件。如果把GaussSense放在鍵盤背後,鍵盤可以偵測Hover, 速度, 3D動作等等,這麼一來,互動或功能面上會打開全新的維度。
Q11: 在 4*4 的組合應用中,那麼多 GPIO 該怎麼處理?
RH: 我們有設計4x4的轉版 轉版上有一個1-to-16的多工器,透過控制多工器就可以讀到16顆GS的值