我們知道,如果使用光學(xué)的報(bào)警器,在范圍和靈敏度上比較難以控制。單片機(jī)開(kāi)發(fā)工程師們分享了一個(gè)基于單片機(jī)開(kāi)發(fā)的超聲波防盜報(bào)警器方案。該方案不僅可以用作超聲波防盜報(bào)警器,在有人入侵時(shí)發(fā)出警報(bào),有助于保護(hù)您的房屋。此外,也能將其作為電子門(mén)鈴。
該超聲波防盜報(bào)警器方案使用發(fā)射器和接收器模塊來(lái)發(fā)射信號(hào)。因此,只要有訪客進(jìn)入超聲波傳感器的路徑/范圍,單片機(jī)就會(huì)檢測(cè)到物體與傳感器的距離。如果對(duì)象在定義的范圍內(nèi),它將向蜂鳴器發(fā)送信號(hào)并開(kāi)始報(bào)警。
一、超聲波防盜報(bào)警器方案所需組件
1.超聲波傳感器(HC-SR04);
2.蜂鳴器;
3.Arduino UNO通用板;
4.跨接線(xiàn)若干:公對(duì)公,公對(duì)母;
5.Arduino或USB電纜;
6.12V適配器或5-9V電源。
二、什么是超聲波傳感器HC-SR04?
該傳感器模塊由超聲波發(fā)射器組成。其中一個(gè)是接收器,另一個(gè)是控制電路?;旧?,它們看起來(lái)就像一對(duì)圓眼,一只眼睛用來(lái)發(fā)射超聲波,另一只用來(lái)接收反射波。
基本上,超聲波傳感器的工作方式是:
當(dāng)我們將觸發(fā)引腳高電平閃爍一小段時(shí)間(在這種情況下為1000微秒)時(shí),傳感器將在已知時(shí)間發(fā)送超聲波(假設(shè)t1)
。該波將到達(dá)物體并在另一個(gè)已知時(shí)間(t2)反射回接收器傳感器。當(dāng)然,讓我們假設(shè)
t3 = t2-t1
t3等于波到達(dá)物體并返回所需的時(shí)間,因此(3/2 * t)是波到達(dá)物體所需的時(shí)間。最重要的是,我們知道聲速為340
m/s或29.1cm/ms,因此我們可以得到以cm為單位的距離。
當(dāng)然,利用超聲波返回的時(shí)間,我們可以計(jì)算出物體的距離。從現(xiàn)在起,我們知道了聲音的時(shí)間和速度,因此可以通過(guò)以下公式計(jì)算距離。
距離=(時(shí)間x聲速)/ 2
由于波傳播兩次以覆蓋相同的距離,因此該值除以2。
三、電路圖及說(shuō)明
首先,需要按照以下所示的骨架圖連接所有組件。
步驟1:連接傳感器。
(1)將Vcc連接到Vin;
(2)GND至GND;
(3)觸發(fā)引腳連接到引腳12,回波引腳連接到引腳13。
注意:如果使用9v電池,則必須將傳感器的Vcc引腳連接到5v。如果要將計(jì)算機(jī)用作電源,則必須將Vcc引腳連接到arduino的Vin。
步驟2:連接蜂鳴器。
為此,您連接蜂鳴器,基本上將地線(xiàn)接地,并將電源線(xiàn)連接到引腳8。
步驟3:寫(xiě)入代碼。
#define trigPin 12
#define echoPin 13
int Buzzer= 8;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(Buzzer, OUTPUT);
}
void loop() {
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseln(echoPin, HIGH);
distance = (duration/2)/ 29.1;
if (distance >= 80 II distance <= 0){
Serial.println("no object detected");
digitalWrite(Buzzer, LOW);
}
else {
Serial.printIn("object detected");
tone(Buzzer, 400); // play 400 Hz tone for 500 ms
delay(500);
tone(Buzzer, 800); // play 800Hz tone for 500ms
delay(500);
tone(Buzzer, 400); // play 400 Hz tone for 500 ms
delay(500);
tone(Buzzer, 800); // play 800Hz tone for 500ms
delay(500);
tone(Buzzer, 400); // play 400 Hz tone for 500 ms
delay(500);
tone(Buzzer, 800); // play 800Hz tone for 500ms
delay(500);
no' Tone(Buzzer);
}
delay(300);
}
值得注意的是,我們將觸發(fā)引腳定義為引腳12,將回聲引腳定義為引腳13。將壓電蜂鳴器命名為引腳8。將觸發(fā)和壓電蜂鳴器引腳設(shè)置為輸出,并將回聲引腳設(shè)置為輸入。門(mén)的長(zhǎng)度為60厘米,只要距離距離不少于60厘米,蜂鳴器就會(huì)關(guān)閉。一旦某些傳感器進(jìn)入傳感器范圍,蜂鳴器就會(huì)開(kāi)始鳴響。
-
單片機(jī)
+關(guān)注
關(guān)注
6026文章
44452瀏覽量
630829 -
防盜報(bào)警器
+關(guān)注
關(guān)注
3文章
72瀏覽量
23819 -
HC-SR04
+關(guān)注
關(guān)注
9文章
82瀏覽量
42535
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論