プロジェクト17 侵入警報

1. 説明

この侵入警報システムは、住宅や小規模オフィス内の侵入者を検知し、ホストに対して適時に対策を促すことができます。

本プロジェクトでは、センサーが特定のエリアを監視します。Arduinoボード上のデバイスが、そのゾーンで動きを検知するとLEDを点灯させ、ブザーを鳴らして注意を促します。

実際、このモジュールは実用性が高く、設置が簡単でコストも低いです。家庭やオフィスだけでなく、工場、倉庫、市場などにも適用でき、財産の安全を大いに守ります。

2. 動作原理

人体(37°C)は常に波長約10μmの赤外線を放射しており、これはセンサーが検知する波長に近いです。

このため、このモジュールは人体の動きを検知できます。動きがある場合、PIRセンサーは約3秒間ハイレベルを出力し、動きがなければローを出力します。

3. 配線図

4. テストコード

/*
  keyestudio ESP32 Inventor Learning Kit  
  Project 17.1 Invasion Alarm
  http://www.keyestudio.com
*/
int pir = 5;    //Define IO5 as PIR sensor pin 

void setup() 
{
  pinMode(pir,INPUT);   //Set IO5 pin to input 
  Serial.begin(9600);
}

void loop() 
{
  int pir_val = digitalRead(pir); 	//Read the PIR result and assign it to pir_val 
    Serial.print("pir_val:"); //Print “pir_val”
	Serial.println(pir_val);
    delay(500);
}

5. テスト結果

配線を接続しコードをアップロードした後、シリアルモニターを開きボーレートを9600に設定すると、シリアルポートにPIRの値が表示されます。PIRセンサーが人を検知すると、1が表示されます。

6. 知識拡張

侵入警報を作りましょう。PIRセンサーが人を検知すると、LEDが点灯しブザーが鳴ります。検知しない場合は、LEDは消灯しブザーは鳴りません。

  • フローチャート:

  • 配線図:

  • コード:

/*
  keyestudio ESP32 Inventor Learning Kit  
  Project 17.2 Invasion Alarm
  http://www.keyestudio.com
*/
int pir = 5;		//Set PIR sensor pin to IO5
int red_led = 18;	//Set red LED to pin IO18
int buzz = 19;		//Set buzzer to pin IO19

void setup() 
{
  // put your setup code here, to run once:
  pinMode(pir,INPUT);		//Set PIR pin to input mode 
  pinMode(red_led,OUTPUT);	//Set LED pin to output mode  
  pinMode(buzz,OUTPUT);		//Set buzzer pin to output mode 
}

void loop() 
{
  // put your main code here, to run repeatedly:
  int pir_val = digitalRead(pir);
  if(pir_val == 1)
  {
    digitalWrite(red_led,HIGH);
    digitalWrite(buzz,HIGH);
  }
  else
  {
    digitalWrite(red_led,LOW);
    digitalWrite(buzz,LOW);
  }
}

テスト結果

PIRセンサーが近くの人を検知すると、赤色LEDが点灯しブザーが鳴ります。