2016年2月16日 星期二

一次親子創客專案的歷險:燈籠君,你好


(完工後的囂張貌)



(燈籠君實際運作影片)



這完全是一個誤打誤撞,結果到最後欲罷不能的專案
也是這小孩第一次製作困難度較高,且整合多樣素材的專案
但是證實    只要有心   人人都可以是 Maker...................................燈籠君
(附註:親子要進行本專案很讚,但請大人要非常非常有耐心陪伴喔 XDD)

這個燈籠我們父子搞了多久呢?
包括討論、設計、教學、動手實作、測試
是的,整整半個月,因為我只有限度的動手幫忙
他能夠來的,就讓他自己來
整個專案貢獻度:老爸約貢獻35%,小孩貢獻65%

起因是因為小一生寒假有一項作業,是學校舉辦花燈比賽,
每位小朋友需要使用環保素材製作燈籠,
其實本來想大概做個燈籠就好,(根本就是混啊啊啊啊)
沒想到後來和小子討論,他居然想玩很大,
打算弄個類似機器人花燈之類的@@,會動的那種
(就跟外面燈會的頗像)


稍稍交代一下小孩的起點行為:
最早玩 Lego Wegdo,
後來玩 mBot,會使用類Scratch介面撰寫程式控制紅外線遙控自走車,
對電路板有粗淺的認識,會使用電表測量電壓
玩過 Code.org , LightBot,LittleBits
有一點點函式、變數、以及迭代的概念

而這次我也在思考,我要怎麼教?專案怎麼進行?怎麼引導而非主導? 
之前大多是以套件為主體,按圖索驥組裝以及寫程式不會是太大問題,
而這次的寒假作業也算是個契機,可以讓他學習利用非套件素材,
也就是在沒有完整套件配件以及機構的前提下,尋覓適合的素材,並結合其他素材來製作,
因此我的步驟,大約會讓孩子先產生想法,接著進行引導,並教導相關技術,結合既有技能與概念,測試修正,但我僅提供有限度的幫忙(PBL Base)

好,那就開始囉

一、畫個設計圖先

其實這部分花不少時間,需要與小孩詳加討論
因為要釐清需求,才能決定要做甚麼?怎麼做?規劃後續步驟?
評估可行性,需要準備那些工具和材料
其實在後續過程中,設計是一直變更的,
(你一定沒看過一個四十歲的男人和一個七歲的小孩,因為爭執設計的問題搞得大家面紅耳赤....)


整體需求就是要做花燈機器人,當有人靠近時,會揮手、眼睛會轉動、身體會發亮,
因為要環保...所以身體通通是用空面紙盒組合而成,
還需要電路板、伺服馬達、LED燈、電線、直流馬達...........等
(因為要求環保,所以電路板就是拆之前買的 mBot 自走車套件上的零件來使用)


二、準備材料


電子材料大致如圖示
  1. mBot電路板  X1(控制眼睛和板子上的LED燈)
  2. 1.5V AA X4 電池盒 + 1.5V AA電池 X4
  3. 超音波Sensor X1
  4. 6P6C線 X1(RJ11接頭)
  5. 減速馬達 X2 (做眼睛)
  6. Arduino Uno R3板 X1  (為何要這個?等等交代)
  7. DFRobot 擴展板 X1(為何要這個?等等交代)
  8. SG90 伺服馬達 X1
  9. 9V電池供電 X1

(相關電子材料一覽)

為何需要兩塊板子?
因為很怪的一件事,我們測試 mBot 裝上伺服馬達後,
若在離線狀態(就是不接電腦電源),僅靠電池供電,
伺服馬達一啟動,板子會重啟,
用電表一量,發現電壓會不足,電池全部換新也一樣
可能是我這塊板子的問題?

正當苦惱時,小子建議,是否能將伺服馬達移到另一塊板子,
然後再使用紅外線或藍芽控制?
(一句話點醒我夢中人啊......雖然不一定是最佳解,但至少是方向)
所以結構上是這樣:

mBot板子控制超音波Sensor、減速馬達(眼睛)、發射紅外線訊號、以及控制板子上的LED明滅(我稱他為 A板),
Arduino 板以及擴充板則是接收紅外線訊號,還有控制伺服馬達(揮手動作)(我稱他為 B板)

流程就是當有人靠近A板-->超音波偵測距離小於設定-->發射紅外線訊號給B板-->A板眼睛轉動(減速馬達)-->A板板載LED亮
而B板接收到紅外線訊號-->揮手(伺服馬達)


( 開始拆自走車零件 )

