在现实生活中,干簧管(Reed Switch)有许多重要的应用,如磁性门开关、笔记本电脑、智能手机等。在本篇文章中,我们将了解一些干簧管的知识,并介绍如何使用Arduino开发板连接干簧管。

干簧管(Reed Switch)

干簧管,又称磁力开关或磁簧开关,基本上是一个电气开关,当磁场靠近时它会动作。W. B. Ellwood于1936年在贝尔实验室发明。它是由在真空下保持在玻璃管内的两个小金属片组成。在典型的干簧管中,两个金属片将由铁磁材料制成,并覆盖有铑或钌金属,以使它们具有长寿命。当开关周围存在磁场时,将会激活开关。

两个金属片的玻璃外壳可以保护它们免受灰尘和其他颗粒的侵蚀。干簧管可以在任何环境中运行,例如存在易燃气体的环境或会影响开关触点的腐蚀环境。

干簧管有两种常见的类型:

1.  常开型干簧管

2.  常闭型干簧管

在常开型干簧管中,开关在没有磁场的情况下断开,并且在有磁场的情况下短接。在存在磁场的情况下,玻璃管内的两个金属触点彼此吸引以进行接触。

在常闭型干簧管中,开关在没有磁场的情况下短接,并且在有磁场的情况下断开。

干簧管常见的应用

●    用于电话交换机

●    在笔记本电脑中,如果合上盖子,屏幕就会处于睡眠状态

●    用于防盗报警系统中的门窗传感器

需要的组件

●    Arduino Uno开发板

●    干簧管

●    电阻

●    LED指示灯

●    磁铁

●    连接导线

Arduino连接干簧管的电路图

使用Arduino连接干簧管(Reed Switch)的工作过程

Arduino Uno开发板是一款基于ATmega328p微控制器的开源电路板。它有14个数字引脚(其中6个引脚可用作PWM输出)、6个模拟输入以及板载稳压器等。Arduino Uno具有32KB闪存、2KB SRAM和1KB EEPROM。它的工作频率为16MHz。 Arduino Uno支持串行、I2C、SPI通信,可用于与其他设备通信。下表显示了Arduino Uno的技术规格。

微控制器
ATMEGA328P
工作电压
5V
输入电压
7-12V(推荐)
数字I / O引脚
14
模拟引脚
6
闪存
32KB
SRAM
2KB
EEPROM
1KB
时钟频率
16MHz

要将干簧管与Arduino进行连接,我们需要使用一个分压电路,如下图所示。开关断开时Vo为+ 5V,开关短接时为Vo。在本篇文章中,我们使用的是常开型干簧管。开关在存在磁场的情况下短接,并且在没有磁场的情况下闭合。

代码说明

本篇文章使用的完整代码将在末尾处给出。

在代码中,我们必须先定义Reed开关和LED连接到Arduino的引脚。干簧管连接到Arduino的数字引脚4,LED通过限流电阻连接到Arduino的数字引脚7。变量“reed_status”用于保存干簧的状态。

  1. int LED = 7;
  2. int reed_switch = 4;
  3. int reed_status;

复制代码

setup()函数中,我们需要设置LED和干簧管连接的引脚状态。引脚4设置为输入,引脚7设置为输出。

  1. void setup()
  2. {
  3. pinMode(LED, OUTPUT);
  4. pinMode(reed_switch, INPUT);
  5. }

复制代码

接下来,我们需要读取干簧管开关的状态。如果等于1,则开关断开,LED指示灯熄灭。如果它等于0,则开关短接,我们需要点亮LED灯。每秒重复一次这个过程。代码如下所示:

  1. void loop()
  2. {
  3. reed_status = digitalRead(reed_switch);
  4. if (reed_status == 1)
  5. digitalWrite(LED, LOW);
  6. else
  7. digitalWrite(LED, HIGH);
  8. delay(1000);
  9. }

复制代码

以上就是使用Aduino开发板连接干簧管(Reed Switch)的方法。是不是很容易实现?如果您在使用过程中遇到问题,欢迎在本贴下面进行回复。

更多内容请参考以下链接:https://www.yiboard.com/thread-888-1-1.html

