王江南,鄭相相,林彤彤,冉詩勇
(溫州大學 物理與電子信息工程學院, 浙江 溫州 325035)
斜面上的滑塊運動和自由落體運動是牛頓第二運動定律應用的典型范例, 利用實驗測量這些運動能加深學生對牛頓第二定律和滑動摩擦的理解, 而非停留在簡單的理論分析上. 物理實驗中多采用氣墊導軌方法[1-2]測量斜面運動. 但這種方法消除了摩擦力,不能研究摩擦力對運動加速度的影響. 而且氣墊導軌等實驗裝置多體積龐大,價格較貴,只適合在專業實驗室使用. Arduino[3]作為開源的軟硬件平臺,自2005年問世以來已在各領域得到了廣泛的應用. 在實驗教學領域,可以用 Arduino 設計完成物理實驗[4-10],本文介紹利用Arduino 和樂高積木[11-12]測量有摩擦力的斜面滑動以及自由落體運動.
考慮傾角為θ1的斜面上質量為m的滑塊運動,其運動方程為
mgsinθ1-μmgcosθ1=ma1,
(1)
其中g為重力加速度 (當地g=9.792 m/s2),a1為滑塊運動加速度,μ為斜面的滑動摩擦系數. 由(1)可得摩擦系數為
(2)
實驗時可先通過式(2)推算斜面滑動的摩擦系數. 然后, 理論上可推得角度為θ2的斜面上滑塊運動加速度為
(3)
同時實驗上可測得傾角為θ2的實驗測量值a實驗, 與理論值相比較,以驗證牛頓第二定律.
假定滑塊或落球從初速度為0狀態以勻加速度a作直線運動, 實驗中可以測量得到運動時間t以及運動距離s, 兩者與加速度a有關系為
(4)
式(3)可用于斜面滑動和自由落體運動的加速度測量.
斜面滑動測量實驗和自由落體運動實驗用Arduino電路分別如圖1~4所示.
斜面滑動實驗裝置: 利用樂高積木搭建一斜面, 如圖2所示. 所用的積木是光面積木, 以形成均質的斜面. 斜面的傾角可通過增加一側的樂高積木改變. 斜面頂端積木貼導電銅箔,如圖2(b)所示, 底部兩側通過積木搭建形成寬1.6 mm的小孔[圖2(c)]. 利用2×2積木與光面積木結合形成滑塊, 滑塊光面積木側邊也貼有導電銅箔[圖2(c)]. 將電路的紅外發射與接收傳感器置于底部積木小孔兩側, 讓紅外線能通過小孔發射并被接收端檢測到. 頂部2塊銅箔分別用有鱷魚夾的導線連接, 形成電路的A和B兩點.

圖1 斜面滑動實驗用Arduino電路圖

(a)

(b)

(c)圖2 斜面滑動實驗裝置搭建實物圖

圖3 自由落體實驗用Arduino電路圖
自由落體運動實驗裝置: 利用樂高積木搭建實驗測量裝置,如圖4(a)所示. 利用了孔梁等科技系列積木構建了2個夾子. 1個夾子用于夾住直徑1.2 mm 的鋼球[圖4(b)],另一個夾子用于監測鋼球落到底部的撞擊行為[圖4(c)]. 每個夾子的兩臂都貼有導電銅箔, 用有鱷魚夾的導線連接,形成電路的A和B兩點 (夾住鋼球的夾子)與C和D兩點 (監測鋼球落到底部的夾子).

(a)

(b)

