在现实生活中,干簧管(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. ETF计算公式:IOPV

    IOPV=(申购.赎回清单中必须现金替代的替代金额+申购.赎回清单中退补现金替代成份证券的数量与最新成交价相乘之和+申购.赎回清单中可以现金替代成份证券的数量与最新成交价相乘之和+申购.赎回清单中禁止 ...

  2. Centos各版本系统ISO镜像下载地址

    https://www.centos.org/download/mirrors/ 需要在里面一个个看,有些是没有旧版本镜像的 补充: 上面这个方法很难再找到旧版本了 更好的方法如下:以下载Centos ...

  3. [数据结构 - 第3章] 线性表之单链表(C++实现)

    一.类定义 单链表类的定义如下: #ifndef SIGNALLIST_H #define SIGNALLIST_H typedef int ElemType; /* "ElemType类型 ...

  4. 搜索排序的评价指标NDCG

    refer: https://www.cnblogs.com/by-dream/p/9403984.html Out1 = SELECT QueryId, DocId, Rating, ROW_NUM ...

  5. linux解压xz文件

    本来要下一个 tar.gz 文件的,但是下了一个 xz的,以为不能用了,但是万能的百度.. 解决方法: 首先打包成tar文件 xz -d demo.tar.xz j接着用 tar -xvf demo. ...

  6. git diff/difftool

    参考好文:使用命令和P4Merge进行diff::https://www.cnblogs.com/cgzl/p/8597066.html git difftool 即可弹出比较工具的界面 哈哈 === ...

  7. Java开发笔记(一百四十六)JDBC的应用原理

    关系数据库使得海量信息的管理成为现实,但各家数据库提供的编程接口不尽相同,就连SQL语法也有所差异,像Oracle.MySQL.SQL Server都拥有自己的开发规则,倘若Java针对每个数据库单独 ...

  8. Django-04-路由系统

    1. 概述 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及 2. path转换器 在django2.0 以上的版本中,默认使用的是path转换器,我们首先以此 ...

  9. 大数据之路【第十四篇】:数据挖掘--推荐算法(Mahout工具)

    数据挖掘---推荐算法(Mahout工具) 一.简介 Apache顶级项目(2010.4) Hadoop上的开源机器学习库 可伸缩扩展的 Java库 推荐引擎(协同过滤).聚类和分类 二.机器学习介绍 ...

  10. 【C语言】学不会的指针

    指针 前言: 指针是C语言程序的核心,刚开始学指针,嗯....这样呀,貌似不难呀:之后开始用指针,&p,p,*p,**p,这些指针在用的时候,额.....什么东东?每次都要想半天,特别是遇到双 ...