紅外線動作感測器是一種可以偵測物體移動的電子零件。日常生活中,燈泡、蠟燭或人體都會發射紅外線,而紅外線動作感測器的工作原理,便是利用人體發射出來的紅外線之變化情況來感應物體的移動。
紅外線動作感測器共有三支接腳,外觀如下圖:
| 
腳位名稱 | 
功能 | 
| 
GND | 
接到接地 | 
| 
VCC | 
接到 +5V 電源 | 
| 
OUT | 
輸出訊號 | 
偵測到移動物體則警示燈開始閃爍
1. 把 LED長腳 (陽極) 接到Arduino
板子上 pin13,短腳 (陰極) 接到 GND
2. 把紅外線動作感測器 GND 腳位接到 GND,V+ 腳位接到 +5V,然後 OUT 腳位接到數位輸入(Digital pins) pin 2
1. 把 LED長腳 (陽極) 接到Arduino
板子上 pin13,短腳 (陰極) 接到 GND
2. 把紅外線動作感測器 GND 腳位接到 GND,V+ 腳位接到 +5V,然後 OUT 腳位接到數位輸入(Digital pins) pin 2
| 
const int PIRSensor = 2;     // 紅外線動作感測器連接的腳位 
const int ledPin =  13;     
  // LED 腳位 
int sensorValue = 0;         // 紅外線動作感測器訊號變數 
void setup()  
{ 
 
  pinMode(PIRSensor, INPUT);    //
  紅外線動作感測器連接的腳位 
 
  pinMode(ledPin, OUTPUT);      //
  LED 腳位  
} 
void loop() 
{ 
  // 讀取 PIR Sensor 的狀態 
 
  sensorValue = digitalRead(PIRSensor); 
  // 判斷 PIR Sensor 的狀態 
  if
  (sensorValue == HIGH)  
 
  {     
   
  digitalWrite(ledPin, HIGH);  // 偵測到有人,LED燈閃爍 
   
  delay(50); 
   
  digitalWrite(ledPin, LOW);  
   
  delay(50); 
  } 
  else  
  { 
   
  digitalWrite(ledPin, LOW);   // 沒偵測到人,LED off 
  } 
} | 
偵測到移動物體則警示燈開始閃爍,且警報器響起
1. 把 LED長腳 (陽極) 接到Arduino
板子上 pin13,短腳 (陰極) 接到 GND
3. 把蜂鳴器長腳接到Arduino 板子上pin8,短腳接到GND
1. 把 LED長腳 (陽極) 接到Arduino
板子上 pin13,短腳 (陰極) 接到 GND
2. 把紅外線動作感測器 GND 腳位接到 GND,V+ 腳位接到 +5V,然後 OUT 腳位接到數位輸入(Digital pins) pin 2
3. 把蜂鳴器長腳接到Arduino 板子上pin8,短腳接到GND
| 
const int PIRSensor = 2;     // 紅外線動作感測器連接的腳位 
const int ledPin =  13;     
  // LED 腳位 
const int BUZZERpin= 8;   // Output pin for the Buzzer 
int sensorValue = 0;         // 紅外線動作感測器訊號變數 
void setup()  
{ 
 
  pinMode(PIRSensor, INPUT);    //
  紅外線動作感測器連接的腳位 
 
  pinMode(ledPin, OUTPUT);     //
  LED 腳位  
 
  pinMode(BUZZERpin, OUTPUT);  //
  declare LEDpin as output 
} 
void loop() 
{ 
 
  // 讀取 PIR Sensor 的狀態 
 
  sensorValue = digitalRead(PIRSensor); 
 
  // 判斷 PIR Sensor 的狀態 
 
  if (sensorValue == HIGH)  
 
  {     
   
  digitalWrite(ledPin, HIGH);  // 偵測到有人,LED燈閃爍 
   
  digitalWrite(BUZZERpin, HIGH); 
  // turn Buzzer on if motion detected 
   
  delay(50); 
   
  digitalWrite(ledPin, LOW);  
   
  digitalWrite(BUZZERpin, LOW);  
  // turn Buzzer off 
   
  delay(50); 
  } 
 
  else  
  { 
   
  digitalWrite(ledPin, LOW);   // 沒偵測到人,LED off 
   
  digitalWrite(BUZZERpin, LOW);  
  // turn Buzzer off 
  } 
} | 





 
 
 
沒有留言:
張貼留言