37款傳感器和模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒於本人手頭積累了一些傳感器與模塊,依照實踐(動手試試)出真知的理念,以學習和交流為目的,這里准備逐一做做實驗,不管能否成功,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗之三:微波雷達感應開關模塊
無意中得到一塊RCWL-0516微波雷達傳感器模塊,也稱RCWL-0516多普勒運動模塊,或叫做人體感應智能探測器。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傳感器模塊的前方不能有任何金屬部件。
實驗仿真圖



微波雷達感應開關模塊檢測到人體運動時,觸發高電平輸出,並延時2-3秒。
實驗三:微波雷達感應開關模塊實驗邏輯流程圖


/*
【Arduino】37種傳感器模塊系列實驗(3)
實驗三---微波雷達感應開關模塊
源代碼
*/
void setup()
{
pinMode(3,INPUT);
pinMode(13,OUTPUT);
}
void loop() {
if (digitalRead(3)) {
digitalWrite(13,LOW);
}
else {
digitalWrite(13,HIGH);
delay(3000);
}
}
源代碼之二
/*
【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗三:多普勒微波雷達感應開關模塊
GND – [connects to ground]
OUT -[connects to digital input]
VIN – [connects to 5v]
*/
#include <VirtualWire.h>
#define PIN_RADAR 2
#define PIN_TX 9
#define PIN_LED 13
void setup() {
Serial.begin(9600);
pinMode(PIN_LED, OUTPUT);
vw_set_tx_pin(PIN_TX); // Arduino pin to connect the receiver data pin
vw_setup(6000); // bps connection speed
}
int rv = -1;
void loop() {
digitalWrite(PIN_LED, HIGH);
int v = digitalRead(PIN_RADAR);
if (v != rv) {
rv = v;
char msg[20];
sprintf(msg, "R %lu %d", millis() / 1000, v);
vw_send((uint8_t *)msg, strlen(msg));
Serial.println(msg);
vw_wait_tx(); // Wait to finish sending the message
}
digitalWrite(PIN_LED, LOW);
delay(100);
}
