如何用普通电脑控制电灯泡开关灯.doc_第1页
如何用普通电脑控制电灯泡开关灯.doc_第2页
如何用普通电脑控制电灯泡开关灯.doc_第3页
如何用普通电脑控制电灯泡开关灯.doc_第4页
如何用普通电脑控制电灯泡开关灯.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何用普通电脑控制电灯泡开关灯有很多情况下我们会用到电脑控制照明的开关,比如:智能家居,如果屋里没人,那么控制系统自动关灯以达到省电的目的;比如有很多场合,当会员刷卡后,系统才给照明,或系统才会启动某个设备等等。传统的实现办法要使用单片机开发接口板,电脑的软件使用232/485串口通讯协议来发送指令给接口板。这种办法的缺点是:1.需要软件人员+硬件人员来合作完成,开发周期长;2.串口等复杂参数需要配置,不利于用户方便使用。3.需要外接电源来给单片机供电;我们在这里给大家介绍一种软件人员也能完成的方法:这种方法的优点是:1. 只需要进行软件开发;2. 硬件使用USB线连接电脑USB接口,无需任何其他配置就可以使用;3. 无需外接电源,直接由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#)我们先按以下步骤把所需要的硬件都搭建起来:系统硬件连接草图(不是电子工程专业人员没有必要画专业的电子板图了吧)这个是用手写笔在普通纸张上画的,把接收器插入电脑就出来这张图了。1. 首先用一根电线一端连接 1018-PhidgetInterfaceKit 8/8/8 接口板的数据输出口 6 (可以选择其他口,我们这里暂时用6口),另一端连接3051-Dual Relay Board(双继电器板)的开关控制 1 口。2. 把电源线从中间剪断,把尾部的电线抽出来,火线端先连接10A 保险丝(可选,如果要带的电器比较多,最好加这个保险丝,1个灯泡加不加都行),然后接入3051-Dual Relay Board(双继电器板)的C1口。3. 找另一根电线,一端连接3051-Dual Relay Board(双继电器板)的NO口,另一端连接电灯泡的正极。4. 找另一根电线,一端连接电灯泡的负极,另一端连接电源线的地线。硬件连接完毕!连接后的实物图如下图所示:好,我们来看软件部分:首先我们安装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); /传感器数据变化事件 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 接口板 已和硬件成功建立连接!; private void checkBox1_CheckedChanged(object sender, EventArgs e) if (this.checkBox1.Checked) /打勾=开 this.checkBox1.Text = 关?; ifKit.outputs6 = true; /从6信号口输出1信号打开电源(本文仅有的关键代码) this.pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + lights_On.png); else/=关? this.checkBox1.Text = 开a; ifKit.outputs6 = false; /从6信号口输出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 -

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论