はじめに
Arduino UNOの機能を活かし、焦電センサーで人の通過を検知したらLEDが一定時間だけ点灯するシステムを作成します。
焦電センサー
焦電センサーはHC-SR501を用いました。データシートはここにあります。このセンサーは感度調整などが難しいと感じました。



電子回路の作成
回路図は以下のようになります。

実体配線図は以下のようになります。

プログラムの作成(動作確認)
HC-SR501が人を検知したら、シリアルモニターに「1」を表示し、一定時間が経過したら「0」に戻るスケッチは以下のようになります。
#define SENSOR_PIN 2
void setup() {
Serial.begin(9600);
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
Serial.println(digitalRead(SENSOR_PIN));
delay(200);
}
このプログラムの動作が以下の動画です。
プログラムの作成(LEDを点灯する)
人の動きを検知したら、LEDが一定時間だけ点灯するようにします。プログラムを以下に示します。
#define SENSOR_PIN 2
#define LED_PIN 13
int sv = 0;
void setup() {
Serial.begin(9600);
pinMode(SENSOR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
sv = digitalRead(SENSOR_PIN);
Serial.println(sv);
if (sv == 1) digitalWrite(LED_PIN, HIGH);
else digitalWrite(LED_PIN, LOW);
delay(200);
}
この動作状況を以下に示します。


コメント