如何用普通电脑控制电灯泡开关灯
2011-03-14 14:58
260 查看
有很多情况下我们会用到电脑控制照明的开关,比如:智能家居,如果屋里没人,那么控制系统自动关灯以达到省电的目的;比如有很多场合,当会员刷卡后,系统才给照明,或系统才会启动某个设备等等。
传统的实现办法要使用单片机开发接口板,电脑的软件使用
232/485
串口通讯协议来发送指令给接口板。这种办法的缺点是:
1.
需要软件人员
+
硬件人员来合作完成,开发周期长;
2.
串口等复杂参数需要配置,不利于用户方便使用。
3.
需要外接电源来给单片机供电;
我们在这里给大家介绍一种软件人员也能完成的方法:
这种方法的优点是:
1.
只需要进行软件开发;
2.
硬件使用
USB
线连接电脑
USB
接口,无需任何其他配置就可以使用;
3.
无需外接电源,直接由
USB
获取所需电量;
要准备的东西如下:
所需硬件:
1.1018-PhidgetInterfaceKit 8/8/8 接口板
2.3051-Dual Relay Board
(双继电器板)
3. 灯泡和灯座 (可以在普通五金店买到)
4.保险丝(10A 250V 可选,在各电子城都能买到)
5. 电源线 (从中间剪断,只保留插头和一段电线就可以了)
6. 电线若干
我们先按以下步骤把所需要的硬件都搭建起来:
系统硬件连接草图(不是电子工程专业人员没有必要画专业的电子板图了吧)这个是用
手写笔
在普通纸张上画的,把接收器插入电脑就出来这
张图了。
连接后的实物图如下图所示:
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
口。把电源线插入接线板插座中取电。
所需要的软件:
1
.
.Net Framework 3.5 (Windows 7
自带
,Windows XP 请下载
)
2. Visual Studio 2010 Express (下载
)
3.
本文范例源码
(
C#
)
运行我们提供的范例程序:
上电后电灯泡是不亮的。
点击“开”或“关”就可以打开和关闭电灯泡了!
软件关键源码(以
C#
为例,更多编程语言范例,请参考:
http://www.dengfengsoft.com/dengfengsoft_phidgets_programming_resources.html
)分析如下:
我们看到,实际起作用的仅仅用了两行代码:
ifKit.outputs[6] = true
;//
开灯
ifKit.outputs[6] = false
;//
关灯
用这个方法是不是超级无敌简单呢?
方法二:
使用一块 1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)
地址:http://www.dengfengsoft.com/ViewDetails206.aspx
就可以直接连接电脑USB来控制电灯的开关。这个接口板的特点是可以带4条线路的用电设备!保险丝和灯泡的接法同上,把上面的代码做如下修改:
接0口:
ifKit.outputs[0] = true
;//
开灯
ifKit.outputs[0] = false
;//
关灯
接1口:
ifKit.outputs[1] = true
;//
开灯
ifKit.outputs[1] = false
;//
关灯
接2口:
ifKit.outputs[2] = true
;//
开灯
ifKit.outputs[2] = false
;//
关灯
接3口:
ifKit.outputs[3] = true
;//
开灯
ifKit.outputs[3] = false
;//
关灯
所有成本可低至:535元!
传统的实现办法要使用单片机开发接口板,电脑的软件使用
232/485
串口通讯协议来发送指令给接口板。这种办法的缺点是:
1.
需要软件人员
+
硬件人员来合作完成,开发周期长;
2.
串口等复杂参数需要配置,不利于用户方便使用。
3.
需要外接电源来给单片机供电;
我们在这里给大家介绍一种软件人员也能完成的方法:
这种方法的优点是:
1.
只需要进行软件开发;
2.
硬件使用
USB
线连接电脑
USB
接口,无需任何其他配置就可以使用;
3.
无需外接电源,直接由
USB
获取所需电量;
要准备的东西如下:
所需硬件:
1.1018-PhidgetInterfaceKit 8/8/8 接口板
2.3051-Dual Relay Board
(双继电器板)
3. 灯泡和灯座 (可以在普通五金店买到)
4.保险丝(10A 250V 可选,在各电子城都能买到)
5. 电源线 (从中间剪断,只保留插头和一段电线就可以了)
6. 电线若干
我们先按以下步骤把所需要的硬件都搭建起来:
系统硬件连接草图(不是电子工程专业人员没有必要画专业的电子板图了吧)这个是用
手写笔
在普通纸张上画的,把接收器插入电脑就出来这
张图了。
连接后的实物图如下图所示:
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
口。把电源线插入接线板插座中取电。
所需要的软件:
1
.
.Net Framework 3.5 (Windows 7
自带
,Windows XP 请下载
)
2. Visual Studio 2010 Express (下载
)
3.
本文范例源码
(
C#
)
运行我们提供的范例程序:
上电后电灯泡是不亮的。
点击“开”或“关”就可以打开和关闭电灯泡了!
软件关键源码(以
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 接口板 "已和硬件成功建立连接!"; } 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
;//
关灯
用这个方法是不是超级无敌简单呢?
方法二:
使用一块 1014 - PhidgetInterfaceKit 0/0/4 (接口板-4口)
地址:http://www.dengfengsoft.com/ViewDetails206.aspx
就可以直接连接电脑USB来控制电灯的开关。这个接口板的特点是可以带4条线路的用电设备!保险丝和灯泡的接法同上,把上面的代码做如下修改:
接0口:
ifKit.outputs[0] = true
;//
开灯
ifKit.outputs[0] = false
;//
关灯
接1口:
ifKit.outputs[1] = true
;//
开灯
ifKit.outputs[1] = false
;//
关灯
接2口:
ifKit.outputs[2] = true
;//
开灯
ifKit.outputs[2] = false
;//
关灯
接3口:
ifKit.outputs[3] = true
;//
开灯
ifKit.outputs[3] = false
;//
关灯
所有成本可低至:535元!
相关文章推荐
- 如何用普通电脑控制电灯泡开关灯
- 如何用普通电脑控制电灯泡开关灯
- 如何通过网络调用WebService远程控制电灯泡开关灯
- 如何用普通电脑去看3D电影
- 教你如何用“手机”来控制“电脑”,操作很简单!
- 如何用java实现使用电子邮件控制你的电脑
- 教你如何用iPhone远程控制电脑
- 如何用java控制你的电脑?
- 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
- 如何使用同一套鼠标/键盘控制多个电脑
- 如何使用普通网线在两台电脑(笔记本)之间传输大文件
- 如何通过adb command去控制MTKLogger 开关,设定log路径等等
- 如何用电脑控制感知周围环境的温度和湿度
- 安卓程序如何控制闪光灯开关
- Postgresql8.3 如何控制来自其他电脑的连接
- 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
- Win8系统如何让家长更放心孩子使用电脑(合理控制时间)
- 【转】Win XP远程登录-如何远程控制电脑(windows系列大体相同)的相关设置
- 如何用一个鼠标控制多台电脑?
- 如何做一个控制对象显示和隐藏的开关