王江南,郑相相,林彤彤,冉诗勇
(温州大学 物理与电子信息工程学院, 浙江 温州 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.