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