在现实生活中,干簧管(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

最新文章

  1. Python聊天室
  2. 非root Android设备上Tcpdump的实现
  3. MMORPG大型游戏设计与开发(客户端架构 part10 of vegine)
  4. Digital Imaging Processing 数字图像处理
  5. 删除ubuntu旧版本内核
  6. 09Mybatis_入门程序——删除用户以及更新用户
  7. Condition
  8. apache commons Java包简介
  9. 浅谈C++虚函数
  10. poj-3899-The Lucky Numbers 模拟+数学
  11. MongoDB查询分析
  12. 使用伪类before和after
  13. Eclipse集成Hadoop插件
  14. 利用Java手写简单的httpserver
  15. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Exception in thread "main" java.io.IOException: No FileSystem for sc F
  16. 20175105 2018-2019-2 《Java程序设计》第八周学习总结
  17. linux利用scp远程上传下载文件/文件夹
  18. Docker微容器+微服务将颠覆传统的软件架构
  19. Word2Vec中文语料实战
  20. Django的基本开发环境配置和MTV模型

热门文章

  1. CSP2019初赛游记
  2. 引用类型前需要加ref?
  3. linux查看端口常用命令
  4. Spring学习指南-第二章-Spring框架基础(完)
  5. Word页眉实现首页不同、奇偶页不同 、更改页眉横线、页眉文字对齐 -- 视频教程(8)
  6. Appium移动端测试--基础预热
  7. 学Python要避免哪些坑,如何巩固好基础
  8. Django框架第九篇--Django和Ajax、序列化组件(serializers)、自定义分页器、模型表choice参数
  9. golang微服务框架go-micro 入门笔记2.1 micro工具之micro api
  10. zbar android sdk源码编译