作者:Ted Lee
2020 年 10 月,小彼特教育基金會(Micro:bit Educational Foundation)(https://microbit.org)發行了 V2 版的新版硬體,V2 只比 V1 小幅度地增加了三項主要的新板載(on board)功能(https://reurl.cc/AOM1rd):商標觸控(logo touch)、麥克風(microphone)與蜂鳴器(buzzer)。
看熱鬧也要看門道,曹齊平老師說:
「基礎」知識的學習應該是了解底層最共通的原理、原則,而不是盲目無止盡地去競逐新科技的應用。
因此,就讓我們以在 vMaker 連載的三篇文章來闡述這個學習理念,並且我們也援用曹老師的科學魔法車(https://reurl.cc/W104m7)的電學基礎小實驗,落實「動手做以建立知識直觀」的學習根本大法。
建立直觀
小彼特 V2 版在它正面的商標處(圖2)板載了電容式(capacitive)觸控的功能:當我們用指尖去輕觸這個商標時就會觸發小彼特的硬體觸控電路,然後執行對應的處理程式,例如:播放音效。功能展示請參考以下影片。
電容式觸控
電路原理
V2 版新加的這個觸控功能,其實是實作了一個 RC 延遲(delay)電路(圖 3)。而我們也可以用其他未實作此電路的接腳,以外接電路的方式來達成觸控的功能—甚至使用 V1 版也成(圖 4)。
如圖4的藍色虛線所示,當手指未觸碰電路時,3V → 10MW → P8 將形成電路迴路(circuit loop)。然而,當我們用手去觸碰圖3 中的 A 點時,手指頭等效於圖中右邊的由 A 並接到地的電容(cpacitor)而讓電路形成延遲的效果(https://reurl.cc/XVZqqg)。此時,電路 A 點的電位會因為這個電容慢慢充電而致使電位爬升的瞬間形成「低(0) → 高(1)」的變化。所以,我們就可以利用這個原理來偵測手指是否按壓了 A 點。
也就是說,當手指觸踫了 A 點(圖4),小彼特的 P8 腳位就會收到 0。註:讀者可自行使用電錶併接驗證之。詳細的解說請參考影片。
原理解說影片
程式原理
為了維持小彼特輸入接腳(pin)的高邏輯準位(logic level),影片中外接了一顆 10MW 的上拉(pull-up)電阻(https://reurl.cc/ERVKAn) 。所以,我們在小彼特一開機時(圖5)就將晶片(chip)內的拉升電阻關閉。
接著,只要用手去觸碰 P8 腳位(圖4),它的電壓會因為手指的等效電容短暫充電而致使 A 點(圖3)電位降低。此時,就讓小彼特透過板載的蜂鳴器(buzzer)發出特效音(圖 6)。
完整程式碼可由 https://reurl.cc/QbYpko 下載之。
關於 P0、P1 和 P2 的觸控
在小彼特的官方文件中(https://reurl.cc/7pVxv1)指出,無論是 V1 或 V2, P0、P1 和 P2 這三隻接腳已內建了觸控電路,我們可以從圖 7 的電路圖中(https://reurl.cc/XVQn8E)的紅色框標示處很清楚地看到。
課程設計
運用小彼特的這個觸控功能,我們設計了「觸控點播」這個教學活動來引導學員們體驗它。當玩家第一次觸碰小彼特的豬鼻子時,播第一首歌。第二次觸碰時,播第二首…。完整的解說如以下影片所示。
完整程式碼可由 https://reurl.cc/KQO3nj 下載之。
分享翦影
延伸學習
1. 請讀者們試試看,如果一直按著這個觸控點(V2 版的商標或外接電路)時,會發生什麼狀況?
2. 改用商標觸控的事件積木(圖 ),試試看按下(pressed)、觸碰(touched)、放開(released)和長按(long pressed)這四種操作的控制差異性。
3. 圖4的接線圖中,我們使用了 10M 做為上拉電阻,好奇心的讀者們一定會追問:為什麼選它?坐而言不如起而行,自己動手更換這顆電阻值來觀察會發生什麼事吧?(https://reurl.cc/AOM1Zp)
4. 本文介紹的電容式觸控技術正是時下流行的觸控螢幕(touch screen)的基本原理。讀者們可進一步觀看解說影片。