使用Arduino开发板连接干簧管(Reed Switch)的方法的更多相关文章

  1. 使用Arduino开发板实现与MPU6050陀螺仪传感器连接的方法

    MPU6050陀螺仪传感器具有许多强大的功能,采用单芯片封装.它是由一个MEMS加速度计.一个MEMS陀螺仪和温度传感器组成.该模块在将模拟量转换为数字量时非常准确,因为每个通道都有一个16位的模数转 ...

  2. x86 构架的 Arduino 开发板Intel Galileo

    RobotPeak是上海的一家硬件创业团队,团队致力于民用机器人平台系统.机器人操作系统(ROS)以及相关设备的设计研发,并尝试将日新月异的机器人技术融入人们的日常生活与娱乐当中.同时,RobotPe ...

  3. 使用Arduino开发板和ESP8266从互联网读取数据

    ESP8266-01是一款很强大的模块,可以满足我们任何IOT项目的需求.自发布以来,它已经形成了一个很强大的群体,并演变成一个易于使用.价格低廉且功能强大的Wi-Fi模块.另一个更受欢迎的开源平台是 ...

  4. 使用Arduino开发板制作交流电压表

    在本文中,我们将使用Arduino开发板制作一个交流电压测量装置,测量我们家中交流电源的电压.我们将在Arduino IDE的串行监视器上打印输出该电压,并在万用表上显示出来. 制作数字电压表比模拟电 ...

  5. 基于 Arduino 开发板,这款插座是可编程且开源的

    基于 Arduino 开发板,这款插座是可编程且开源的 https://www.oschina.net/news/74861/open-source-socket https://github.com ...

  6. 使用C#应用程序与Arduino开发板进行通信

    在本文中,我们将一个Arduino Pro Mini开发板连接到PC,并且使用C# Windows应用程序与其进行通信. 将硬件连接到PC是非常有利的,不仅是因为你可以发送命令以及监控状态,还可以实时 ...

  7. ARM开发板上iconv调用失败的解决方法

    当前流行的字符编码格式有:US-ASCII.ISO-8859-1.UTF-8.UTF-16BE.UTF-16LE.UTF-16.GBK.GB2312等,其中GBK.GB2312是专门处理中文编码的.而 ...

  8. 关于DE2-115 FPGA开发板无法烧写程序的解决方法

    友晶科技推出的DE2-115 FPGA开发板,有时候莫名奇妙,无法烧写或者固化程序.利用JTAG 向DE2-115开发板烧写.sof文件失败,并提示以下错误,如图1和图2所示 图1 图2 解决方法:只 ...

  9. 使用Arduino开发板控制步进电机

    目前为止,我还没有真正深入了解过电机,特别是步进电机. 最近我在计划一个项目,需要相对精确的电机控制,所以可能会使用到步进电机,但很快就意识到我首先应该更多地了解这些. 本篇文章主要介绍我到目前为止学 ...

随机推荐

  1. Docker实践之04-操作容器

    目录 一.查看容器列表 二.启动容器 三.终止容器 四.重启容器 五.后台运行容器 六.获取容器输出信息 七.进入容器 八.导出和导入容器 九.删除容器 一.查看容器列表 可以使用命令docker c ...

  2. idea内置tomcat中java代码热更新

    按照上图设置后,然后修改代码后按shift+F9快捷键,即可实现代码更新,这时在debug模式下会看到代码变更后的输出

  3. 【Spring Boot学习之四】Spring Boot事务管理

    环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 一.springboot整合事务事务分类:编程事务.声明事务(XML.注解),推荐使用注解方式,springboot默 ...

  4. 【转】Object.keys方法之详解

     一.语法 Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组 二.处理对象,返回可枚举的属性数组 let person = {n ...

  5. [转帖]Proof Of Work 工作量证明

    Proof Of Work 工作量证明 https://www.cnblogs.com/zhang-qc/p/10451817.html 借鉴了 哈希现金(Hashcash)-1997年 英国密码学专 ...

  6. 关于ElasticSearch的堆内存设置与优化

    1.什么是堆内存?Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象.在 Java 中,堆被划分成两个不同的区域:- 新生代 ( Young ).- 老年代 ( Ol ...

  7. java之spring mvc之页面跳转

    1. 如果返回值为ModelAndView,在处理方法中,返回null时,默认跳转的视图名称为请求名.跳转结果会根据视图解析器来跳转. @RequestMapping("/hello.do& ...

  8. webpack-dev-server提示css模块解析失败,但已经装了css-loader

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/a117616/article/detai ...

  9. 学习笔记之DBeaver

    DBeaver Community | Free Universal Database Tool https://dbeaver.io/ Universal Database Tool Free mu ...

  10. ABAP-表修改日志存储

    1.设置了变更文档的,可以通过查看标准表CDHDR,CDPOS SE38   --  RSUSR200   ST03N -- 专家模式 2.SE16N维护的数据,可以查看表SE16N_CD_KEY,S ...