張敬雲 江蘇省鎮江高級中學
隨著開源硬體的廣泛應用和不斷發展,其與實驗教學深度融合,開展數位化實驗教學變得更加容易。因為除了計算機,只要再給學生一些通用的傳感器、主板,他們便能利用信息化手段、數位化設備自由地創造性地完成一些實驗項目,而不再只是單純地利用配套的資源重複教材中的實驗。目前,高中信息技術教材選擇的程式語言是Python語言,那麼如何開展利用Python給開源硬體編程進行數位化實驗的教學呢?Jupyter的應用給我們提供了一種新的思路。筆者認為,基於Jupyter來編寫數位化實驗的交互式教材進行教學大可一試。
Jupyter這個名字是它要服務的Julia、Python和R三種語言的縮寫,但目前能使用的語言Jupyter 都支持。Jupyter全稱為Jupyter Notebook。它是一款免費、開源的交互式Web工具,它能夠讓用戶將軟體代碼、運行結果、說明文本和多媒體資源組合在一個易於共享的文檔中。換句話說,Jupy ter Notebook是以網頁的形式打開,可以在網頁頁面中直接編寫代碼和運行代碼,代碼的運行結果也會直接在代碼塊下顯示。
用Jupyter Notebook進行教學的主要優勢如下:
①集各功能於一體,適合實驗數據分析。Jupyter Notebook能將所有需要處理的程序、呈現的內容收歸一處,還支持導出HTML、Markdown、PDF等多種格式的文檔。
②交互式展現。頁面結構是以Cell形式組織的,每個Cell都是獨立的單元,能夠實現文字、圖像、表格、程序代碼等混排格式。在交互式插件的支持下,它還可以呈現一些互動的可視化內容,如縮放的地圖或者旋轉的三維模型等。
基於Jupyter編寫的單擺測重力加速度的實驗案例
1.實驗說明
單擺測重力加速度是高中階段的物理實驗,該實驗對掌握單擺測周期等物理知識有重要的意義。傳統物理實驗需要藉助秒表工具,並通過手動計數以及手動計算來完成,不僅費時費力,而且存在一定的人為誤差。因此,筆者利用Arduino和周邊的電子模塊,製作一個自動化的單擺測重力加速度的實驗裝置,使用這款裝置,無需手動計數及計算便可通過計算機及時得到所需數據。
2.實驗目的
學會利用開源硬體及周邊電子模塊自製實驗裝置,配合單擺測重力加速度;培養學生實踐動手能力。
3.實驗原理
單擺在擺角小於5度的震動是簡諧運動,其固有周期T=2π√L/g, 根據這個公式可以換算出g=4π2L/ T2。可見,測出單擺的擺長L和周期T,就可以求出重力加速度。
4.實驗方案設計
使用Arduino配合單擺測重力加速度的設計並不複雜。最主要的是讓學生在理解單擺實驗原理的基礎上,確定使用何種傳感器檢測小球,從而開始自動計時及記錄單擺擺動的次數。綜合考慮實驗目的及課堂時間,筆者設計了如下表所示的實驗方案。
5.硬體搭建
紅外數字避障傳感器也稱紅外接近開關,是一種集發射與接收於一體的光電開關傳感器。傳感器在接收到信號後,會引起後側指示燈的亮滅。這款傳感器背面有一個電位器,可以根據需要調節障礙的檢測距離。當探頭前方無障礙時, 紅外數字避障傳感器輸出高電平, 有障礙時則相反。
硬體搭建的實物圖略,接線圖如下圖所示,本實驗將紅外數字避障傳感器接在了8號數字針腳。
6.編寫程序
程序編寫需解決兩個問題:一是要記錄單擺來回擺動的次數和時間;二是根據檢測到的次數和時間計算單擺的周期,從而計算重力加速度的值並輸出。由於單擺剛開始擺動時不是很穩定,所以有必要略過前幾次擺動的次數及時間,這裡筆者從單擺擺動的第三次開始計時和計數。測出需要的擺動次數和時間後,就可用總時間除以總次數求出單擺的周期,進而計算重力加速度的值。需要注意的是,每次傳感器檢測到小球經過最低點時, 是經過了半個周期,因此,在計算單擺周期時,需將次數除以2,具體程序掃描下方二維碼。(擺長=擺線長+小球半徑,本實驗擺長L設為1米)。
7.效果測試
運 行 程 序,等待 計 算 機與Arduino通過串口完成通信連接。然後釋放小球,待紅外避障傳感器第63次檢測到小球時,周期及重力加速度的值便自動輸出,本次實驗測試的結果約為9.8與實際數值完全一樣,運行結果掃描下方二維碼。
設計物理、化學、生物等學科的實驗項目很多,拿物理學科來講,可以利用紅外避障傳感器測單擺周期及重力加速度,利用聲音傳感器探究噪聲的波形,利用光線傳感器探究不同物質的透光性能等。利用開源軟體和開源硬體中的各類傳感器進行實驗教學,不僅加強了學生實驗探究和工程實踐的結合,同時也激發了學生的創造性思維,提升了學生數位化學習能力和科學素養。這是進行數位化實驗教學的一種新的嘗試,本文主要對物理實驗做了研究,我們期待更多不同學科的教師能夠參與其中。
參考文獻:
[1]劉徵,郭君紅.探究Jupyter Notebook編程工具在項目式學習中的應用[J].教育科技應用,2020(07):29-33.
[2]吳建惠,黃凱宇.基於arduino開源項目的自主開發物理數位化實驗室[J].中學物理,2017(10):29-31.
本文來源:《中國信息技術教育》