很多情况下我们需要通过程序去实现同一个按钮对应多个操作,例如开关机按钮,按一下开,再按一下就关(注意,这里是指用轻触按钮,而不是通过自锁开关从物理上实现);再例如播放按钮,按一下播放,再按一下暂停。

现在我们会在这样的开关下接一个继电器,通过拨动开关来控制所接入的设备。

为了更简单清晰地呈现中继触发控制的原理,我做了这个小项目。项目的原理图和线路连线如上图。

所需材料:

继电器 X 1

330Ohm 电阻 X 2

晶体管 NPN 2N2222 X 1

二极管 1N4148 X 1

按钮 X 1

LED X 1

按钮连接上拉电阻,需要二极管来截留从继电器线圈返回的电流。这被称为续流二极管(或飞轮二极管)。

工作原理:这里我使用了一个按钮作为拨动开关,它可以模拟打开和关闭而不是用两个按钮。对于继电器上的负载,暂时只使用Led来演示。

大多数类似项目的这一部分被忽略了。用欧姆表,找到线圈端子的位置。它的值大约或小于100欧姆。找到线圈上没有电压的触点闭合NC(常闭)~0Ohm。(对其他触点NO(常开)开路电阻执行相同操作。)

看图片并根据原理图正确连接晶体管E(发射极),B(基极),C(集电极)。

/*********************

Simple toggle switch

Created by: P.Agiakatsikas

*********************/

int button = 8;

int led = 13

int status = false;

void setup(){

pinMode(led, OUTPUT);

pinMode(button, INPUT_PULLUP); // set the internal pull up resistor, unpressed button is HIGH

}

void loop(){

//a) if the button is not pressed the false status is reversed by !status and the LED turns on

//b) if the button is pressed the true status is reveresed by !status and the LED turns off

if (digitalRead(button) == true) {

status = !status;

digitalWrite(led, status);

} while(digitalRead(button) == true);

delay(50); // keeps a small delay

}

如果你需要 Proteus 文件,点这里下载。

之前还有一篇《用 Arduino 实现最简单的拨动开关》,这里提供了一个更简单的 Arduino 保持和切换开关状态的使用范例。

ardruino控制继电器_用 Arduino 实现带继电器的拨动开关相关推荐

  1. ardruino控制继电器_基于Arduino使用一路继电器模块

    产品介绍 1.控制区域与负载区域有隔离槽 2.[采用继电器 3.具有电源和继电器动作指示,吸合亮,断开不亮 4.信号输入端有信号时,公共端与常开端会导通 5.可以用作单片机开发板模块,可以用作家电控制 ...

  2. ardruino控制继电器_Arduino基础入门篇24—继电器控制

    继电器是一种电子控制器件,是用较小的电流去控制较大电流的一种"自动开关",通常应用于自动控制电路中起着自动调节.安全保护.转换电路等作用. 本篇介绍继电器的使用,通过串口发送命令来 ...

  3. 利用blinker,让arduino实现多路继电器状态控制和APP端状态反馈

    利用blinker,让arduino实现多路继电器状态控制和APP端状态反馈 有需要的朋友可以直接拷贝代码拿来使用,按钮是自锁按钮控制的,不是点动开关型的.这是经过许多人的经验总结和奉献才调通的程序, ...

  4. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法

    Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...

  5. Arduino Uno + 光耦继电器 弱电控制强电 实验

    这个弱电控制强电,隔离等作用等等 关于常闭,常开,不同模块位置不同,请用万用表蜂鸣档测试,确认正确的常开端和常闭端. 实验效果 用光耦继电器控制LED的亮和灭 BOM表 Arduino Uno     ...

  6. 带继电器延迟定时器电路分析

    带继电器延迟定时器电路 所示图非常简单,此外,延迟周期是可变的,使得设置对于建议的应用非常有用. 可以通过以下几点来理解其功能: 假设负载需要延迟导通动作连接到继电器触点上,当电源接通时,12V DC ...

  7. 基于arduino控制带编码器直流电机速度

    基于arduino控制带编码器直流电机速度 模块:带减速的直流电机(减速比1:120),霍尔编码器(每圈13个信号单相)arduino UNO,TB6612FNG,3.7V电源 编码器连接在直流电机输 ...

  8. 二氧化碳传感器CCS811简单的测试驱动_基于Arduino

    二氧化碳传感器CCS811简单的测试驱动_基于Arduino 目的 简单介绍 由于MOX Sensor材料特性在使用过程中要注意的问题 IC的初始化过程 IC的读数据过程 可配置参数 完整程序代码 数 ...

  9. arduino灯光装置_使用Arduino和继电器控制灯光

    用于控制继电器的电路如下: 在本教程中,我们将使用等效于Arduino的Yourduino的RoboRed .为了不使RoboRed上的I / O引脚过载,将使用晶体管从Arduino的电源而不是IO ...

  10. 查看gpio状态_基于Arduino开发,借助blinker平台,让NodeMCU实现8路继电器APP端状态监视和控制...

    基于Arduino开发,借助blinker物联网平台,让NodeMCU实现8路继电器APP端状态监视和控制 先上开发板功能图: 本文利用了NodeMCU上的D0-D3,D5-D9,总共 8个 GPIO ...

最新文章

  1. 实现800*600,1024*768两套分辨率方案
  2. (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致...
  3. bootstrap validator 提供了哪些验证函数
  4. python元祖和文件用法举例
  5. Linux环境Eclipse + Tomcat + MySQL 构造J2EE方法开发环境
  6. mysql vc运行库,VC运行库版本 - robslove的个人页面 - OSCHINA - 中文开源技术交流社区...
  7. 《高质量C++/C编程指南(林锐)》学习笔记
  8. 结构梁配筋最牛插件_结构分析|结构抗震概念——强柱弱梁
  9. CSI Report中关于codebook/PMI的理解(2)
  10. Microsoft Visual C++ Build Tools下载/解决Visual C++ 14.0 is required问题
  11. 华为手机如何给应用加锁_如何设置华为手机应用程序锁?
  12. lwj_C#_周总结2 字符串练习
  13. 物联网是什么,和互联网之间主要有什么区别
  14. [IOS APP]南渡记-东藏记-西征记-野葫芦引有声小说
  15. 央行企业征信异议处理条件及流程
  16. 运用贝塞尔曲线绘制笔锋效果
  17. 心得 ~ 使用 zlib库 解压缩 zip文件
  18. 魅族m15简单开启Usb调试模式的步骤
  19. java web短信验证码_在Web项目中手机短信验证码实现的全过程记录
  20. 两个和尚的故事【摘】

热门文章

  1. 如何恢复计算机管理员帐号,如何恢复装系统时建的计算机管理员账户
  2. WIFI参数Beacon Interval、DTIM、Fragment Length、RTS Length
  3. 基于MyScript的C#版本手写板 准确的识别中文
  4. 简单实现查找题库随机出题, 且可点击查看对应答案
  5. 唯一插件化Replugin源码及原理深度剖析--唯一Hook点原理
  6. 全国计算机的照片规格,照片纸尺寸大小 照片尺寸规格大全
  7. 高中信息技术新课程标准
  8. 提取出 Word 文档里的图片 并利用 python 批量转换格式
  9. 简单快捷的Amaze UI框架搭建
  10. VS Code报错:Java 11 or more recent is required to run. Please download and install a recent JDK