2015/10/10(土)廊下や階段

初心者向け教科書的な、人感センサー。

SB412A

Arduinoのdigital8にセンサー、digital6にLEDとかリレーとかデジタルトランジスタをつける。
ズボラなので、センサーのon時間を調整した時に自分で測らなくていいように、常に記録させてる。
int SENSOR = 8;
int OUTPIN = 6;

void setup() {
  // put your setup code here, to run once:
  pinMode(SENSOR, INPUT);
  pinMode(OUTPIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(1000);
  static int cur = 0, prev = -1, t = 0;
  char stat[4];
  cur = digitalRead(SENSOR);
  if (prev == cur) {
    t++;
  } else {
    digitalWrite(OUTPIN, cur);
    Serial.print("Time: ");
    Serial.println(t);
    Serial.print("Now: ");
    Serial.println(cur ? "on" : "off");
    prev = cur;
    t = 0;
  }
}