C51 单片机开发振动传感器控制继电器

2024-04-19 11:03:31 浏览数 (2)

上篇文章整理了关于震动传感器的内容,震动传感器的输出相当于单片机的输入。那么今天要介绍的继电器。

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 口上。当震动传感器感知到震动,那么单片机会接收到一个低电平,相应的单片机会给继电器送出一个低电平,并延迟两秒。

0 人点赞