收藏 分销(赏)

如何用普通电脑控制电灯泡开关灯.doc

上传人:xrp****65 文档编号:7588384 上传时间:2025-01-09 格式:DOC 页数:8 大小:621.50KB 下载积分:10 金币
下载 相关 举报
如何用普通电脑控制电灯泡开关灯.doc_第1页
第1页 / 共8页
如何用普通电脑控制电灯泡开关灯.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
如何用普通电脑控制电灯泡开关灯 有很多情况下我们会用到电脑控制照明的开关,比如:智能家居,如果屋里没人,那么控制系统自动关灯以达到省电的目的;比如有很多场合,当会员刷卡后,系统才给照明,或系统才会启动某个设备等等。 传统的实现办法要使用单片机开发接口板,电脑的软件使用232/485串口通讯协议来发送指令给接口板。这种办法的缺点是:1.需要软件人员+硬件人员来合作完成,开发周期长;2.串口等复杂参数需要配置,不利于用户方便使用。3.需要外接电源来给单片机供电; 我们在这里给大家介绍一种软件人员也能完成的方法: 这种方法的优点是: 1. 只需要进行软件开发; 2. 硬件使用USB线连接电脑USB接口,无需任何其他配置就可以使用; 3. 无需外接电源,直接由USB获取所需电量; 要准备的东西如下: 所需硬件: 8/8/8 Interface Kit.(接口板) 产品编号: 1018 含USB连接线. Dual Relay Board (双继电器板). 产品编号: 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#为例,更多编程语言范例,请参考: 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.outputs[6] = true; //从6信号口输出1信号打开电源(本文仅有的关键代码) this.pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\lights_On.png"); } else//=关? { this.checkBox1.Text = "开a"; ifKit.outputs[6] = 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 - otherwise close will hang if there are any outstanding events Application.DoEvents(); ifKit.close(); } 我们看到,实际起作用的仅仅用了两行代码: ifKit.outputs[6] = true;//开灯 ifKit.outputs[6] = false;//关灯 用这个方法是不是超级无敌简单呢?
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服