Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
jialex
Published

Motion Detector system

This project is an electronic project that can track when a child is left in the car as can happen a lot at the moment.

IntermediateWork in progress132
Motion Detector system

Things used in this project

Hardware components

Female/Female Jumper Wires
Female/Female Jumper Wires
×1
Male/Female Jumper Wires
Male/Female Jumper Wires
×1
Male/Male Jumper Wires
×1
Test Accessory, AC Power Adaptor
Test Accessory, AC Power Adaptor
×1
Arduino UNO
Arduino UNO
×1
Arduino GSM shield V2
Arduino GSM shield V2
×1
PIR Motion Sensor (generic)
PIR Motion Sensor (generic)
×1
Grove - 2-Channel SPDT Relay
Seeed Studio Grove - 2-Channel SPDT Relay
×1
5 mm LED: Yellow
5 mm LED: Yellow
×3
Through Hole Resistor, 470 ohm
Through Hole Resistor, 470 ohm
×3
Geared AC Motor, 12 rpm
Geared AC Motor, 12 rpm
×1
Toggle Switch, Toggle
Toggle Switch, Toggle
×1
Switch Actuator, Head for spring return push-button
Switch Actuator, Head for spring return push-button
×1

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
Hot glue gun (generic)
Hot glue gun (generic)

Story

Read more

Schematics

schematic diagram

Code

Code

C/C++
#include <SoftwareSerial.h>

SoftwareSerial SIM900A(0,1);

int StopSending =0;

int WindowClose=8; 
int WindowOpen=9;
int Pir=2;
int EngineSwitch=3;
int WindowSwitch=4;
int LedEngineRun=6;
int LedEngineStop=7;
int PirLedStatus=5;

int Counter=0;


void setup(){

  //Serial.begin(9600);
  SIM900A.begin(9600);
  
  pinMode(EngineSwitch, INPUT_PULLUP);
  pinMode(Pir, INPUT_PULLUP);
  pinMode(WindowSwitch, INPUT_PULLUP);
  pinMode(WindowClose, OUTPUT); 
  pinMode(WindowOpen, OUTPUT); 
   pinMode(LedEngineRun, OUTPUT); 
  pinMode(LedEngineStop, OUTPUT);
  pinMode(PirLedStatus, OUTPUT);  


}

void loop()
{

  int EngineSwitchValue = digitalRead(3);
  int WindowSwitchValue = digitalRead(4);
  int PirValue = digitalRead(2);
  
  ///////////////////////////////////////////////////////////////////////////pir led status//////////////////
  
   if (PirValue == HIGH)
  {
    
     digitalWrite(PirLedStatus, HIGH);
     
  } 
  
   else if (PirValue == LOW) 
  {
    
     digitalWrite(PirLedStatus, LOW);
     
  } 
 ///////////////////////////////////////////////////////////ENGINE led status


  if (EngineSwitchValue == HIGH) 
  {
     digitalWrite(LedEngineStop, LOW);
     digitalWrite(LedEngineRun, HIGH);
     StopSending =0;
  } 
  else 
  {
     digitalWrite(LedEngineStop,HIGH);
     digitalWrite(LedEngineRun, LOW);
  
  }
  
///////////////////////////////////////////////////////////////////power window relay/////////////////


  

  if (WindowSwitchValue == LOW && Counter == 0 && EngineSwitchValue == HIGH)
  {
     Counter=1;
     digitalWrite(WindowClose, LOW);
     digitalWrite(WindowOpen, HIGH);
     delay(3000);
     digitalWrite(WindowClose, LOW);
     digitalWrite(WindowOpen, LOW);
    
   
  } 
 else if (WindowSwitchValue == LOW && Counter == 1 && EngineSwitchValue == HIGH)
  {
     Counter=0;
     digitalWrite(WindowClose, HIGH);
     digitalWrite(WindowOpen, LOW);
     delay(3000);
     digitalWrite(WindowClose, LOW);
     digitalWrite(WindowOpen, LOW);
     
    
  } 

///////////////////////////////////////////////////////////////////detect baby and engine off/////////////////


  

  if (PirValue == HIGH && EngineSwitchValue == LOW &&  StopSending == LOW) //CHILD INSIDE CAR WITH ENGINE STOP
  {
     Counter=1;
     digitalWrite(WindowClose, LOW);
     digitalWrite(WindowOpen, HIGH);
     delay(3000);
     digitalWrite(WindowClose, LOW);
     digitalWrite(WindowOpen, LOW);
     
     SIM900A.println("AT+CMGF=1");    
     delay(1000);  
            
     SIM900A.println("AT+CMGS=\"+60126199749\"\r");
     delay(1000);
            
     SIM900A.println("Child On Board!!");
     delay(100);
            
     SIM900A.println((char)26);// ASCII code of CTRL+Z
     delay(1000);
              
     StopSending =1;
              
     delay(500);
          
   
  } 

 
  
}

Credits

jialex
0 projects • 0 followers
Contact

Comments

Please log in or sign up to comment.