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

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微波雷达运动传感器模块引脚图:

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传感器模块的前方不能有任何金属部件。



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+、编玩边学)
Arduino实验场景图

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+、编玩边学)

Arduino实验场景图

花生编程2023.08.15
赞赞赞
花生编程2023.08.15
厉害厉害
三春牛-创客2023.08.12
赞赞赞
三春牛-创客2023.08.12
厉害厉害