本實(shí)驗(yàn)所需器件與第二個(gè)實(shí)驗(yàn)相同。但是連線方式有所區(qū)別,先將Arduino的電源輸出接到兩個(gè)光電門,然后再將光電門1的信號(hào)輸出線接到Arduino的第10個(gè)端口,光電門2的信號(hào)輸出線接到Arduino的第11個(gè)端口。對(duì)Arduino寫(xiě)入下列程序(只有主要程序段):
……
void loop () {
if(digitalRead(inputPin1) ==HIGH&&i1==0) //如果光電門1被擋光,則運(yùn)行
{ t1=micros(); //將當(dāng)前系統(tǒng)的時(shí)間賦值給t1,精確到1微秒
if(digitalRead(inputPin2)==HIGH&&i2==0) /如果光電門2被擋光,則運(yùn)行
{ t2=micros();//將當(dāng)前系統(tǒng)的時(shí)間賦值給t2,精確到1微秒
if(digitalRead(inputPin1) ==LOW&&i1==1)//如果光電門1擋光結(jié)束,則運(yùn)行
{ tt1=micros(); //將當(dāng)前系統(tǒng)的時(shí)間賦值給tt1
if(digitalRead(inputPin2)==LOW&&i2==1)
{ ……與光電門1的代碼類似,此處省略…… }
……
可以看到Arduino端程序的作用是發(fā)送兩個(gè)光電門各自被擋光的時(shí)間間隔,利用字符“l”和“r”來(lái)區(qū)分兩個(gè)光電門。這段程序能夠識(shí)別發(fā)送的時(shí)間間隔是哪個(gè)光電門的。所以在Flash端可以實(shí)現(xiàn)更多的功能。下面筆者介紹用此傳感器進(jìn)行《探究碰撞中的不變量》課件的制作。
本實(shí)驗(yàn)需要測(cè)量的有質(zhì)量和速度,需要計(jì)算的有mv、mv2、v/m等。質(zhì)量用天平測(cè)完后直接填入課件中,速度由光電門測(cè)得的數(shù)據(jù)計(jì)算得到。
因?yàn)槭翘骄空n,所以需要計(jì)算的一些量不能全部都顯示在課件上,只有當(dāng)學(xué)生猜想到某個(gè)量時(shí),才可以將這個(gè)量的計(jì)算值顯示出來(lái),而這是普通的商用傳感器軟件所沒(méi)法完成的。除了這個(gè)功能外,還需要在課件上實(shí)時(shí)的顯示滑塊的位置,以便使學(xué)生能更直觀的了解到滑塊的運(yùn)動(dòng)。
筆者根據(jù)上訴想法,制作了《探究碰撞中的不變量》這堂課的實(shí)驗(yàn)部分課件。以下就是一些課件界面的截圖,有關(guān)代碼部分因?yàn)樽謹(jǐn)?shù)過(guò)多省去。
|
首先顯示的界面很簡(jiǎn)單,只有一些最基本的測(cè)速部分。導(dǎo)軌上也只有一個(gè)滑塊。可以通過(guò)這個(gè)來(lái)講解測(cè)速原理。在實(shí)際實(shí)驗(yàn)時(shí)課件上滑塊的位置會(huì)隨著真實(shí)滑塊的運(yùn)動(dòng)而改變位置,兩個(gè)速度框里會(huì)實(shí)時(shí)顯示滑塊通過(guò)光電門時(shí)的速度。在課件的右下角有一些有圖案的按鈕,通過(guò)點(diǎn)擊這些按鈕可以實(shí)現(xiàn)不同情況的碰撞探究。以下是探究?jī)蓚(gè)物體相對(duì)運(yùn)動(dòng)發(fā)生碰撞的情況。可以看到點(diǎn)擊按鈕后會(huì)出現(xiàn)一個(gè)用來(lái)記錄實(shí)驗(yàn)數(shù)據(jù)的表格。此時(shí)只要填入兩個(gè)物體的質(zhì)量和擋光片的寬度,然后使兩個(gè)滑塊相對(duì)運(yùn)動(dòng)發(fā)生碰撞,課件便會(huì)自動(dòng)計(jì)算出兩個(gè)滑塊碰前和碰后的速度,并可以通過(guò)點(diǎn)擊填入速度按鈕來(lái)選擇是否采用這組數(shù)據(jù)。
|
當(dāng)采集到了三組數(shù)據(jù)后,可以讓學(xué)生通過(guò)這些數(shù)據(jù)進(jìn)行猜想,然后通過(guò)學(xué)生的猜想來(lái)進(jìn)行具體數(shù)據(jù)的計(jì)算。這些可以通過(guò)課件右下角的幾個(gè)彩色圓點(diǎn)按鈕來(lái)實(shí)現(xiàn),當(dāng)然我們?cè)谥氨仨氃O(shè)計(jì)足夠多的猜想結(jié)果。點(diǎn)擊原點(diǎn)按鈕后顯示的情況如下圖所示:
|
通過(guò)點(diǎn)擊計(jì)算按鈕,課件便會(huì)計(jì)算出我們想要計(jì)算的結(jié)果。通過(guò)觀察這些結(jié)果來(lái)驗(yàn)證學(xué)生的猜想是否正確。