概要
ESP8266 (以下 WROOM02) で人感センサーを使う
はじめに
照明が点きっぱなしで電気代がモッタイナイと思うときがちょいちょいありませんか?
人肌を検知して、いい感じに消灯してくれるようにならないものか。
AC 100V とか、乗り越えないといけない課題は多いが、まず手始めに、人感センサーはどのようなものか、試してみる。
部品調達
秋月でフラフラ漁っていると、何種類かの人感センサーを見つけた。
2015/09/30発売のPanasonicの新製品 PaPIRs がいいよ、と店員さんに教えてもらって、早速購入。
焦電型赤外線センサー PaPIRs 5m EKMC160111 (480円/個)
ちなみに、12m の長距離検出モデルは売り切れていた。
回路
- 人が近づいたら LED を点灯する。
- A/Dの精度が要らないので、TOUT 端子で十分だろう。
- TOUT 端子の入力は 0〜1V なので、本当ならセンサー出力は降圧が必要だけど、ON/OFF判定だけなので、今回は手を抜こう。特に問題ない。
- 過去最高に簡単だ。
Upverter の回路図は以下。
https: //upverter.com/exabugs/f1ae1e6951c12228/
スケッチ
- センサー値を、適当に 500 くらいで ON/OFF 判定しています。
extern "C" {
#include <user_interface.h>
}
#include <Ticker.h>
Ticker ticker;
#define LED 4
void setup() {
Serial.begin(115200);
Serial.println("");
pinMode(LED, OUTPUT);
ticker.attach_ms(500, timer);
}
void loop() {
}
void timer() {
// A/Dセンサー取得
int tout = system_adc_read();
Serial.println(tout);
digitalWrite(LED, tout < 500 ? LOW : HIGH);
}
動作確認
- 手前左側の白色の物体が、人感センサーです。
- ジャンパー線をすっきりするように、配線し直しましたwww
おわりに
- 予想通りの動き。センサー自体は小型だし、扱いやすい。
- この程度なら WROOM02 でなくても、トランジスタが1個あればよい。
いや、次のステップへの布石だと考えよう。 - じっと動かないでいると、照明が切れる。トイレで大をしているときに照明が切れる、あれを体感できる。
- 高い位置に設置しないと本来の性能は発揮されないだろうが、実験はここまで。