Things used in this project

Hardware components:
Photon new
Particle Photon
in my case I used a Particle/Spark Core
×1
13285 01
PIR Motion Sensor (generic)
×1
Adafruit industries ada1536 image
Buzzer
active buzzer thats makes "peep"
×1
09590 01
LED (generic)
×1
Mfr 25frf52 1k sml
Resistor 1k ohm
×1
11026 02
Jumper wires (generic)
counted around 7
×1
12002 04
Breadboard (generic)
×1
Software apps and online services:
Q8wtlimqnp04fzhtr9v5
IFTTT Maker service

Schematics

Schematic
Mypir sensor informs me via ifttt sketch steckplatine meuqxjhews

Code

Ingos CodeC/C++
// PIR Sensor triggers IFTTT-Services to inform a motion detection

// Ingo Lohs, v1.0 - 17.05.2017

int inputPin = D0;              // choose the input pin (for PIR sensor)
int ledPin = D1;                // LED Pin
int buzzerPin = D2;             // Sound in case of motion detected
int pirState = LOW;             // we start, assuming no motion detected
int val = 0;                    // variable for reading the pin status
int boardLed = D7;              // photon onBoard LED
int calibrateTime = 10000;      // wait for the thingy to calibrate

void setup() {

  pinMode(boardLed,OUTPUT);     // on-board LED 
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  pinMode(inputPin, INPUT);     // declare sensor as input
  
     // Now flash the D7 LED on and off 
  digitalWrite(boardLed,HIGH); // Start der Kallibrierung mit D7 on
  Particle.publish("Nicks Security Project","now online",100,PRIVATE);
  digitalWrite(boardLed,LOW); // Start der Kallibrierung mit D7 off

}
 
void loop() {
  
  // if the sensor is calibrated
  if ( calibrated() )
  {
  // get the data from the sensor
    readTheSensor();

    // report it out, if the state has changed
    reportTheData();
  }
}
 


void readTheSensor() {
  val = digitalRead(inputPin);
}


bool calibrated() {
  return millis() - calibrateTime > 0;
}


void reportTheData() {

  // if the sensor reads high
  // or there is now motion
  if (val == HIGH) {

    // the current state is no motion
    // i.e. it's just changed
    // announce this change by publishing an eent
    if (pirState == LOW) {
      // we have just turned on
      Particle.publish("Nicks Security Project", "Motion detected", PRIVATE);

      pirState = HIGH;
      setLED( pirState );

    }
  } else {
    if (pirState == HIGH) {
      // we have just turned of
      // Update the current state
      pirState = LOW;
      setLED( pirState );
    }
  }
}


void setLED( int state )
{
  digitalWrite( ledPin, state );
  digitalWrite( buzzerPin, state );
  delay(3000);
}

Credits

Img 6554 3ywwumwxbh
Ingo Lohs
35 projects • 42 followers
I am well over 40 years and come from the middle of Germany. You can contact me also in German. Donation for projects: paypal.me/ingolohs
Contact

Comments