将干簧开关与Arduino连接的教程

描述

干簧开关用于许多现实生活中的应用,如磁性门开关、笔记本电脑、智能手机等。在本文中,我们将了解干簧开关,并指导您将干簧开关与Arduino连接。

干簧开关

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

干簧开关

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

有两种类型的磁簧开关。

常开簧片开关

常闭簧片开关

在常开磁簧开关中,开关在没有磁场的情况下断开,在有磁场的情况下闭合。在磁场存在下,玻璃管内的两个金属触点相互吸引而接触。

在常闭磁簧开关中,开关在没有磁场的情况下闭合,在有磁场的情况下打开。

干簧开关的应用

用于电话交换机

在笔记本电脑中,如果盖子合上,则使屏幕进入睡眠状态

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

所需组件

Arduino Uno

干簧开关

电阻

发光二极管

磁铁

连接线

Arduino 干簧开关电路图

干簧开关

干簧开关与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
电丙胺 1KB
时钟速度 16兆赫

为了将干簧开关与Arduino连接,我们需要构建一个分压器电路,如下图所示。开关断开时Vo为+5V,闭合时Vo为0V。我们在这个项目中使用常开簧片开关。开关在有磁场的情况下闭合,在没有磁场的情况下打开。

干簧开关

干簧开关

代码说明

本文末尾给出了此Arduino簧片开关项目的完整代码。代码被分成有意义的小块,并在下面解释。

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

int LED = 7;

int reed_switch = 4;

int reed_status;

在代码的这一部分中,我们必须设置连接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);
}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分