回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【雕爷学编程】Arduino动手做(03)---RCWL-0516多普勒模块 中等

头像 驴友花雕 2023.06.25 34 4

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验三:RCWL-0516多普勒运动模块  人体感应智能探测器

 

02.jpg

03.jpg
04.jpg
05.jpg
06.jpg
07.jpg
08.jpg
09.jpg
10.jpg

RCWL-0516传感器模块是替代常见的PIR运动传感器的极佳选择,RCWL-0516传感器广泛应用于防盗报警器和安全灯。RCWL-0516传感器与PIR传感器一样,只能检测到探测范围内的物体运动,不能探测到移动物体的黑体辐射。RCWL-0516传感器是采用“微波多普勒雷达”技术来探测移动物体,因此它也被称作多普勒传感器,探测距离范围是7米左右。 当被触发时,它的TTL-level (OUT)针将在2s到3s内从低电平(0V)转换到高电平(3.5V),然后返回到IDLE(低)状态。


模块特性:
电压范围:4–28 VDC
工作频率:  3.2 GHz
发射功率:  20 mW (typical)/30 mW (max)
感应距离:  5–7 m

RCWL-0516微波雷达运动传感器模块引脚图:

 

10-.jpg

 


 

CDS —禁用传感器输入(low = disable);VIN — 4~ 28VDC电源输入;OUT — HIGH (3.3 V) 动态侦测/LOW (0 V) 空闲;GND — 地/0 V;3V3 — 调节直流输出 (最大100 mA)。


RCWL-0516传感器模块可以很容易地与许多微控制器一起使用,甚至可以单独使用。它支持4~28 v的电源。输出接口可用于许多任务场景,例如直接驱动一个听觉/视觉指示器,或者与微控制器的连接更深入的对数据进行处理。在运用过程中,RCWL-0516传感器模块的前方不能有任何金属部件。

 

11.jpg
11-00.jpg
11-01.jpg

 

 

​Arduino实验开源代码
 


 

代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验三:RCWL-0516多普勒运动模块  人体感应智能探测器
*/

void setup()
{
    pinMode(3,INPUT);
    pinMode(13,OUTPUT);
}

void loop() {
  if (digitalRead(3)) {
    digitalWrite(13,LOW);
  }
  else {
    digitalWrite(13,HIGH);
    delay(3000);
  }
}

实验开源图形编程(Mind+、编玩边学)


13.jpg

23.jpg

 

 

Arduino实验场景图

 

24.jpg

Arduino实验开源代码

 

 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验三:RCWL-0516多普勒运动模块  人体感应智能探测器
  项目:使用微波传感器制作Arduino运动探测器
  安装库:IDE—工具—管理库—搜索LiquidCrystal_I2C库—安装
  实验接线:微波传感器接D2,D12接蜂鸣器,D13接LED灯
           LCD1602A IIC接口A4、A5
*/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// 将LCD地址设置为0x27,以显示16个字符和2行
LiquidCrystal_I2C lcd(0x27, 16, 2);
int Sensor = 2;   // D2接微波传感器
int LED = 13;     // D13接LED灯
int Buzzer = 12; // D12接蜂鸣器
int flg = 0;  // 变更检测标志

void setup(){
  Serial.begin(9600);
  lcd.init(); //初始化LCD
  lcd.clear();  // 清除LED屏幕
  lcd.print("...MAKER.PRO...");
  delay(2000);
  lcd.backlight(); //打开背光
  pinMode (Sensor, INPUT);  // 将微波雷达引脚定义为输入
  pinMode (Buzzer, OUTPUT);    // 定义蜂鸣器为输出
  pinMode (LED, OUTPUT);    // 定义LED为输出
  Serial.println("Waiting for motion");// 准备就绪
}

void loop() {
  int val = digitalRead(Sensor); //赋值微波感应信号给变量
  if ((val > 0) && (flg == 0))// 检测到运动信号
  {
    digitalWrite(LED, HIGH);
    digitalWrite(Buzzer, HIGH);
    lcd.clear();
    Serial.println("Motion Detected");
    lcd.print("Motion Detected");
    flg = 1;
  }

  if (val == 0) // 没有检测到运动
  {
    digitalWrite(LED, LOW);
    digitalWrite(Buzzer, LOW);
    lcd.clear(); // 清除LED屏幕
    Serial.println("NO Motion");
    lcd.print("NO Motion "); 
    flg = 0;
  }
  delay(100);
}

实验开源图形编程(Mind+、编玩边学)

 

33.jpg

Arduino实验场景图

 

35.jpg

评论

user-avatar
  • 花生编程

    花生编程2023.08.15

    赞赞赞

    0
    • 花生编程

      花生编程2023.08.15

      厉害厉害

      0
      • 三春牛-创客

        三春牛-创客2023.08.12

        赞赞赞

        0
        • 三春牛-创客

          三春牛-创客2023.08.12

          厉害厉害

          0
          icon 他的勋章
            展开更多