Arduino Nanoと人感センサHC-SR501
外出/帰宅時に玄関が真っ暗になるので靴を探すのがつらかったので、Arduinoと人感センサで足元を照らす装置を作ってみました。 材料さえあればハンダ付け含めて一時間ちょいで作れるのでおすすめです。
部品
使った部品は全てWishで購入しました。 おそらく、パチもんですが、特に回路に違いなどはなかったので問題無いと思います。
- Arduino Nano
- ボードサポートはArduino Nano/w ATMega328を使用
- 人感センサ HC-SR501
- LED
- 適当な奴
実装
回路
回路ってほどのもんではないですが・・・・・・
HC-SR501の
接続します。
LEDを
接続します。
コード
#define LED PD3 #define HumanSensor PD2 void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); pinMode(HumanSensor, INPUT); } void loop() { int isHuman = digitalRead(HumanSensor); if(isHuman == HIGH) { digitalWrite(LED,HIGH); Serial.println("There are some human.\n"); } else { Serial.println("There are no human.\n"); digitalWrite(LED,LOW); } delay(300); }
非常に単純なコードです。
HC-SR501は人間を感知した際に、HIGHを出力するため、上のようにif文を使わずに
void loop() { int isHuman = digitalRead(HumanSensor); digitalWrite(LED, isHuman); delay(300); }
としてもよいですが、全ての人感センサがHIGHを出してくれるとも限らないので、
if文で分岐したほうが後々別の人感センサを使いたくなったときに変更が楽でしょう。
delayが300msなのは、人感センサの反応時間が最小でも0.3s(らしい)からです。
実装してしまうと大変楽なのですが、最初は人感センサがHIGHを出すのかLOWを出すのか
わからなかったので、そこが面倒でした。
デバッグ中は人間(自分)が近くにいるので、自分に反応しないように人感センサを箱に入れたりしないといけないのも面倒でした・・・・・・
以上、GWのミニ工作でした。