Victor Perez-MundoMateo Morales Suarez
Published

Super Secret Motion Detector

This project used two Particle Argons, a PIR motion sensor, and a green LED to detect and notify movement.

BeginnerFull instructions provided116
Super Secret Motion Detector

Things used in this project

Hardware components

Argon
Particle Argon
×2
LED (generic)
LED (generic)
×1
PIR Motion Sensor (generic)
PIR Motion Sensor (generic)
×1
Micro-USB to USB Cable (Generic)
Micro-USB to USB Cable (Generic)
×2

Software apps and online services

Particle Build Web IDE
Particle Build Web IDE
Maker service
IFTTT Maker service

Hand tools and fabrication machines

Breadboard, 400 Pin
Breadboard, 400 Pin
10 Pc. Jumper Wire Kit, 5 cm Long
10 Pc. Jumper Wire Kit, 5 cm Long

Story

Read more

Schematics

LED Circuit Schematic

Code

LED Code

C/C++
int led = D7;



void setup() {

pinMode(led, OUTPUT);
digitalWrite(led, LOW);

Particle.subscribe("dentist_pizza69", myHandler, MY_DEVICES);


}

void myHandler(const char *event, const char *data)
{
if (strcmp(data,"1")==0) {
  digitalWrite(led, HIGH);
  Particle.publish("bacon_captainVP","1");

  }else if (strcmp(data,"0")==0) {
      digitalWrite(led, LOW);

  
}}

Motion Sensor

C/C++
int inputPin = D4;              
int ledPin = D7;                
int pirState = LOW;             
int val = 0;
int ledout = D6;
int calibrateTime = 10000;      

void setup()
    {
        pinMode( ledPin, OUTPUT );
        pinMode(inputPin, INPUT);   
        pinMode(ledout, OUTPUT);
        digitalWrite(ledout, LOW);
        Particle.subscribe("bacon_captainVP", myHandler, MY_DEVICES);
    }

void loop()
    {
        if ( calibrated() )
            {
               readTheSensor();
               reportTheData();
            }
    }

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

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

void reportTheData() 
    {
        if (val == HIGH) 
            {
                Particle.publish("dentist_pizza69", "1"); 
                pirState = HIGH;
                setLED( pirState );
                delay(60000);
            } 
            
        else 
            {   Particle.publish("dentist_pizza69","0");
                pirState = LOW;
                setLED( pirState );
                delay(10000);
            }
    }

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

void myHandler(const char *event, const char *data)
    {
        digitalWrite(ledout, HIGH);
        delay(5000);
        digitalWrite(ledout, LOW);
    }

Credits

Victor Perez-Mundo

Victor Perez-Mundo

1 project • 0 followers
Mateo Morales Suarez

Mateo Morales Suarez

1 project • 0 followers

Comments