用Arduino配合单摆测重力加速度

标签:
创客教育arduino综合活动 |
分类: 生活技术探究 |
单摆测重力加速度是高中阶段必修的物理实验,该实验采用误差均分原理测量。在一定误差范围内,近似的周期测量公式为:T=2π√L/g,将长度固定就可以发现g∝1/T2。传统物理实验多次测量求取周期平均值,但是使用秒表手动计时和手动计算周期,不仅费时费力,并且也存在一定的人为误差。因此我们想使用Arduino UNO,自己动手制作一个单摆测重力加速度的装置。
一、单摆测重力加速度的设计
在动手制作单摆测量重力加速度前,我们首先得知道单摆和周期的公式:T=2π√L/g,根据这个公式我们可以换算出g=4π2L/T2,发现只需要保证L的大小不变,测量周期的大小带入公式即可。
现在测量重力加速度的问题就转换成了测量周期的问题,我们通过查找资料我们发现为了获得比较准确的周期数值,我们需要注意两个问题:1.多次测量求取平均值;2.初始角度小于5°。
在结构搭建方面,我们使用铁架台做底座,使用细线连接试管夹和小钢球,具体如1所示。为了检测小球转动的次数我们使用红外数字壁障传感器,只要测量出小球通过的时间,总时间除以总次数就是平均周期了。
http://s11/mw690/001RTfFJgy71uVYFAee5a&690
图
1
在正式实施的时候用手控制小球的启动,容易出现小球初始角度不一致和小球不停旋转的问题,这对于结果影响很大。因此我们就想使用电磁铁控制小球释放,当给电磁铁通电时,电磁铁吸引小钢球,按下按钮电磁铁自动释放。但是我们发现身边的电磁铁电压是12V,而我们的Arduino UNO只能提供5V的电压,因此需要加入一个继电器转换电压。为了方便安置电磁铁我们使用3D打印机制作了一个配套的底座,如图 2 所示。
http://s13/mw690/001RTfFJgy71uVYGWyo8c&690
为了可以使实验脱离电脑,我们给装置安装了一个LCD屏,并给Ardunio UNO提供一个外接电源。在实际操作过程中,小球转动的次数对于结果的影响很大,但是每一次手动改变记录的次数又很麻烦,我们加入角度传感器,通过控制角度传感器的角度可以实现次数的记录。最后通过测试,我们发现在本实验中记录40次结果是最好的。
综上所述,制作本品所需要的材料和说明如表 1所示:
名称 |
|
说明 |
Arduino UNO |
1个 |
单摆控制模块 |
红外数字壁障传感器 |
1个 |
检测小球是否通过 |
Arduino拓展板 |
1个 |
方便连接各种传感器 |
I2C LCD1602液晶模块 |
1个 |
结果呈现 |
7.4V 2200MA 锂电池 |
1个 |
提供电源 |
角度传感器 |
1个 |
控制计算单摆通过的次数 |
电磁继电器 |
1个 |
向电磁铁提供12V的电压 |
电磁铁 |
1个 |
控制单摆小球转动的初始角 |
铁架台(试管夹) |
1个 |
固定单摆 |
金属小球(有孔) |
1个 |
单摆小球 |
按钮 |
1个 |
控制电磁铁的关闭 |
纸盒 |
2个 |
封装传感器和Arduino UNO |
细线 |
若干 |
连接小球和试管夹 |
胶带 |
若干 |
固定传感器 |
二、代码编写
本次实验代码比较简单,我们选择北京师范大学创客教育实验室开发的图形化编程软件Mixly,使用Mixly这款软件编写Arduino代码非常简单,具体如图 3所示。
http://s10/mw690/001RTfFJgy71uVZ13D329&690
图3 Mixly代码
三、测试效果
通过点击按钮小球释放,单摆运行一段时间后。显示屏上直接显示最终结果。本次实验运行的结果达到9.75,与实际数值符合。结果如下图 4所示:
http://s15/mw690/001RTfFJgy71uVZGGbYee&690
通过实验我们发现:为了获得准确的实验结果,我们需要注意以下内容:
1.
2.
3.
4.
5.
四、知识拓展
通过数字化工具,重新对传统物理实验进行设计并不是一件很难的事情,例如机械能守恒和牛顿第二定律的验证等问题。在传感器的帮助下,能有效减少误差,实验效果更加明显。而且,在Mixly之类的图形化编程软件的帮忙下,Arduino的编程其实十分简单,在中学阶段传感器和编程知识是很有必要的。
本文作者:李守良 张敬云 谢作如
本栏目的系列博文,为中国信息技术教育《生活技术探究》栏目的专题文章。转载请标注出处。