使用Arduino开发板连接干簧管(Reed Switch)的方法
在现实生活中,干簧管(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”用于保存干簧的状态。
- int LED = 7;
- int reed_switch = 4;
- int reed_status;
在setup()函数中,我们需要设置LED和干簧管连接的引脚状态。引脚4设置为输入,引脚7设置为输出。
- void setup()
- {
- pinMode(LED, OUTPUT);
- pinMode(reed_switch, INPUT);
- }
接下来,我们需要读取干簧管开关的状态。如果等于1,则开关断开,LED指示灯熄灭。如果它等于0,则开关短接,我们需要点亮LED灯。每秒重复一次这个过程。代码如下所示:
- void loop()
- {
- reed_status = digitalRead(reed_switch);
- if (reed_status == 1)
- digitalWrite(LED, LOW);
- else
- digitalWrite(LED, HIGH);
- delay(1000);
- }
以上就是使用Aduino开发板连接干簧管(Reed Switch)的方法。是不是很容易实现?如果您在使用过程中遇到问题,欢迎在本贴下面进行回复。
更多内容请参考以下链接:https://www.yiboard.com/thread-888-1-1.html
作者:子鱼
出处:https://www.yiboard.com
本文版权归作者和一板网电子技术论坛共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。