【雕爺學(xué)編程】Arduino動(dòng)手做(03)---微波雷達(dá)感應(yīng)開(kāi)關(guān)模塊

37款傳感器的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器,依照實(shí)踐(動(dòng)手試試)出真知的理念,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一做做實(shí)驗(yàn),不管能否成功,都會(huì)記錄下來(lái)---小小的進(jìn)步或是搞不掂的問(wèn)題,希望能夠拋磚引玉。?

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

實(shí)驗(yàn)三:微波雷達(dá)感應(yīng)開(kāi)關(guān)模塊

無(wú)意中得到一塊RCWL-0516微波雷達(dá)傳感器模塊,也稱RCWL-0516多普勒運(yùn)動(dòng)模塊,或叫做人體感應(yīng)智能探測(cè)器。RCWL-0516模塊在芯片中集成了低壓調(diào)節(jié)器,所以它很容易使用,也很容易被拼接到一些小項(xiàng)目中去。




RCWL-0516傳感器模塊是替代常見(jiàn)的PIR運(yùn)動(dòng)傳感器的極佳選擇,RCWL-0516傳感器廣泛應(yīng)用于防盜報(bào)警器和安全燈。RCWL-0516傳感器與PIR傳感器一樣,只能檢測(cè)到探測(cè)范圍內(nèi)的物體運(yùn)動(dòng),不能探測(cè)到移動(dòng)物體的黑體輻射。RCWL-0516傳感器是采用“微波多普勒雷達(dá)”技術(shù)來(lái)探測(cè)移動(dòng)物體,因此它也被稱作多普勒傳感器,探測(cè)距離范圍是7米左右。 當(dāng)被觸發(fā)時(shí),它的TTL-level (OUT)針將在2s到3s內(nèi)從低電平(0V)轉(zhuǎn)換到高電平(3.5V),然后返回到IDLE(低)狀態(tài).

模塊特性:

電壓范圍:4–28 VDC

工作頻率:??3.2 GHz

發(fā)射功率:??20 mW (typical)/30 mW (max)

感應(yīng)距離:??5–7 m

RCWL-0516微波雷達(dá)運(yùn)動(dòng)傳感器模塊引腳圖:


CDS —禁用傳感器輸入(low = disable);VIN — 4~ 28VDC電源輸入;OUT — HIGH (3.3 V) 動(dòng)態(tài)偵測(cè)/LOW (0 V) 空閑;GND — 地/0 V;3V3 — 調(diào)節(jié)直流輸出 (最大100 mA)。

RCWL-0516傳感器模塊可以很容易地與許多微控制器一起使用,甚至可以單獨(dú)使用。它支持4~28 v的電源。輸出接口可用于許多任務(wù)場(chǎng)景,例如直接驅(qū)動(dòng)一個(gè)聽(tīng)覺(jué)/視覺(jué)指示器,或者與微控制器的連接更深入的對(duì)數(shù)據(jù)進(jìn)行處理。在運(yùn)用過(guò)程中,RCWL-0516傳感器模塊的前方不能有任何金屬部件。

實(shí)驗(yàn)仿真圖


微波雷達(dá)感應(yīng)開(kāi)關(guān)模塊檢測(cè)到人體運(yùn)動(dòng)時(shí),觸發(fā)高電平輸出,并延時(shí)2-3秒。

實(shí)驗(yàn)三:微波雷達(dá)感應(yīng)開(kāi)關(guān)模塊實(shí)驗(yàn)邏輯流程圖



/*

??【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

? ? 實(shí)驗(yàn)三---微波雷達(dá)感應(yīng)開(kāi)關(guān)模塊

? ? 源代碼

*/

void setup()

{

? ? pinMode(3,INPUT);

? ? pinMode(13,OUTPUT);

}

void loop() {

? if (digitalRead(3)) {

? ? digitalWrite(13,LOW);

? }

? else {

? ? digitalWrite(13,HIGH);

? ? delay(3000);

? }

}

源代碼之二

/*

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

實(shí)驗(yàn)三:多普勒微波雷達(dá)感應(yīng)開(kāi)關(guān)模塊

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

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容