上篇文章整理了关于震动传感器的内容,震动传感器的输出相当于单片机的输入。那么今天要介绍的继电器。
0x01:什么是继电器
继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器 。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种"自动开关"。故在电路中起着自动调节、安全保护、转换电路等作用。
0x02:继电器使用的介绍
继电器的概念挺复杂的,它的概念是我从网上找的。简单来说,继电器可以算是一个开关,可以控制直流电(比如干电池),也可以控制交流电(比如家里的 220V 的电)。传统电路中有开关,通过手动闭合或断开让电路接通或断路。而继电器这种开关并不是手动进行闭合,而是通过单片机改变电平来使继电器闭合或断开。
继电器的实物如下图所示:
看到上面的实物图以后,简单的介绍一下它上面的引脚。继电器上面有 3 个引脚,分别是 VCC、GND 和 IN,它们的作用分别是:
- VCC:正极
- GND:负极
- IN:输入口 除了上面的引脚,在上图的右侧也有三个口,分别是:NO、NC 和 COM 三个口,它们的作用分别是:
- NO:Normal Open,通常状态下是打开状态,即线圈未通电的情况下是打开的
- NC:Normal Close,通常情况下是关闭状态,即线圈未通电的情况下是闭合的
- COM:为公共端,联通常开端或者常闭端
IN 针脚没有收到单片机送来的低电平时,NO 和 COM 是断开的状态,IN 口收到单片机送来的低电平时,NO 和 COM 口会进行吸合,当吸合时继电器的电路导通。
在继电器上有两个指示灯,红色的是电源灯,加电后该灯会常亮,绿色的是状态灯(我称它为状态灯),当 NO 和 COM 口吸合时会亮起。
通过继电器的电路,可以来完成智能开关,当控制 220V 的交流电时要注意安全!
0x03:震动传感器控制继电器
震动传感器在上篇文章中已经介绍过了,并且也给出了代码示例。在上篇文章的基础上,我们让震动传感器来控制继电器。当震动传感器感知到震动时,相应的让单片机给继电器输出低电平,从而让 NO 和 COM 口进行吸合。从前面的描述中可以知到,当 NO 和 COM 吸合时状态等会亮起。代码如下:
代码语言:javascript复制#include <intrins.h>
#include "reg52.h"
sbit switcher = P1 ^ 1;
sbit vibrate = P3 ^ 3;
void Delay2000ms()
{
unsigned char i, j, k;
_nop_();
i = 15;
j = 2;
k = 235;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
while (1)
{
if (vibrate == 0)
{
switcher = 0;
Delay2000ms();
switcher = 1;
}
else
{
switcher = 1;
}
}
}
从上面的代码中可以看出,继电器接在 P1.1 口,振动传感器接在 P3.3 口上。当震动传感器感知到震动,那么单片机会接收到一个低电平,相应的单片机会给继电器送出一个低电平,并延迟两秒。