计算机安全属性1014无标题,电脑控制电源开关_phidgets1014.docx

http://www.dengfengsoft.com

如何使用天邦登峰Phidgets1014来控制电灯泡开关灯

在上一个教程里,我们介绍了用Phidgets 1018 和 Phidgets 3051来控制电灯泡的开关灯。教程网址:

http://www.dengfengsoft.com/docs/web/dengfengsoft_phidgets_powercontrol.htm

这个教程适用于同时使用别的天邦登峰Phidgets传感器,比如使用红外距离传感器实现遥感手势操作开关灯等情况。

在这个教程里,我们要介绍直接使用Phidgets 1014 来控制电灯泡的开关灯。

所需硬件:

1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)http://www.dengfengsoft.com/ViewDetails206.aspx

产品编号: 1014

4 个继电 (Relay) 输出开关交直流电

等级为: 250VAC、10 Amps (100VDC、 5 Amps) 可以接200多个电灯泡和电器

直接连接到计算机的 USB 传输端口

含USB连接线.

灯泡和灯座

数量: 1

可在五金店买到。

保险丝.

10A 250V

用于保护电路,避免电流过高。(可选)

在各电子城都能找到。

电源线

从中间剪断备用

电线若干

所需要的软件:

1..Net Framework 3.5 (Windows 7 自带,Windows XP 请下载)

2. Visual Studio 2010 Express (下载)

3. 本文范例源码 (C#)

我们先按以下步骤把所需要的硬件都搭建起来:

1. 把电源线尾部的电线抽出来,火线端先连接10A 保险丝(可选,如果要带的电器比较多,最好加这个保险丝,1个灯泡加不加都行),然后接入1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)0C口。

2. 找另一根电线,一端连接1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)的NO口,另一端连接电灯泡的正极。

3. 找另一根电线,一端连接电灯泡的负极,另一端连接电源线的地线。

连接后的实际图片如下图所示:

硬件连接完毕!

首先我们安装Phidgets驱动程序 然后把1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)的USB线插入电脑的USB口。把电源线插入接线板插座中取电。

运行我们提供的范例程序:

上电后电灯泡是不亮的。

点击“开”或“关”就可以打开和关闭电灯泡了!

软件关键源码(以C#为例,更多编程语言范例,请参考:http://www.dengfengsoft.com/dengfengsoft_phidgets_programming_resources.html)

分析如下:

private void iniPhidget()//初始化Phidget

{

try

{

//初始化InterfaceKit object

ifKit = new InterfaceKit();

//定义接口板基础事件

ifKit.Attach += new AttachEventHandler(ifKit_Attach);

ifKit.Detach += new DetachEventHandler(ifKit_Detach);

ifKit.Error += new ErrorEventHandler(ifKit_Error);

//定义接口板特殊事件

//接口板数据接收触发事件

ifKit.InputChange += new InputChangeEventHandler(ifKit_InputChange);

//接口板数据输出触发事件

ifKit.OutputChange += new OutputChangeEventHandler(ifKit_OutputChange);

//传感器数据变化事件

ifKit.SensorChange += new SensorChangeEventHandler(ifKit_SensorChange);

//Open打开连接

ifKit.open();

//等候接口板连接

ifKit.waitForAttachment();

}

catch (PhidgetException pe)

{

MessageBox.Show(pe.ToString());

}

}

void ifKit_SensorChange(object sender, SensorChangeEventArgs e)//传感器事件变化事件

{

//e.Index 传感器所插的插口编号 0-7

//e.Value 传感器的值

}

void ifKit_OutputChange(object sender, OutputChangeEventArgs e)//接口板输出事件

{

//e.Index 输出口编号

//e.Value 输出的值

}

void ifKit_InputChange(object sender, InputChangeEventArgs e)//接口板输入事件

{

//e.Index 输入口编号

//e.Value 输入的值

}

void ifKit_Error(object sender, ErrorEventArgs e)

{

//e.Description; 错误信息

}

void ifKit_Detach(object sender, DetachEventArgs e)

{

//连接状态提示

//1018-PhidgetInterfaceKit 8/8/8 接口板 "已和硬件成功断开连接!";

}

void ifKit_Attach(object sender, AttachEventArgs e)

{

//连接状态提示

//1018-PhidgetInterfaceKit 8/8/8 接口板 "已和硬件成功建立连接!";

}

// //1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)

private void checkBox1_CheckedChanged(object sender, EventArgs e)

{

if (this.checkBox1.Checked) //打勾=开

{

this.checkBox1.Text = "关灯";

ifKit.outputs[0] = true; //从0信号口输出1信号打开电源(本文仅有的关键代码)

this.pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\lights_On.png");

}

else//=关?

{

this.checkBox1.Text = "开灯";

ifKit.outputs[0] = false; //从0信号口输出0信号打开电源(本文仅有的关键代码)

this.pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\lights_Off.png");

}

}

private void frmMain_FormClosing(object sender, FormClosingEventArgs e)//窗体退出前注销所有事件

{

ifKit.Attach -= new AttachEventHandler(ifKit_Attach);

ifKit.Detach -= new DetachEventHandler(ifKit_Detach);

ifKit.InputChange -= new InputChangeEventHandler(ifKit_InputChange);

ifKit.OutputChange -= new OutputChangeEventHandler(ifKit_OutputChange);

ifKit.SensorChange -= new SensorChangeEventHandler(ifKit_SensorChange);

ifKit.Error -= new ErrorEventHandler(ifKit_Error);

//run any events in the message queue - otherwise close will hang if there are any outstanding events

Application.DoEvents();

ifKit.close();

}

我们看到,实际起作用的仅仅用了两行代码:

ifKit.outputs[0] = true;//开灯

ifKit.outputs[0] = false;//关灯

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值