大数跨境
0
0

【教学设计】信息技术与物理学科深度融合案例-用单摆测量重力加速度

【教学设计】信息技术与物理学科深度融合案例-用单摆测量重力加速度 蘑菇云创造
2022-11-21
3
导读:跨学科融合教学案例

点击蘑菇云创造 关注我们


信息技术

与物理学科

深度融合案例  

用单摆测量重力加速度


课程背景


“用单摆测量重力加速度”是人教版(2019)高中物理选择性必修第一册第二章第5节的内容。


本节课将通过利用DIS实验技术与传统的实验方法相结合进行“单摆法测重力加速度”。


在日常的中学物理教学中,引导学生建立物理概念和掌握物理规律是教师的主要工作,而以学生分组实验的形式进行教学是一种很好的手段。但是对于一些传统的学生分组实验,实验存在无法克服的系统误差,其实验的数据往往和理论值相差较大。这样,实验的说服力就较弱了,往往让授课教师的处境非常尴尬。


在“单摆法测重力加速度”这个学生分组实验中,我们在结合传统的实验基础上,再利用DIS实验技术进行“单摆法测重力加速度”,这样可以取得更明显的实验效果。


"DIS" 是英文"DigitalInformation System"的缩写,又称“数字化信息系统”。是由“传感器+数据采集器+实验软件包(教材专用软件、通用扩展软件)+计算机”构成的新型实验系统。在物理学中有很多物理量,如距离、位移、力、速度、温度、压强、电压、电流、等,都可以用DIS进行测量。该系统成功地克服了传统物理实验仪器的诸多弊端,有力地支持了信息技术与物理教学的全面整合。


演示视频


课前准备


教师准备:本节课使用国产开源硬件“行空板”,在传统学生分组实验中,“行空板”做为秒表,学生利用此“秒表”手动记录单摆周期。在DIS实验中,采用行空板、光电传感器实验器材,使小球摆动时在最低点通过光电传感器,由行空板直接显示单摆周期,计算重力加速度,并可以将每个周期记录在电子表格中。


实验目的


1

测定单摆周期,验证单摆振动的等时性。

2

利用单摆测量当地的重力加速度。

3

了解光电传感器的使用,学习用行空板数字化信息系统获得数据并处理数据的方法。


实验原理


当摆角较小时(小于5°),单摆做简谐运动,单摆周期跟单摆的摆线长度和当地的重力加速度有关。


根据单摆的周期公式

T=2π√(L/g) 

可得:

g=4π²L/T²

其中,L为摆长。


实验仪器


实验架台、刻度尺、行空板、光电传感器、按钮、数据线、计算机、摆线、小球、量角器。


实验装置


做单摆


让线的一端系在小球上,把线的上端结点与量角器中心对齐(用来测量摆角),让摆球自由下垂,在单摆平衡位置处安装光电传感器。


做行空板DIS


1. 实物图




2. 电路图


光电传感器接行空板引脚22,按钮1、按钮2分别接引脚21、引脚23。




物理量的测量


测摆长


方法一:用刻度尺直接侧量小球球心与悬挂点之间的距离作为摆长l。


方法二:用游标卡尺测量小球的直径d,用刻度尺测量悬挂点与小球上端之间的距离l′,则摆长l=l′+d/2。


方法三:用刻度尺先测量悬挂点与小球上端之间的距离l1,再测量悬挂点与小球下端之间的距离l2,则可得摆长l=( l1+l2)/2。


测量本次实验摆线的长度L为0.5361米)。


测周期


1. 传统实验方法


学生分组实验,用行空板秒表测量单摆的周期。将单摆从平衡位置拉开一个角度,且满足偏角小于5°,然后释放摆球,当单摆摆动稳定后,用行空板秒表测量单摆完成30次(或50次)全振动的时间t。计算出平均摆动一次的时间T=t/n,即为单摆的振动周期T。改变摆长,重复实验多次。将每次实验得到的T代入公式g=4π²L/T²,计算重力加速度。



有关行空板秒表图形化程序,具体如下图所示:


