利用Arduino裝置測定反應速率— 兼談此裝置的教學特色 / 鄭志鵬

星期五 , 1, 5 月 2020 在〈利用Arduino裝置測定反應速率— 兼談此裝置的教學特色 / 鄭志鵬〉中留言功能已關閉

利用Arduino裝置測定反應速率—
兼談此裝置的教學特色

鄭志鵬

臺北市立龍山國民中學
[email protected]

  •  何謂Arduino

Arduino是什麼?在創客(Maker)風潮席捲全球的這幾年,就算是不會寫程式的人,或多或少會聽過或看過這個名詞。實際上,Arduino開發板是一種開源硬體,裡面整合一些微處理器和控制器的電路板。簡單地說,它就是一台小電腦,有潛力可以做很多事,只是我們要教它,它才會做一些事。我們要怎麼教會這小電腦做事?就是用程式的語言來教會它。

其實,在日常生活中有很多電器裝置裡有一些具有單晶片的小電路板。它就像一台小電腦,由設計者寫入程式,就能讓這塊電路板具備特定的功能,在冷氣、冰箱、電視遙控器、音響和紅外線自動感應沖水系統等電子設備裡扮演某種角色。這不是什麼最新科技,而是人類社會已經使用很久的技術。

Arduino問世之後,這樣的技術就從專門的業界下放到普羅大眾。大眾可以用便宜的價格購買零件自己組裝,用相對簡單易學的程式語言寫程式並灌進去,就能擁有專屬於自己的,100%客製化的電子裝置。如果你問Arduino的玩家們「這個裝置到底可以作些什麼?」,他們會告訴你「什麼都可以啊,只要你想得到」。

在這幾年來,創客思維席捲教育圈,Arduino和其他相關的軟硬體,大量的出現在教育界中,學生和教師常以Arduino或其他開發板進行各種專案課程。這些課程大多是設計機器人、自走車或其他自動控制的裝置。這些專案課程可以訓練學生進行編程和機電整合等科技方面的學習。我身為科學教師,看到這些裝置的想法就是:「Arduino裝置可以用在科學教育上嗎?」如果你問Arduino的玩家們,他們也會告訴你:「可以啊,只要你想得到」。於是,在經過一番努力之後,我從一個寫程式和電子裝置設備的門外漢,慢慢學習並瞭解這些元件的運作原理,也慢慢有能力設計一些裝置來幫助科學課程的進行。

  • 科學實驗教學的挑戰

「探究學習」是科學教育的核心,學習探究自然現象,學生要知道如何觀察現象、提出假設、設計實驗、進行實驗、收集資料並做出結論。在中學階段,科學教師面臨的挑戰是,如何用淺顯易懂的方式,讓學生進行適當的實驗,取得可信的數據,並且學習如何分析數據做出論述。當然,這裡所謂的「適當」和「可信」的標準,是中學教育的標準,而非科學家的標準。

目前在中學課程裡面,取得數據的方式,有時會採取傳統的器材,例如:使用上皿天平,有時使用容易操作且容易取得數據的方式,例如:生物課用「接尺」來取得人體反應時間;化學課用硫代硫酸鈉與鹽酸反應產生不透明的硫沉澱,直到「遮住十字」的時間測定來測量反應速率。

以「遮住十字」的時間取得化學反應速率來說,就有很明顯的實驗誤差來自於觀察者判定的標準不一致。這樣的實驗方式取得的數據誤差很大,有時會造成實驗數據誤差大到無法分析。若要以高階的儀器來取得夠好的數據,通常就需要購買昂貴的器材。儀器價格太高或是難以取得夠好的實驗數據,也是科學教師不願意進行真實實驗的原因之一。

  • Arduino設計實驗裝置

我們可以利用Arduino來設計一個相對便宜、原理易懂且能取得相對精準結果的實驗裝置。這個裝置要以Arduino代替人眼來判定「遮住十字」的時間,能讓學生容易上手,而且在簡短的解說之後學生就能使用。

如何用Arduino組裝實驗裝置呢?我們可以製作一組光閘門搭配計時器,即可組裝完成。光閘門是由一組雷射模組(見圖一左)和光敏電阻模組(見圖一中)組成的。雷射模組是一個可以發出雷射的LED燈,訊號輸入就發光。光敏電阻模組是由一個硫化鎘的光敏電阻,串聯一個電阻,使環境光強度轉成電位訊號,並以Arduino讀取。我們設定亮度越高時,訊號的數字就越大,數字分布從0~1023。在實際使用時,將雷射直接打到光敏電阻上,可以將亮度輸出數字拉到約1000。沒有雷射光時,由於有環境光,數字有時會達到五六百甚至以上。此時,可以拿一個黑色塑膠套(例如熱縮套)套在光敏電阻上,就可以減少環境光的影響(見圖一右)。 

