12959| 14
|
[进阶] 开源硬件X物理实验(一) - 自由落体运动测重力加速度 |
本帖最后由 gx 于 2021-8-23 23:54 编辑
实验目标: 通过使用Arduino主控板与一些传感器,测得自由落体运动中一些物理量(下落高度及下落时间),实验数据将被收集至上位机,通过一些常用的python数据处理的方式计算求得重力加速度。 (模式一:无上位机,直接记录数据即可) (模式二:数据通过串口上传至电脑,通过python来做数据处理) 实验介绍: 自由落体定义,物体的最初状态是静止的,物体下落中假定除了重力外不受其它力(如:空气阻力)的作用。它下落的路程的长度h与经过的时间t关系为 h=1/2gt^2 在这个实验中,我们将测量在不同的高度h下的下落时间t,可以通过多组数据作出h-t^2图像,拟合得到的直线斜率k=1/2g,从而求出重力加速度g=2k。 (根据h-t^2图像求得斜率k,g=2k) (实验装置细节一) (实验装置细节二) 实验装置介绍及接线方式: - 主控板,Romeo BLE mini (可以换成其他arduino主控) - 按键,数字大按钮模块 - D3 - LCD,LCD1602 RGB彩色背光液晶屏(可选,如果不需要python做处理数据和分析,可直接通过LCD记录数据。)- I2C - 超声波,URM37 超声波测距传感器(可选,调节高度后可以用米尺来测距。)- ECHO-10 TRIG- 11 - 震动传感器,压电陶瓷震动传感器。(安装在一个EVA泡沫中,用于增大碰撞面积。)-D2 - 夹持器(自制,导电铜箔胶带)-D8 (实验装置细节三) 在这个实验中,有两个时间点需要记录,小球释放的时间点和小球落地时间。小球落地时间点是通过振动传感器检测撞击。小球释放的时间点是通过检测夹持器上的信号。具体原理如下, 夹持器夹具两端贴有导电铜箔胶带,一端连信号线(D8),另一段连接GND。小球为金属材质,具有导电性。 D8引脚被设置为了输入上拉(input pull-up)模式,因此当金属球没有被放置时,处于高电平。 加持小球时,由于金属小球具有导电性,类似于一根导线,信号端D8直连GND,信号从高电平变为低电平。 释放小球后,夹持器两端D8和GND断开,D8引脚信号从低电平变为高电平。(小球释放的信号,此刻的时间点会被记录下来。) 实验原理: 1. 超声波传感器用于测量当前的高度(h)。 2. 夹持器用于检测金属球是否被释放。当金属球被释放后开始计时(记录释放时间t1)。 3. 震动传感器用于检测金属球的撞击,当金属球撞击到震动传感器后,停止计时(记录撞击时间t2)。 4. LCD显示下落高度h及下落时间(t2-t1),同时数据通过串口传给电脑。电脑端的程序会以csv的格式保存,记录下落高度和下落时间。(如果不需要通过电脑来做数据拟合,可以直接通过LCD获取高度和下落时间,然后通过手工作图来求斜率) (采集的数据可能会存在一些比较离谱数值,需要通过预处理的方式将离群点去除,这里不展开讲,直接使用的是预处理好的数据通过线性回归来计算得到斜率) (电脑端的程序会以csv的格式保存) 5. 导入以下几个常用的库文件,LinearRegression是sklearn中线性回归模型。 6. 绘制出height-time散点图,我们可以大概的看出是一条曲线。 7. 通过线性回归的方式,拟合出一条最好的直线。而这条直线的斜率k = 1/2g。 8. 计算得到斜率k后,我们就可以求出重力加速度g了,由于记录数据的单位为厘米,因此需要转化为米。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed