APP下载

单摆振动图像演示仪的改进

2018-05-25冯彩仪程敏熙郭可馨

物理实验 2018年5期
关键词:泡沫板单摆快捷键

冯彩仪,程敏熙,郭可馨

(华南师范大学 物理与电信工程学院,广东 广州 510006)

人教版高中物理选修(3-4)第11章第4节中“注射器喷墨法”获取单摆振动图像的演示实验,在实际操作中存在诸多不足:1)注射器中的墨水不易控制而流动不止,容易把纸弄脏;2)匀速拖动白纸难以操作,导致图像准确度欠佳;3)教师演示时难以实现描绘的同时让全班学生看清图像的形成过程[1-3];4)振动图像不能方便地重复获取. 基于此,笔者受光电鼠标追踪技术[4]的启发,对该实验装置进行了改进.

1 实验装置和原理

实验装置包括硬件和软件2部分:硬件部分如图1所示,在悬挂的摆球中放置光电鼠标,其无线接收端接入电脑USB端口中,在摆球下方放置感光板(实际为鼠标垫)使光电鼠标得到感应. 当摆球摆动时,鼠标指针在电脑屏幕中移动,从而相当于把摆球的运动轨迹投影到屏幕上. 软件部分是窗体应用程序“Move”,用于描绘单摆振动图像,并同时测量时间.

图1 单摆振动演示仪

2 实验装置的制作

2.1 硬件部分的制作

1) 准备材料:塑料空心吊球(直径为7cm)、002型号指环光电鼠标、鼠标垫、保鲜膜、150g细沙、尼龙绳、泡沫、卡纸.

2) 把沙子装入保鲜膜中制成沙包,均匀地填充塑料球,并在球的中部预留空间放置光电鼠标.

3) 在球的下方开孔,孔的大小稍大于光电鼠标的底面积.

4) 制作合适的空心柱状泡沫,放入球的中部与沙子紧贴,用于固定光电鼠标,如图2所示.

图2 摆球

5) 用2根尼龙绳把做好的摆球悬挂起来形成双线摆(双线可保证摆球在竖直平面内摆动).

6) 取长30cm、宽13cm、高5cm矩形泡沫板,根据摆球摆动的幅度,将泡沫板的一面做成弧面,并铺上鼠标垫或其他感光材料,另外用卡纸对泡沫板进行简单包装,如图3所示.

图3 用卡纸包装后的泡沫板

2.2 软件部分的制作

用C#编写窗体应用程序“Move”[5-7],实现的功能主要包括:

1)画图功能,任意按下鼠标时,可画任意曲线.

2)计时功能,在软件界面右下角同步显示描绘单摆振动图像所用的时间,从而得到摆球振动1次所用时间即周期.

3)在软件上模拟匀速拖动纸板过程的功能,添加时间轴,即鼠标指针按一定速度从左往右平移像素点,设置快捷键“S”和“P”,分别控制时间轴的开启与关闭.

4)擦除功能,设置快捷键“E”,实现擦除已画曲线的功能.

以下是程序代码的主体部分:

namespaceMove

{

publicpartialclassForm1:Form

{

privateboolCanMove=false;

publicPointstartpt,endpt;

[DllImport(“user32”)]

privatestaticexternintmouse_event(intdwFlags,intdx,intdy,intcButtons,intdwExtraInfo);

privateconstintMOUSEEVENTF_MOVE= 0x0001;

privateconstintMOUSEEVENTF_ABSOLUTE=0x8000;

privateintt= 0;

publicForm1()

{

InitializeComponent();

}

privatevoidForm1_MouseDown(objectsender,MouseEventArgse)

{

This.CanMove=true;

Startpt.X=e.X;

Startpt.Y=e.Y;

}

privatevoidForm1_MouseMove(objectsender,MouseEventArgse)

{

if(this.CanMove==true)

{

Graphicsg=this.CreateGraphics();

Endpt.X=e.X;

Endpt.Y=e.Y;

g.DrawLine(newPen(Color.Red, 3),startpt,endpt);

startpt=endpt;

}

}

privatevoidForm1_MouseUp(objectsender,MouseEventArgse)

{

Graphicsg=this.CreateGraphics();

g.DrawLine(newPen(Color.Red,1),this.startpt,newPoint(e.X,e.Y));

this.CanMove=false;

}

privatevoidForm1_Load(objectsender,EventArgse)

{

This.timer1.Enabled=false;

This.timer1 =this.timer1 =newSystem.Windows.Forms.Timer();

This.timer1.Interval= 20;

This.timer1.Tick+=newEventHandler(timer1_Tick);

}

privatevoidtimer1_Tick(objectsender,EventArgse)

{

intwidth=Screen.PrimaryScreen.Bounds.Width;

intheight=Screen.PrimaryScreen.Bounds.Height;

intoffsetX= (MousePosition.X+ 3) * 65535 /width;

intoffsetY= (MousePosition.Y+ 1) * 65535 /height;

mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,offsetX,offsetY, 0, 0);

}

}

}