clip_image002[3] clip_image004[3] clip_image006[3]

圖一:雷射模組(左);雷射光射入的光敏電阻模組(中);以及套上熱縮套阻隔環境光的光敏電阻模組(右)

在操作此實驗裝置時,一開始先調整雷射方向,讓雷射打到光敏電阻上,再由Arduino收取光敏電阻的數值。放置裝有1M硫代硫酸鈉的燒杯(或試管)在光敏電阻與雷射模組之間,由於硫代硫酸鈉的水溶液是透明的,因此光敏電阻讀到的亮度數值是高的(見圖二左),此時設定一個數值作為閾值(threshold)(見圖二中),當光敏電阻數值低於閾值時,就代表「遮住」(見圖二右)。

clip_image008[3] clip_image010[3] clip_image012[3]

圖二:當雷射光直射光敏電阻時,顯示數值超過1000(左);用手遮住雷射時,顯示數值降低到327左右(中);以及用藍色旋鈕調整閾值到500,當亮度數值降低到500以下時,視為「遮住」(右)。

放置裝有1M硫代硫酸鈉的燒杯(或試管)在光敏電阻與雷射模組之間,設定並調整閾值後(見圖三左),倒入1M的鹽酸,並且按下紅色按鈕,讓計時器開始計時(見圖三右)。

clip_image014[3] clip_image016[3]

圖三:放置裝有硫代硫酸鈉水溶液的燒杯(或試管)在雷射與光敏電阻之間,調整容器位置,讓雷射光可以直射光敏電阻(左);在設定完成後,倒入鹽酸並且按下紅色按鈕,碼表開始計時,同時顯示亮度變化(右)。

隨著反應的進行,硫的沉澱會越來越多(見圖四左)。當硫的沉澱物會越來越多時,就會遮住雷射光,使光敏電阻的數值越來越低,低於設定的閾值時,就會自動停止計時(見圖四右)。

clip_image018[3] clip_image020[3]

圖四:當產生硫沉澱後,越來越多的雷射光會遮住,使光敏電阻數值下降(左);以及當亮度數值降低到閾值以下之後,計時器就自動停止計時,顯示反應時間(右)。

  • 實驗結果

在不同濃度的硫代硫酸鈉溶液和鹽酸混合之後,當計時器就自動停止計時(設定閾值為300),顯示反應時間。在同一條件下,進行三次實驗並取得平均反應時間。

使用不同濃度的硫代硫酸鈉溶液和鹽酸反應時間的實驗數據和處理,如表一所示。

表一:硫代硫酸鈉溶液和鹽酸反應速率的實驗數據

硫代硫酸鈉濃度
(M)

第一次
(s)

第二次
(s)

第三次
(s)

平均
(s)

時間倒數
(1/s)

0.4

33.33

32.66

33.19

33.06

0.0302

0.5

27.87

26.94

26.54

27.12

0.0369

0.7

18.84

18.84

18.96

18.88

0.0530

0.8

17.37

17.10

16.57

17.01

0.0588

0.9

15.24

15.91

15.78

15.64

0.0639

1.0

14.58

14.44

14.72

14.58

0.0686

以硫代硫酸鈉溶液的濃度對反應時間倒數作圖,其趨勢線如圖五所示。

clip_image022[3]

圖五:硫代硫酸鈉溶液的濃度與反應速率的關係

實驗發現:硫代硫酸鈉溶液的濃度與反應時間的倒數之間呈現線性關係,亦即硫代硫酸鈉溶液的濃度越高,反應時間的倒數越小。

  •  Arduino裝置進行實驗的優點

(一)接近學生學習的門檻

基本上,這個反應速率的測定與傳統課本的設定相同,只是以Arduino取代人的眼睛(傳碼表的手。解說實驗原理與傳統課程的差異不大。教師在解說實驗的時候,也可以先說明傳統課本設計的測量方式),讓學生討論傳統課本可能的缺點。引進Arduino裝置,讓學生比較兩種實驗方法的差別。

(二)實驗再現性高

以傳統實驗的方式,學生觀看「遮住十字」的判定時間,有時候會不確定地提出「到底遮住了沒?」。不同學生的判定標準有時差異很大,甚至差異高達50%。相對於傳統的作法,Arduino實驗裝置的再現性高。實際測試的結果,反應時間差異小於8%

(三)有機會討論「閾值」觀念

