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); }