3 教学演示

1)演示前,把光电鼠标的无线接收端接入电脑USB端口中,打开开关并放入摆球中,把感光板放到摆球的下方,调节两者距离在2mm范围内,但不接触.

2)调节光电鼠标在摆球中的位置以达到效果:摆球在竖直平面内摆动时,鼠标指针在计算机屏幕中的上下移动.

3)在计算机中选择“控制面板-个性化-更改鼠标指针-指针选项”降低鼠标指针移动的精确度,打开“Move”软件的界面,拖动计算机鼠标使指针移到界面左侧(合适位置).

4)小角度拉开摆球并静止释放,观察到鼠标指针在屏幕中上下移动.

5)按下快捷键“S”以启动时间轴,指针的匀速右移与上下移动相结合,同时按下计算机鼠标左键进行画图,摆球振动一定次数后,按下快捷键“P”以结束指针右移,同时松开鼠标左键,结束画图,得到单摆振动图像如图4所示.可清晰看到,图中的振动图像为正弦函数图像,振动9个周期,界面右下角显示时间为11.75s,从而得到单摆振动周期为1.31s.

图4 单摆振动图像

6)如果操作过程中由于外界干扰使感光出错导致画出的图线欠佳,可以按下快捷键“E”擦除已画的图线,重新进行画图.

4 结束语

该实验仪器的制作取材容易,操作简单,方便携带. 光学感应器高精度的光学引擎使得描绘的振动图像准确度更高,而且对描绘的振动图像进行计时,容易得到较为准确的周期,同时可以方便地探究摆长与周期的关系.

参考文献:

[1] 尹高生. 描绘单摆振动图像的新实验装置[J]. 物理教师,2011,32(3):29.

[2] 江阳,徐胜. 环保节约型单摆振动图像演示仪[J]. 物理教学探讨,2011,29(10):33-34.

[3] 王维民,李金. 单摆振动图像演示器的改进[J]. 教学仪器与实验,2006(6):44-45.

[4] 张晓斌,佐斌,薛孟杰,等. 基于鼠标追踪技术的个体建构过程实时测量[J]. 心理科学进展,2012,20(5):770-781.

[5] 顾洪,李慧. C#语言程序设计[M]. 南京:东南大学出版社,2009:171-182.

[6] 范盛荣. Visual C#2008控件使用范例详解[M]. 北京:清华大学出版社,2009:10.

[7] 田原,李素若,文斌. C#程序设计[M]. 北京:北京交通大学出版社,2005:252-261.

[8] 王占平. 精确测量单摆周期[J]. 物理实验,2006,26(10):27-28,30.

猜你喜欢

泡沫板单摆快捷键
灵活使用快捷键秒变WPS办公达人
为Word功能指定快捷键
单摆周期问题的归纳与深化
发挥等效法在单摆运动周期问题中的大作用
记一次跑步比赛
拼拼贴贴连环画
电商按下脱贫攻坚“快捷键”
直肠癌术后放疗应用有孔泡沫板对小肠照射剂量和体积的影响
对无固定悬挂点单摆周期的探讨
单摆的性质及其应用