行空板秒表图形化程序


利用行空板实时显示秒表时间,点击引脚23上按钮记录周期时间,并将周期时间保存到列表中。点击引脚21上按钮,可回看保存的周期时间。



向上滑动阅览

行空板秒表Python程序


#  -*- coding: UTF-8 -*-
# MindPlus# Pythonfrom pinpong.extension.unihiker import *from pinpong.board import Board,Pinfrom unihiker import GUIimport timeimport math
# 自定义函数def JieMianChuShiHua():    global 时钟,分,秒,毫秒,序号    时钟=u_gui.fill_clock(x=120,y=200,r=100,color="#FF0000",fill="#FFFF00")    分=u_gui.draw_digit(text="00",x=10,y=20,font_size=40, color="#0000FF")    标签1=u_gui.draw_digit(text=":",x=50,y=20,font_size=40, color="#0000FF")    秒=u_gui.draw_digit(text="00",x=90,y=20,font_size=40, color="#0000FF")    标签2=u_gui.draw_digit(text=":",x=130,y=20,font_size=40, color="#0000FF")    毫秒=u_gui.draw_digit(text="00",x=170,y=20,font_size=40, color="#0000FF")    时钟.config(h=0,m=0,s=0)    序号=u_gui.draw_text(text="",x=190,y=70,font_size=20, color="#000000")def ShiJianXianShiFuWei():    时钟.config(h=0,m=0,s=0)    分.config(text="00")    秒.config(text="00")    毫秒.config(text="00")def ShiJianXianShi():    global YunXingShiJian,HaoMiao,Miao,FenZhong    HaoMiao = ((time.time() - YunXingShiJian) * 100)    毫秒.config(text=(math.floor(HaoMiao)))    if (HaoMiao > 99):        YunXingShiJian = time.time()        Miao = (Miao + 1)        if (Miao < 10):            秒.config(text=(str("0") + str(Miao)))        else:            秒.config(text=Miao)        时钟.config(h=0,m=FenZhong,s=Miao)        if (Miao == 60):            Miao = 0            FenZhong = (FenZhong + 1)            if (FenZhong < 10):                分.config(text=(str("0") + str(FenZhong)))            else:                分.config(text=FenZhong)            时钟.config(h=0,m=FenZhong,s=Miao)def HuiXianShiJian():    global JiLuXuHao    if (JiLuXuHao > (len(LieBiaoFenZhong) - 1)):        JiLuXuHao = 0    序号.config(text=(JiLuXuHao + 1))    LinShiFenZhong = (int(float((LieBiaoFenZhong[JiLuXuHao]))))    LinShiMiao = (int(float((LieBiaoMiao[JiLuXuHao]))))    LinShiHaoMiao = (LieBiaoHaoMiao[JiLuXuHao])    毫秒.config(text=LinShiHaoMiao)    if (LinShiMiao < 10):        秒.config(text=(str("0") + str(LinShiMiao)))    else:        秒.config(text=LinShiMiao)    if (LinShiFenZhong < 10):        分.config(text=(str("0") + str(LinShiFenZhong)))    else:        分.config(text=LinShiFenZhong)    时钟.config(h=0,m=LinShiFenZhong,s=LinShiMiao)    JiLuXuHao = (JiLuXuHao + 1)

Board().begin()u_gui=GUI()p_p23_in=Pin(Pin.P23, Pin.IN)p_p21_in=Pin(Pin.P21, Pin.IN)QiDongBiaoShi = 0HuiKanBiaoShi = 0JiLuXuHao = 0HaoMiao = 0Miao = 0FenZhong = 0LieBiaoFenZhong = []LieBiaoMiao = []LieBiaoHaoMiao = []JieMianChuShiHua()
while True:    if (p_p23_in.read_digital()==True):        if (QiDongBiaoShi == 0):            ShiJianXianShiFuWei()            QiDongBiaoShi = 1            YunXingShiJian = time.time()        else:            ShiJianXianShi()    else:        if (QiDongBiaoShi == 1):            LieBiaoFenZhong.append(FenZhong)            LieBiaoMiao.append(Miao)            LieBiaoHaoMiao.append((math.floor(HaoMiao)))            序号.config(text=(JiLuXuHao + 1))            JiLuXuHao = (JiLuXuHao + 1)            QiDongBiaoShi = 0            HaoMiao = 0            Miao = 0    if (p_p21_in.read_digital()==True):        if (HuiKanBiaoShi == 0):            HuiKanBiaoShi = 1            HuiXianShiJian()    else:        if (HuiKanBiaoShi == 1):            HuiKanBiaoShi = 0            HuiXianShiJian()


