.Net Micro Framework研究—MF驱动继电器

简介:

年前张欣有一个比较好的想法,想用Digi的MF板驱动一个小型继电器,这样就可以用MF直接控制家中的小功率220V的电器了。由于我们公司非纯软件公司,软硬件部门都有,所以比张欣多了点接触硬件的机会。
Digi开发板标准电压是3.3V,所以继电器的工作电压要小于或等于3.3V,此外继电器吸合点要能承受220V,1~3A的电流,否则实用价值不大。最终我选择的继电器的型号为:HUIKE HK4100F-DC3V-SHG 触点指标:交流220V 3A 直流30V 3A。
先看一看Digi开发板的原理图,看看怎么接入我们的继电器。 


CR14 是一个LED灯,R23是一个限流电阻,对应的GPIO的Pin值为6,我们就对它下手。原理图很简单,从图上看出我们必须去掉CR14 LED灯,如果继电器直接连接到接线柱上,则继电器和CR14 LED灯并联,LED灯会分流。此外不短接电阻,则电阻会分压(继电器和电阻是串联关系)。好了我们改造后的板子如下:
 

 


 

程序很简单,如下:
 


 
 
  1. namespace DigiTest  
  2. {  
  3.     using System;  
  4.     using System.Collections;  
  5.     using System.Net;  
  6.     using System.Net.Sockets;  
  7.     using System.Runtime.CompilerServices;  
  8.     using System.Text;  
  9.     using System.Threading;  
  10.     using Microsoft.SPOT;  
  11.     using Microsoft.SPOT.Hardware;  
  12.     using Microsoft.SPOT.Net;  
  13.     using Microsoft.SPOT.Net.NetworkInformation;  
  14.    
  15.     public class DigiTest  
  16.     {  
  17.         public static void Main()  
  18.         {  
  19.             OutputPort[] output = new OutputPort[5];  
  20.             //InputPort[] input = new InputPort[5];  
  21.             Cpu.Pin[] pin = new Cpu.Pin[5] { (Cpu.Pin)0, (Cpu.Pin)1, (Cpu.Pin)2, (Cpu.Pin)5, (Cpu.Pin)6 };  
  22.    
  23.             for (int i = 0; i < 5; i++)  
  24.             {  
  25.                 //input[i] = new InputPort(pin[i], false, Port.ResistorMode.PullUp);  
  26.                 output[i] = new OutputPort(pin[i], false);  
  27.             }  
  28.             while (true)  
  29.             {  
  30.                 for (int i = 0; i < 5; i++)  
  31.                 {  
  32.                     output[i].Write(!output[i].Read());  
  33.                 }  
  34.                 //Debug.Print(input[0].Read().ToString() + " " + input[1].Read().ToString() + " " + input[2].Read().ToString() + " " + input[3].Read().ToString() + " " + input[4].Read().ToString());  
  35.                 Thread.Sleep(1000);  
  36.             }  
  37.         }  
  38.     }  
  39. }  

把程序部署到Digi开发板,运行一下,是不是听到继电器在啪啪作响,用万用表量一量常开触电是否通断正常?我想如果没出什么意外,一切正常,下一步你就可以控制家用电器了。

 








本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/321288,如需转载请自行联系原作者

相关文章
|
API C# 开发者
一款开源免费美观的WinForm UI控件库
一款开源免费美观的WinForm UI控件库
776 9
|
存储 数据处理 索引
Python操作Excel常用方法汇总
Python操作Excel常用方法汇总
444 0
|
SQL 开发框架 .NET
分享53个ASP江湖论坛源码,总有一款适合您
分享53个ASP江湖论坛源码,总有一款适合您
|
缓存 运维 监控
如何确保 API 接口的稳定性和可靠性
在数字化时代,API接口作为系统间数据交互的核心,其稳定与可靠至关重要。需精心规划,明确接口规范与架构设计;实施全面测试,包括单元、集成、压力及异常测试;实时监控性能指标,设置预警;优化数据库操作、利用缓存与高效算法;建立容错机制与错误处理流程;确保可靠部署与运维;实行流量控制与降级策略。这些综合措施确保了API服务质量,支撑数字化业务高效运行。
|
人工智能 算法 计算机视觉
我的自描外挂制作日志——FPS类游戏的自瞄【构思准备】
我的自描外挂制作日志——FPS类游戏的自瞄【构思准备】
686 0
|
Rust 监控 算法
基于circom、snarkjs实现零知识证明不透漏具体地理位置的区域监控
文章介绍了如何使用circom和snarkjs工具基于零知识证明算法Groth16实现不泄露具体地理位置的区域监控系统,详细说明了开发环境搭建、电路设计、计算和证明过程,并提供了相应的命令和代码示例。
168 0
|
网络协议 安全 Ubuntu
PWN练习---Stack_1
PWN练习---Stack_1
292 3
|
编解码 网络协议 Android开发
Android平台GB28181设备接入端如何支持跨网段语音对讲
如果你是音视频开发者亦或寻求这块技术方案的公司,在探讨这个问题之前,你可能网上看了太多关于语音广播和语音对讲相关的资料,大多文章认为语音对讲和语音广播无本质区别,实现思路也大同小异。
280 0
|
Ubuntu Linux 编译器
嵌入式linux系统应用开发
嵌入式linux系统应用开发
201 1
|
开发框架 监控 测试技术
产品迭代过程中如何保证产品质量的稳定性
产品迭代过程中如何保证产品质量的稳定性