- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何用普通电脑控制电灯泡开关灯
有很多情况下我们会用到电脑控制照明的开关,比如:智能家居,如果屋里没人,那么控制系统自动关灯以达到省电的目的;比如有很多场合,当会员刷卡后,系统才给照明,或系统才会启动某个设备等等。
传统的实现办法要使用单片机开发接口板,电脑的软件使用232/485串口通讯协议来发送指令给接口板。这种办法的缺点是:1.需要软件人员+硬件人员来合作完成,开发周期长;2.串口等复杂参数需要配置,不利于用户方便使用。3.需要外接电源来给单片机供电;
我们在这里给大家介绍一种软件人员也能完成的方法:
这种方法的优点是:
只需要进行软件开发;
硬件使用USB线连接电脑USB接口,无需任何其他配置就可以使用;
无需外接电源,直接由USB获取所需电量;
要准备的东西如下:
所需硬件:
8/8/8 Interface Kit.(接口板)
/ViewDetails87.aspx
产品编号: 1018
含USB连接线.
Dual Relay Board (双继电器板).
/ViewDetails204.aspx
产品编号: 3051
灯泡和灯座
数量: 1
可在五金店买到。
保险丝.
10A 250V
用于保护电路,避免电流过高。(可选)
在各电子城都能找到。
电源线
从中间剪断备用
电线若干
所需要的软件:
1..Net Framework 3.5 (Windows 7 自带,Windows XP 请下载)
2. Visual Studio 2010 Express (下载)
3. 本文范例源码 (C#)
我们先按以下步骤把所需要的硬件都搭建起来:
系统硬件连接草图(不是电子工程专业人员没有必要画专业的电子板图了吧)这个是用手写笔在普通纸张上画的,把接收器插入电脑就出来这张图了。
首先用一根电线一端连接 1018-PhidgetInterfaceKit 8/8/8 接口板的数据输出口 6 (可以选择其他口,我们这里暂时用6口),另一端连接3051-Dual Relay Board(双继电器板)的开关控制 1 口。
把电源线从中间剪断,把尾部的电线抽出来,火线端先连接10A 保险丝(可选,如果要带的电器比较多,最好加这个保险丝,1个灯泡加不加都行),然后接入3051-Dual Relay Board(双继电器板)的C1口。
找另一根电线,一端连接3051-Dual Relay Board(双继电器板)的NO口,另一端连接电灯泡的正极。
找另一根电线,一端连接电灯泡的负极,另一端连接电源线的地线。
硬件连接完毕!
连接后的实物图如下图所示:
好,我们来看软件部分:
首先我们安装Phidgets驱动程序 然后把1018 PhidgetInterfaceKit 8/8/8 接口板的USB线插入电脑的USB口。把电源线插入接线板插座中取电。
运行我们提供的范例程序:
上电后电灯泡是不亮的。
点击“开”或“关”就可以打开和关闭电灯泡了!
软件关键源码(以C#为例,更多编程语言范例,请参考:/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);
文档评论(0)