2. DIS实验过程


1)将光电门传感器固定在单摆的平衡位置处并将其接入行空板22引脚。


2)在行空板主菜单使用“切换运行程序”,点击“单摆测重力加速度”程序。


3)逐步调整传感器的位置和单摆摆长,使摆球通过传感器并能够顺利挡光。


4)用手使摆球摆动,点击连接行空板引脚23的按钮,屏幕显示“已启动”,此时,行空板将会自动记录单摆的周期,每一组记录20个周期。



再次点击“按钮”,行空板会在完成记录当前组的20个周期后,停止记录数据。



显示平均周期及重力加速度,并将数据保存到电子表格文件“单摆测重力加速度.xls”。



5)比较实验中测得的重力加速度与当地实际重力加速度值的差别。(实验地:河北张家口,9.800)


有关,具体如下图所示:

行空板DIS系统图形化程序


通过光电传感器,判断小球经过最低点,记录单摆周期。并通过扩展xlwt将周期时间记录在电子表格中。



向上滑动阅览

行空板DIS系统Python程序


#  -*- coding: UTF-8 -*-
# MindPlus# Pythonfrom pinpong.extension.unihiker import *from pinpong.board import Board,Pinfrom unihiker import GUIimport timeimport math
# 自定义函数def ZhouQiBaoCun():    global XingHao    global LieHao    global JiShu    global QiDongBiaoShi    global ChuanGanQiBiaoShi    global ZhouQiLeiJi    if ((QiDongBiaoShi == 1) or ((LieHao > 0) and (LieHao < 20))):        if (p_p22_in.read_digital()==True):            if (ChuanGanQiBiaoShi == 0):                ChuanGanQiBiaoShi = 1                JiShu = (JiShu + 1)                if (JiShu == 2):                    JiShu = 0                    ZhouQiJiSuan()        else:            ChuanGanQiBiaoShi = 0    else:        if (QiDongBiaoShi == 2):            启动.config(text="已完成")            组别.config(text="")            次数.config(text="")            ZuiZhongZhouQi = round((ZhouQiLeiJi / (XingHao * 20)),2)            最终周期=u_gui.draw_digit(text=ZuiZhongZhouQi,x=10,y=200,font_size=30, color="#0000FF")            ZhongLiJiaSuDu = round((((4 * (math.pi**2)) * 0.5361) / (ZuiZhongZhouQi**2)),4)            重力加速度=u_gui.draw_digit(text=ZhongLiJiaSuDu,x=120,y=240,font_size=30, color="#FF0000")            fp.save("重力加速度.xls")def QiDongPanDuan():    global QiDongBiaoShi    if (p_p23_in.read_digital()==True):        if (QiDongBiaoShi == 0):            启动.config(text="已启动")            组别.config(text="第1组")            QiDongBiaoShi = 1    else:        if (QiDongBiaoShi == 1):            QiDongBiaoShi = 2def ZhouQiJiSuan():    global YunXingShiJian,ZhouQiShiJian,ZhouQiLeiJi,XingHao,LieHao    if (YunXingShiJian == 0):        YunXingShiJian = time.time()    else:        ZhouQiShiJian = (time.time() - YunXingShiJian)        ZhouQiLeiJi = (ZhouQiLeiJi + ZhouQiShiJian)        周期.config(text=round(ZhouQiShiJian,2))        YunXingShiJian = time.time()        table.write(XingHao, LieHao, ZhouQiShiJian, style=mindStyle)        LieHao = (LieHao + 1)        次数.config(text=(str("第") + str((str(LieHao) + str("个")))))        if (LieHao > 19):            XingHao = (XingHao + 1)            LieHao = 0            组别.config(text=(str("第") + str((str((XingHao + 1)) + str("组")))))