(c)圖4 自由落體運動實驗裝置搭建實物圖
Arduino IDE 編寫斜面滑動實驗程序如下:
int sensor_pin=8;
int resistor_pin=A1;
unsigned long start_time,end_time,dt;
int previous_value=1023;
int present_value;
int present_state;
int previous_state=HIGH;
void setup(){
Serial. begin(9600);
delay(100);
}
void loop(){
present_value=analogRead(resistor_pin);
//取得sensor_pin的值
//判斷A和B兩點是否斷路,如果是則表明滑塊開始滑動,記錄此時時間
if(present_value>1000&&previous_value<100){
start_time=millis();
delay(10);
}
previous_value=present_value;
//判斷紅外傳感器是否因滑塊運動導致光線被遮住,以致信號改變
//記錄此時時間并得到滑塊運動時長
present_state=digitalRead(sensor_pin);
if(present_state==LOW&&previous_state==HIGH){
end_time=millis();
dt=end_time-start_time;//滑塊運動時長
Serial. print("dt=");
Serial. println(dt);
delay(10);
}
previous_state=present_state;
}
該程序主要利用電阻和紅外傳感器作為探測滑塊開始和運動結束的工具,利用millis()函數得到各自的時間點(單位ms),相減得到滑塊運動時間. 自由落體實驗所用程序與上述程序類似,不同在于底部監測落球行為的數據采集口設置為模擬端口.
斜面滑動實驗:燒錄程序至Arduino電路板,打開IDE串口監視窗,顯示數據. 實驗時,滑塊側邊緊貼斜面頂部,此時A與B兩點是通路,模擬接口的信號值為0. 釋放滑塊時,兩點形成斷路,模擬接口的信號值為1023. 可以通過Arduino監測信號值確定轉變開始時間,也即滑塊滑動開始時間. 當滑塊經過下端小孔位置時,積木遮住紅外線,此時時間可通過Arduino監測紅外傳感器接收端信號確定. 2個時間點相減即為滑塊從靜止到運動經過小孔位置所經歷的時間. 初始位置與經過小孔的末端位置的距離可測,利用式(3)可測量得到滑塊運動加速度. 為提高測量精度,可測量多次,將多次滑動的時間測量值取平均用于計算加速度.
自由落體運動實驗: 燒錄程序至Arduino電路板,打開IDE串口監視窗,顯示數據. 實驗時,先用夾子夾住鋼球置于裝置頂部,此時A與B兩點是通路,模擬接口的信號值為0. 將夾子松開釋放鋼球,兩點形成斷路,模擬接口的信號值為1023. 利用Arduino可確定該轉變開始時間,即自由落體運動開始時間. 當鋼球接觸到腔底部的彈性夾子時,落球的沖擊會造成夾子兩臂脫離接觸,C和D兩點斷路,端口模擬信號變為1023,利用這一轉變可確定此時時間. 該時間減去開始時間即為自由落體運動時長,利用式(3)可測量得到自由落體加速度.
表1給出了4種斜面傾角情況下的加速度測量結果以及與理論值的比較. 從表1可看出: 1) 加速度測量值與理論值符合良好,誤差控制在2%以下;2)角度低時的時長隨機偏差較大,可能是由于每次滑塊運動時與斜面的接觸位置不同等原因造成. 因此,為提高測量準確度,對時長進行了多達48次測量.
利用測量得到的滑動摩擦系數,可計算出滑塊下滑的臨界傾角26.8°. 在實驗中發現當傾角為29.0°時,滑塊處于滑動的臨界狀態. 該實驗角度測量值大于公式推算值應是因為靜摩擦系數普遍大于滑動摩擦系數,從而實際的臨界角度要大于用滑動摩擦系數計算得到的臨界角度.
表2給出了自由落體實驗3種落體高度的自由落體時長和相應的重力加速度測量結果. 其中時長為對8次測量結果的算術平均. 從表2可看出:1)重力加速度測量的相對不確定度控制在1%以下,誤差控制在1.5%左右;2)但當地重力加速度9.792 m/s2并未落在重力加速度測量結果給出的范圍內. 這表明測量過程中存在系統誤差,推測可能與Arduino程序的時間點確定有關.

表1 斜面滑動實驗測量結果

表2 自由落體實驗測量結果
利用Arduino與樂高積木結合實現了斜面滑動和自由落體運動的測量. 整個實驗可在普通的課桌上進行,不需要專門的實驗器材或實驗加工,實驗成本可控,很好地體現了Arduino與樂高積木的優點,其靈活性和簡便性可降低了物理實驗的門檻.
[1] 姜源,徐菁華,趙騫,等. 在氣墊導軌上開發研究性創新性實驗課題[J]. 實驗室研究與探索, 2013,32(9):128-131.
[2] 鄧正才,何焰藍,丁道一. 氣墊導軌上運動物體加速度測量方法的改進 [J]. 物理實驗, 2006,26(6):39-41.
[3] Banzi M, Shiloh M. Getting started with Arduino: the open source electronics prototyping platform [M]. San Francisco:Maker Media, Inc., 2014.
[4] Kubinova S, Slegr J. Physics demonstrations with the Arduino board [J]. Physics Education, 2015,50(4):472- 474.
[5] Galeriu C, Edwards S, Esper G. An Arduino investigation of simple harmonic motion [J]. Physics Teacher, 2014, 52:157-159.
[6] Galeriu C, Letson C, Esper G. An Arduino investigation of theRCcircuit [J]. Physics Teacher, 2015,53:285- 288.
[7] Zachariadou K, Yiasemides K, Trougkakos N. A low-cost computer-controlled Arduino-based educational laboratory system for teaching the fundamentals of photovoltaic cells [J]. European Journal of Physics, 2012,33(6):1599-1610.
[8] 單旭晨,唐廷翱,謝慶志,等. Arduino 在物理實驗中的應用 [J]. 物理實驗,2014,34(10):29-31.
[9] 朱軼,曹清華,單田華,等. 基于 Android、樹莓派、Arduino、機器人的創客技能教育探索與實踐 [J]. 實驗技術與管理, 2016,33(6):172-176.
[10] 楊振乾,張旭東,王子城,等. 基于 Arduino 單片機的邁克爾遜干涉儀測量改進 [J]. 實驗室研究與探索,2016,35(1):50-53.
[11] Celli P, Gonella S. Manipulating waves with Lego bricks: A versatile experimental platform for metamaterial architectures[J]. Applied Physics Letters, 2015,107(8):081901.
[12] Ralph D, Rochester J. Building language using lego bricks: a practical guide [M]. London:Jessica Kingsley Publishers, 2016.