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

2-Way Particle Photon Communication
Easy
  • 132
  • 4

Make two Particle Photons "talk" via the usage of webhooks!

E-Paper Weather Display with Photon and IFTTT
Easy
  • 749
  • 9

Full instructions

Create a beautiful medium for weather information using Particle's cloud services and IFTTT.

IFTTT - Enabled Sensors with Particle Photon
Easy
  • 660
  • 11

Full instructions

Connect any sensor to Particle Photon and use it to trigger an IFTTT action with just a few lines of code.

Light Detecting Email Sender
Easy
  • 208
  • 4

Full instructions

Receive an email about when the light is too strong on your device; nobody wants a heated device left directly under the sun. Photon + IFTTT

WiFi Strength Meter
Easy
  • 4
  • 0

A meter that indicates the Wi-Fi signal strength in an intuitive way, using the parts I had on hand.

Internet-Connected Popcorn Popper
Easy
  • 141
  • 1

Full instructions

A hot air popcorn popper triggered via the Internet! (Built for the Bellingham Codes May event.)

Add projectSign up / Login