37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验三:RCWL-0516微波雷达传感器 RCWL-0516多普勒运动模块 人体感应智能探测器
RCWL-0516原理图
实验所需硬件清单
5V继电器模块X1
有源蜂鸣器模块X1
Arduino Uno开发板 X1
杜邦线 若干(备了10条)
LED发光二极管(蓝色)X1
220欧姆限流电阻(1/8W)x1
RCWL-0516微波雷达传感器模块X2
Proto Shield 原型扩展板(带mini面包板)X1
按键开关模块(下拉电阻与上拉电阻款各1只)X2
实验所需软件平台
代码编程 Arduino IDE (版本1.8.13)
仿真编程 Linkboy (版本V4.2)
图形编程 Mind+ (版本 V1.7.0 RC1.0)以及 编玩边学(线上平台)
实验一:通过串口显示微波传感器检测的数值与波形
1、实验一参考开源代码(Arduino)
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一:通过串口显示微波传感器检测的数值与波形
实验接线:微波传感器OUT接Uno的A0
*/
void setup()
{
Serial.begin(9600); // 设置串口波特率为9600
pinMode(A0, INPUT); // 微波传感器连接引脚A0,并设置为输入模式
}
void loop()
{
Serial.println(analogRead(A0)); //将读取的A0模拟值输出到串口监视器
delay(500); // 延时500毫秒
}
打开Arduino IDE上的串口监视器(红点处),读取A0模拟端口输入的实验数值
打开Arduino IDE——工具——串口绘图器,查看微波雷达的波形
实验一开源图形编程(Mind+、编玩边学)
实验一场景图
实验二、微波雷达感应声光报警器
1、实验二参考开源代码(Arduino):
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二:微波雷达感应声光报警器
LED(接入板载灯D13脚),蜂鸣器模块接D12
实验接线:
微波传感器 Uno
VCC Vcc
GND GND
OUT D2
*/
void setup() {
pinMode(2, INPUT);//将2号数字口设置为输入状态
pinMode(12, OUTPUT);//12口输出,接蜂鸣器
pinMode(13, OUTPUT);//13号数字口设置为输出状态
}
void loop() {
if (digitalRead(2)) {//如果有微波感应信号(人体运动)
digitalWrite(12, LOW); //则蜂鸣器响(自动延时3秒钟)
digitalWrite(13, HIGH); //则灯点亮
}
else {
digitalWrite(12, HIGH); //则蜂鸣器关闭
digitalWrite(13, LOW); //否则灯灭(无信号)
delay(500);
}
}
实验二开源图形编程(Mind+、编玩边学)
实验二实验场景图
程序五:RCWL-0516雷达模块测试程序
实验参考开源代码(Arduino):
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序五:RCWL-0516雷达模块测试程序
实验接线:微波传感器接D2
*/
int inPin = 2; // RCWL-0516 OUT引脚连接到D2
int reading;
void setup(){
pinMode(inPin, INPUT);
Serial.begin(9600);
Serial.println("RCWL-0516雷达测试");
}
void loop(){
reading = digitalRead(inPin);
if (reading == HIGH) {
Serial.println("感应到运动信号!");
}
else {
Serial.println("准备就绪");
}
delay(500); // 等待0.5秒
}
实验串口输出截图