2014年5月10日 星期六

[Arduino] 簡易的門窗警報裝置 – Simple Alarm Gadget

medium_3731418042
photo credit: Malinkrop via photopin cc

我們可以利用蜂鳴器(簡介看這裡),以及兩顆 LED,製作出一套簡易的門窗警報裝置,可以達到類似汽車警報器的效果。






先來看一下整體的運作效果:
當兩條線分開的時候,蜂鳴器會發出高低聲響同時紅綠 LED 會不停閃動,直到兩條線貼合回為止,LED 燈會呈現綠燈。可以把兩條線分別裝置到門與門框上,當門打開時會就發出警報,當作簡單的防盜裝置。

Step 1. 準備材料:
蜂鳴器 x1
紅色 LED x1
綠色 LED x1
220 ohm 電阻 x3

Step 2. 接線:
image
image
最右側的電路,兩端相接的時候會是 5V,分開的時候會時 0V,是最基本的開關裝置

Step 3. Sketch & 解說:

//設定開關 pin、蜂鳴器 pin 、紅綠 LED pin
const int switchPin = 2;
const int piezoPin = 4;
const int redLed = 7;
const int greenLed = 8;
 
// 設定 pinMode,只有開關裝置為 INPUT
void setup(){
pinMode(switchPin,INPUT);
pinMode(piezoPin,OUTPUT);
pinMode(redLed,OUTPUT);
pinMode(greenLed,OUTPUT);
}
 
// 設計一個警保裝置,當右側的開關連接時,綠色 LED 會發光
// 表示目前為安全狀態
// 當右側段開時,蜂鳴器會發出警報聲,同時紅綠 LED 燈會不同交錯發光
void loop(){
// 讀取開關狀態開 = 0V/關=5V
int switchState = digitalRead(switchPin);
// 當兩線接在一起時,開關狀態 = 5V (HIGH),使綠色 LED 燈亮起
if (switchState == HIGH){
   digitalWrite(greenLed,HIGH);
}
// 當兩線分開時,開關狀態 0V (LOW),LED 閃爍+蜂鳴器發聲
else if (switchState == LOW){
   tone(piezoPin,650,230);
   delay(230);
   noTone(piezoPin);
   blinkLed();  // 呼叫閃爍 LED function
   tone(piezoPin,1550,100);
   delay(100);
   noTone(piezoPin);
}
}
 
// 紅綠 LED 交錯閃爍的 function
void blinkLed(){
digitalWrite(greenLed,LOW);
digitalWrite(redLed,HIGH);
delay(100);
digitalWrite(greenLed,HIGH);
digitalWrite(redLed,LOW);
delay(100);
}
 
 
 
That’s it, have fun!






1 則留言:

  1. 如果蜂鳴器聲音太小要麼改善?

    回覆刪除

Anything That's Worth Chatting

Related Posts Plugin for WordPress, Blogger...