WifiBoy OKESP 孵蛋雞教學二(材料篇)
在開始進入課程前,其實一直在找相關的材料,由那個角度出來讓孩子做出這個孵化機,想過了用紙箱,用整理箱,用燈泡,用電熱板,等等材料發想過程,一度思緒大亂,不知如何下手。
最後還好老婆提醒,如果課程是希望孩子們學會程式,可能簡化到只剩程式做為實作內容就好,其餘的用現成的產品帶過,確保成果是好的即可,真是醍醐灌頂,解除了我的選擇困難症。
列重點:
改造後孵化箱一台
DHT22一台
WIFIBOY OKESP一台
於是我上網選購了一個具有加熱器及帶有自動轉蛋功能的孵化箱來改造,這個孵化箱其實是一個非常簡化但基本功能都有的孵化器,其實不用改造都可以成功孵化出小雞,但為了課程需求,我打開了他的電路板,切斷了他原有控制加熱器與轉蛋馬達的功能,再把控制訊號線路與電源外拉到機箱外面,做為連接開發板的準備(想要知道怎麼連接改造的,歡迎留言,或到我的粉絲頁 “宅爸養雞鴨”跟我討論)。
而原本的孵化箱本來就有一個熱敏電阻來做為溫度計,但因為對於這個機器的熱敏電阻規格不明,加上還需要對溼度做監控,於是選用了DHT22這一個穩定且常見的溫溼度感測器做為開發板主要的溫溼度參數來源。
最後是本次課程的主角,
OKESP開發板,使用ESP32核心,運行MircoPython系統,有彩色OLED做為顯示,六個主要按鍵輸入,帶有電池,可以外接外部的IO,可以做為控制加熱器與轉蛋馬達的接點。
其實最主要就是這個MicroPython系統,我覺得在教學現場中,使用這個系統有幾個好處,第一是反應快速,不像一般的開發板虛要下載後才能執行,MicroPython提供指令列的模式,可以直接寫程式,送出enter就馬上執行,第二,Python是現在主流的程式語言,在程式的流程與邏輯算容易學習的,第三,在OKESP開發環境用的是玩學開發的python playground,除了基本的操作流暢外,重有趣的是他的blockly的圖形化程式編輯器可以一鍵把圖形程式轉成Python程式,讓學習上可以有二種選擇。
但實務上遇到了幾個問題,第一,就是系統還在開發,很多週邊硬體都還在開發,雖然ESP32底層都有了,但介面上沒有跟上,於是我花了一點時間才把DHT22整合進去,第二,執行到迴圈或是delay太久的時候,MicroPython的介面會沒有回應,學生必需了解如何使用 Ctrl+C停止執行程的程式回到系統中,有時學生忘了,多按了幾次執行,就會發生沒有反應或是開發視窗突然關掉的問題,然後我也發現,小五的學生對於如何使用 ctrl+c,其實是不會的,雖然教一下就懂,但一開始對於我口中的ctrl+c他們以為只是一個按鍵,他們找不到,或是分開按了ctrl,再按一次c,不了解組合鍵的使用方法,果然是還沒被大學荼毒過的孩子,不了解ctrl+c & ctrl+v的美好,不過大致上,上過一次課了,其實大部份就都會了,孩子的潛力無限啊。