#include <Arduino.h>
#include <Stepper.h>
/*
PIR sensor tester
*/
const int stepsPerRevolution = 200;
int ledSensor = 13;
int ledSlaapkamer = 6;
int ledLiving = 5;
int ledTrap = 3;
int inputPin = 2; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
long motionStartTime = 0;
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
pinMode(ledSensor, OUTPUT); // declare LED as output
pinMode(ledSlaapkamer, OUTPUT);
pinMode(ledLiving, OUTPUT);
pinMode(ledSensor, OUTPUT);
pinMode(inputPin, INPUT); // declare sensor as input
myStepper.setSpeed(60);
Serial.begin(9600);
}
void loop() {
val = digitalRead(inputPin); // read input value
Serial.println(val);
if (val == HIGH) { // check if the input is HIGH
digitalWrite(ledSensor, HIGH); // turn LED ON
if (pirState == LOW) {
// we have just turned on
Serial.println("Motion detected!");
// We only want to print on the output change, not state
//pirState = HIGH;
long currentTime = millis();
long elapsedTime = currentTime - motionStartTime;
Serial.println(elapsedTime);
if (elapsedTime >= 200 && elapsedTime < 400) {
digitalWrite(ledSlaapkamer, HIGH);
} else if (elapsedTime >= 400) {
digitalWrite(ledLiving, HIGH);
}
myStepper.step(stepsPerRevolution);
}
} else {
digitalWrite(ledSensor, LOW); // turn LED OFF
if (pirState == HIGH) {
// we have just turned of
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
myStepper.step(-stepsPerRevolution);
}
}
}
#define IDLE 1;
#define START_ALARM 2;
#define STOP_ALARM 6
#define ALARM 3;
#define hond 4;
#define ROLLUIKEN 5;
int ledSensor = 13;
int ledSlaapkamer = 6;
int ledLiving = 5;
int ledTrap = 3;
int pinHOND = 7;
int inputPin = 2; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0;
unsigned long timer;
int interval = 3000;
byte statusHUIS = IDLE;
// variable for reading the pin status
switch (statusHuis) {
case IDLE:
if (digitalRead(PIN_PIR) == HIGH) {
statusHuis = START_ALARM;
}
break;
case START_ALARM:
digitalWrite((PIN_LED, HIGH));
timer = millis();
statusHuis = START_ALARM;
break;
case ALARM:
if () {
if (millis() - timer > interval) {
statusHuis = STOP_ALARM;
}
}
break;
case STOP_ALARM:
digitalWrite((PIN_LED, LOW));
statusHuis = IDLE;
break;
default:
break;
}Buiten
Sensor
Blaffende
Hond
Slaap
kamer
Trap
Living
Sensor