u_gui=GUI()Board().begin()import xlwtp_p22_in=Pin(Pin.P22, Pin.IN)p_p23_in=Pin(Pin.P23, Pin.IN)YangShi = "font: name Times New Roman, color-index red, bold on"fp = xlwt.Workbook(encoding="ascii")mindStyle = xlwt.easyxf(strg_to_parse=YangShi, num_format_str="0.0000")table = fp.add_sheet(sheetname="重力加速度", cell_overwrite_ok=True)YunXingShiJian = 0JiShu = 0ZhouQiLeiJi = 0ChuanGanQiBiaoShi = 0QiDongBiaoShi = 0XingHao = 0LieHao = 0标签1=u_gui.draw_text(text="实时周期:",x=5,y=20,font_size=20, color="#0000FF")周期=u_gui.draw_text(text="",x=140,y=20,font_size=20, color="#0000FF")启动=u_gui.draw_text(text="未启动",x=80,y=280,font_size=20, color="#0000FF")标签2=u_gui.draw_text(text="当前组别:",x=5,y=80,font_size=20, color="#0000FF")组别=u_gui.draw_text(text="",x=140,y=80,font_size=20, color="#0000FF")标签3=u_gui.draw_text(text="当前次数:",x=5,y=120,font_size=20, color="#0000FF")次数=u_gui.draw_text(text="",x=140,y=120,font_size=20, color="#0000FF")
while True:    QiDongPanDuan()    ZhouQiBaoCun()


注意事项


1

摆线应选择细、轻而且不易伸长的,长度为1m左右的,不要过长或过短,太长测量不方便,太短摆动太快,不易计数。小球应选体积小、密度大的金属球,这样可以减小空气阻力的影响。

2

单摆摆线的上端应夹紧,不能卷在铁夹的杆上,以免造成悬点不固定,摆长变化的现象。

3

摆长要悬挂好摆球后再测,不要先测摆长再系小球,因为悬挂摆球后细绳会发生形变。测量摆长时应注意是悬点到球心的距离,等于摆线长加上小球半径。注意摆线长与摆长的区别。

4

要使单摆在竖直平面内摆动,不要形成圆锥摆。摆角要小于5°(中学阶段实验时不要超过15°),不要过大,因为摆角过大,单摆的振动不再是简谐运动,公式就不再适用。

5

计算单摆的振动次数时,应从小球通过最低位置(平衡位置)时开始计时,同方向再次通过最低位置时累加计数。


实践活动


师:

同学们分组合作讨论,自己设计一个测重力加速度的DIS实验。

生:

根据自由落体公式:h=1/2gt²,得g=2h/t²。在铁架台顶固定电磁铁吸引金属小球,行空板控制电磁铁断电记时,当小球撞击地面,利用行空板声音传感器接收信号,并停止记时,得自由落体时间t,再结合已测量的下落高度h,根据公式计算重力加速度g。

生:

结合打点记时器测重力加速度的方法,利用行空板连接USB摄像头,以相同的时间间隔拍摄小球下落过程(背景放置刻度尺),利用图处理技术,将所有照片叠加在一起。根据打点计时器加速度的公式△x=aT²,计算重力加速度。


课后反思


DIS实验技术可以准确地描述各个物理量之间的关系,体现现代科学技术准确性高的特点,是以后中学物理教学的常见模式。同时,我们也不可以全盘否定传统的物理实验,本节课就是尝试着将二者相互结合,使二者互相补充。既使学生加深了对实验原理的理解,也提高了实验数据处理的准确性。


本文来源:DF创客社区

作者:      云天




更多案例查看



点击 “阅读原文” 了解更多!

【声明】内容源于网络
0
0
蘑菇云创造
蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
内容 969
粉丝 0
蘑菇云创造 蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
总阅读2.0k
粉丝0
内容969