( 測試零件擺放配置 )


對了,非電子材料與工具的部分,
大概就是面紙盒做結構主題,還需要玻璃紙、白膠、膠帶、熱熔膠、噴漆、小刀、電烙鐵等等

三、製作步驟

(製作手掌)

( 測量電池電壓 )


(翻翻老爸工具材料箱是否有可用零件)



(面紙盒噴漆,噴漆技能 Get!! )

(因為不小心把馬達線扯斷,所以需要焊接電路,哭哭@@  焊接技能 Get!! )

(製作眼睛)


(結合硬體撰寫程式,驗證功能和概念)


(開始鑽孔,組裝電子零件與燈籠本體)




(用熱溶膠黏合眼球,手掌,伺服馬達)


(線路整理)




(燈籠君 Beta 版)






(整線進行最後組裝)

(我想讓燈籠君走路....有請掃地機器人)

(燈籠君不夠亮?感謝阿公捐贈LED X3)




(燈籠君實際運轉中)

(失敗就多嘗試幾次吧)


(燈籠君最終版)

三、歷程省思

  1. 他並沒有很炫的外貌,但是將心中想法具體做出來時,爽度破表啊啊...其實這是個簡單的作品,但我喜歡的是整個歷程,一起付諸實現的歷程(比賽有沒有得獎倒是其次惹)。
  2. 這個專案不同於以往,除了從零開始建構之外,多元的素材、多種新工具的使用與技能的學習,而不是單純採用套件中現有的機構,感覺比較貼近 Maker 的真實樣貌。
  3. 家長(或老師)會不會涉入太多? 整個專案貢獻度:老爸約貢獻35%,小孩貢獻65%,從開始構思、繪製設計圖,老爸試著引導而不主導;有問題有困難就是討論,不直接給答案(當然老爸許多時候心中已經有答案,但是還是得忍啊啊啊,所以耐心很重要,請跟我說一百遍)。兩塊電路板程式,B板子上的程式因為牽涉到紅外線接收,所以這部分是我寫的,其他都由他使用 mBlock 完成。
  4. 這次專案的重點,對象是一年級小小孩,除了在設計時的引導外,其實有一塊很有趣:如何將心中實體且模糊的想法(例如我要會轉動的眼珠,但是要怎麼轉動?這個得很明確,因為最後須要將之以程式語言敘述以及演算法來實現,不能有模糊空間),轉化為元件實際的運作(其實骨子裡是減速馬達的運轉,但得將眼珠轉動的概念連結到馬達轉動上),然後用程式將想法實際敘述出來(程式裡就得清楚寫出馬達轉的方向、力道、時間等等),再轉化為演算法(當超音波偵測距離小於五公分時,馬達順時鐘方向轉動3秒鐘,速度50,並重複做三次),最後又再回歸到硬體面,實際編程與測試硬體運作狀況,以及錯誤修正。這個歷程我覺得最有趣,整個流程是將心中模糊的想法,進行清晰的定義,之後再依照定義,轉化為更為抽象的概念與描述,並透過演算法的編訂以及實際編程來針對硬體進行操作,反覆測試修正,有那麼點運算思維的味道在其中。
  5. 新工具的使用是必須要教導的,但儘可能在安全的範圍下還是得讓孩子盡量操作,不要越俎代庖,不論是電烙鐵、小刀、或者是熱熔膠皆然。當然有些關鍵點孩子實在會遇到困難,畢竟小肌肉還在發展中,適時的幫忙還是需要的。由於整個歷程大部分都是由孩子實作,再加上引導以及教學,整個實際製作時間會拉的非常非常的長,要有心理準備(所以耐心很重要,請再跟我說一百遍XDDDD)。
  6. 跌跌撞撞和失敗是一定的,克服困難後,那種感覺宛如打電動破關,不但問題解決了,就是那種湧現而出的滿足感和自信,那種是花再多錢也買不到的。
  7. 當然,同時可以讓孩子演練,萬一故障時或不 work 了,要如何修復?是電路的問題?還是電池沒電?這時候就可以來狀況模擬一下,讓孩子從原理更深入了解,如何發現問題和解決問題。基本上若是孩子真正參與整個製作過程,也確實了解運作原理,維修這部分倒是孩子很快就能解決。
  8. 燈籠君會走,是因為小朋友將他之前組裝的掃地機器人加上,但最後實在太重了,加上容易重心不穩,所以交成品時是固定版,並將行走納為未來優化時的考量。(而且半夜看到燈籠君晃來晃去,會發亮會走動,感覺也是毛毛的@@)