Things used in this project

Hardware components:
Photon new
Particle Photon
×1
13285 01
PIR Motion Sensor (generic)
×1
Belkin WEMO Smart Outlet
×1
Software apps and online services:
Hackster
ThingSpeak API
IFTTT

Schematics

PIR Pin Out Schematic
PIR Pin Out
Iq7u4rimdgeozbvyahe1 m8bl8ryxeh

Code

PIR CodeC/C++
The code for the Photon to publish if the PIR sensor detects motion.
/*                          +-----+
 *               +----------| USB |----------+
 *               |          +-----+       *  |
 *               | [ ] VIN           3V3 [*] |<-------Power To PIR Sensor
 *               | [ ] GND           RST [ ] |
 *               | [ ] TX           VBAT [ ] |
 *               | [ ] RX  [S]   [R] GND [*] |<-------Ground for PIR Sensor
 *               | [ ] WKP            D7 [ ] |       
 *               | [ ] DAC +-------+  D6 [ ] |       
 *               | [ ] A5  |   *   |  D5 [ ] |       
 *               | [ ] A4  |Photon |  D4 [ ] |     
 *               | [ ] A3  |       |  D3 [ ] |
 *               | [ ] A2  +-------+  D2 [ ] |
 *               | [ ] A1             D1 [ ] |
 *               | [ ] A0             D0 [*] |<-------Signal from PIR Sensor
 *               |                           |
 *                \    []         [______]  /
 *                 \_______________________/
 */
int PIR = D0;//sets PIR equal to pin D0
int led = D7;
void setup() {
    pinMode(PIR, INPUT);
    //sets pin D0 as an input
    pinMode(led, OUTPUT);
}

void loop() {
    int pirValState;

  pirValState = digitalRead(PIR);
  
    if (pirValState == LOW){
        digitalWrite(led, HIGH);
        Particle.publish("jcashwell15", "office-motion");
    delay(5000);
    //if the PIR pin reads a HIGH signal then it will trigger the publish command
    }
}
Reciever CodeC/C++
This is the code for the second photon to turn on the lights if the PIR code published.
// This #include statement was automatically added by the Particle IDE.
#include <ThingSpeak.h>

void loop1() {
  // Get some data
  String data = String(10);
  // Trigger the integration
  Particle.publish("Light-On", data, PRIVATE);
  // Wait 60 seconds
  delay(60000);
}

void setup1() {
  // Subscribe to the integration response event
  Particle.subscribe("hook-response/Light-On", myHandler, MY_DEVICES);
}


void setup() {
Particle.subscribe("jcashwell15", myHandler);
}

void myHandler(const char *event, const char *data){
    //int num = (strcmp(data,"office-motion"));
   // delay(1000);
    if (strcmp(data,"office-motion")==0){
        Particle.publish("Light-On","jcashwell3");
    }
}

Credits

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Well House Temperature Manager
Easy
  • 283
  • 6

Full instructions

Monitors the temperature of the well house to prevent the well from freezing.

Drink Alert!!! (Beverage Can Monitor)
Easy
  • 343
  • 4

Full instructions

Tired of going to grab a soda only to find they're all gone!? Well now you have an alert system to let you know when you need to refill.

The Food Thief Catcher
Easy
  • 161
  • 4

Work in progress

Are you tired of all of your pesky roommates stealing your food? Me too, thats why we have the Food Thief Catcher!

Happy Wife =  Happy Life
Easy
  • 261
  • 3

Full instructions

Wife not a morning person? Improve your life by improving your wife's temperament in the morning. Fresh coffee makes wife happy!

Happy Wife = Happy Life

Team We Are Not Coders

Temperature Sensor
Easy
  • 401
  • 5

Full instructions

A photon that measures the temperature and humididty with a DHT 22 sensor and communicates the temperature data to another photon.

Motion Activated Room Light
Easy
  • 160
  • 4

Full instructions

With this project, you'll never have to search for the light switch in the dark again.

Add projectSign up / Login
Respect project