在中學階段的實驗,很少有機會探討「閾值」,例如:在「純水是不導電的,電解質溶解在水中時,水溶液會導電」。測試導電的裝置是電池和燈泡相接,然後中間電路被截斷。被截斷的部分插到水溶液中,再觀察燈泡是否發光來判斷水溶液是否導電。對國中生而言,測量的觀念就是很簡單的非黑即白。釐清「背景值」和「訊號」的觀念,對於國中生來說比較困難。因此教師在進行實驗的時候,要先設定閾值,讓背景值消失,讓訊號突顯出來,例如:串聯一個適當的電阻,或是選用雜質更少的水。在Arduino實驗裡,教師可以嘗試作簡單的說明。討論「什麼叫做被遮住」「數值降低到多少的時候,叫做遮住了」。這個閾值的設定,是實驗進行過程中的一部分。傳統的實驗方式,是用「眼睛看不到十字」作為閾值的觀念。只是對人來說,這個數值會浮動。以光閘門的實驗來說,因為要經由人為設定數值的關係,就可以藉由這過程簡單說明「閾值」觀念。

(四)提高課程效率

以數位化測量實驗數據,除了可以取得相對穩定的數值之外,還可以在實驗課程的設計上進行一些調整,讓課程進行更加順暢有效率。例如:在觀察水沸點的實驗中,我們想長時間加熱水來觀察水溫上升的趨勢,當溫度到達沸點時,繼續加熱不會讓溫度繼續上升的現象。如果實驗活動的設計是讓學生守在酒精燈旁,定時紀錄溫度的數據直到沸騰,往往需要耗費許多時間。如果使用Arduino裝置來進行實驗,設定每30秒取得一個數據。就可以在裝置架設好之後,開始實驗並自動收取數據。在這段時間,教師就可以先解說別的主題。等到水沸騰,再將數據製作成統計圖後,教師就可以解說水從常溫到沸騰的加熱趨勢線。

使用Arduino裝置,除了可以取得需要較長時間的實驗數據外,也可以取得極短時間的實驗數據,例如:測量聲音速度。如果要測量聲音速度,對一般中學實驗室來說,會遇到速度太快,時間太短的問題。若使用Arduino來進行測量音速,可以取得毫秒甚至微秒等級的時間間隔的數據,可以輕易的取得人類反應時間以內的實驗數據。

(五)客製化實驗裝置

最後也是最大的優點就是教師可以依照實驗的需求,製作自己的客製化實驗裝置。市面上有許多套裝的軟硬體可以用於課堂中進行實驗。然而,這些軟硬體的設計是不是符合教師上課的需求,那就不一定了。在這個創客的年代,身為一個科學教師,其實可以應用Arduino3D列印和雷射切割機等設備,製作一套自己的實驗裝備,視自己與學生的狀況進行調整功能,讓我們更能夠在課堂中進行探究實驗課程。

  • 提醒與注意事項

對於科學課程的進行,最重要的是要學生學習到科學的種種面向。使用方便取得數據的工具,有時候會讓「取得數據」的過程太過輕易而缺少科學實驗學習的深刻感受。教師有時候會希望學生去感受守在實驗裝置旁邊,耐心的取得數據的過程,細心的操作器材,以取得較精準的數據。這些情意面的學習,可能會因工具的方便使用而缺乏或弱化。在教學目標中,希望學生學習某一種測量的技術或背後的原理,也會因工具的改變而產生變化。因此,在使用Arduino或其他方便的工具時,在達成方便或加速的目的之下必須要小心使用。原本該有的技能和情意方面的學習會不會被弱化了?如果會的話,教師應該視情況而定。在這個單元,若因運用Arduino工具而削弱的部分,應該在其他單元強化。

另外,使用Arduino進行測量,有一個部分要非常小心的就是往往這些測量的裝置並沒有經過校正,可能會有數據不準的問題。以我的經驗來說,在一般教學的使用上,是綽綽有餘的。如果只是要觀看定性的比較數值,那更是沒有問題。然而,如果要取得在科學研究上精準的數據,或是在測量體溫判斷是否發燒的醫療用途的話,就必須更謹慎的看待數據的精準度了。

  • 結語

Arduino是一個方便有效的工具,可以幫助我們達成許多教學目標,也能有效的增進教學的效率。雖然教師剛開始接觸對Arduino不熟悉,但是經過一段時間的學習,一定可以自己製作一些工具來輔助教學。在我學習Arduino的過程中,領悟到許多以前不甚清楚的測量相關的概念,是非常有價值的學習。在相對便宜的價格和客製化的優點之下,教師一定可以讓探究實驗的教學有更多可能性。