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