自制物理实验用光电门_红外线论文

自制光电门做物理实验,本文主要内容关键词为:电门论文,物理实验论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

光电门是物理实验室的标准配置,利用光电门与毫秒计时器配合可以测量物体速度。本人在教学中发现,利用淘汰的串行接口鼠标,我们可以自制一个光电门,通过计算机读取数据,简单方便,成本也很低。

一、电路原理

如图1所示,为红外线发光二极管,为红外线接收二极管,R为限流电阻,IC为鼠标控制芯片,典型的型号为SC83702B,该芯片16脚为电源,8脚为地,10脚为鼠标中键信号输入端。

图1

二、制作方法

找一个使用串行接口的鼠标,拆开鼠标,拿出电路板,你很容易找到鼠标的控制芯片,串行接口鼠标一般只使用两键,但预留了中键位置。到电子市场(或电视机维修店)购买一对红外线发光(接收)二极管,按图1连接好电路,把红外线接收管密闭在一个盒子里,留一个小孔接收红外线,实验的时候把红外发光二极管放在其对面就可以了。只要用导线把连接到鼠标控制芯片对应的引脚就可以了,其他引脚保持不变。

三、软件编程

VisualBasic是微软开发的一款简单易用的可视化编程工具。微软提供的MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。利用MSComm控件的On-Comm事件捕获并处理通讯事件(比如按下或释放鼠标左键)。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。下面以测试单摆周期为例来介绍。具体的操作步骤如下:

(1)打开VB,创建一个新的工程,将其命名为gdm.vbp工程。

(2)添加MSComm控件。菜单:工程→部件,在弹出的对话框中选择部件:Microsoft Comm Control5.0。这时,在常用控件栏中新增了一个图标像电话机的控件,这个就是MSComm控件了。

(3)在窗体中创建如下对象(见表1)。

表1 对象和属性表

(4)代码编写。在代码框中输入如下代码。

在通用声明中定义程序所用变量:

Dim ac As Byte

Dim av As Variant‘用来从接收缓冲区读取数据

Dim n As Long

Dim i As Integer

Dim w As Integer‘用来存储用户输入的全振动次数

在Forml窗口的MSComm1-OnComm处理程序中加入以下代码:

Private Sub MSComm1-OnComm()

With MSComm1

Select Case.CommEvent‘判断MSComm1通信事件

Case comEvReceive‘收到Rthreshold个字节产生的接收事件

av=.Input

ac=av(0)‘读取一个接收字节

If ac=135 Then‘判断是否放开中键,即是否有物体挡住光电门

Timerl.Enabled=True‘如果有,开始计时

i=i-1

If i<0 Then‘判断是否完成全振动次数

Timer1.Enabled=False‘如果完成,停止计时

.Port Open=False‘关闭串口

Labe15.Caption=n/(100*w)‘显示周期

Start.Enabled=True

End If

End If

End Select

End With

End Sub

在Forml窗口的start_Click处理程序中加入以下代码:

Private Sub start_Click()‘开始按钮

w=Textl.Text

i=2*w+1

MSComml.PortOpen=True‘打开串口

n=0‘计时器清零

Labe13.Caption=n

start.Enabled=False‘测试期间不允许按“开始”

End Sub

在Forml窗口的Timerl-Timer处理程序中加入以下代码:

Private Sub Timer1-Timer()

n=n+1

Labe13.Caption=n/100‘Timer的计时周期为10ms,除以100,转成s

End Sub

四、使用及改进意见

本人利用该装置实际测试了摆长为47.5cm的单摆的周期为1.385s与理论值1.383s非常地接近。利用相同的原理,对程序进行适当的修改,就可以用来测量加速度了。限于文章篇幅,在此不记述。有意者可以来信索取原程序(E-mail:muse82@sina.com.cn).

标签:;  

自制物理实验用光电门_红外线论文
下载Doc文档

猜你喜欢