PIR Motion Sensor with CloudX M633 CloudX

  • img
Project Details

PIR sensor detects any change in heat, and whenever it detects any change, its output PIN becomes HIGH. They are also referred as Pyroelectric or IR motion sensors.

Here we should note that every object emits some amount of infrared when heated. Human also emits infrared because of body heat. PIR sensors can detect small amount of variation in infrared. Whenever an object passes through the sensor range, it produces infrared because of the friction between air and object, and get caught by PIR.

The main component of PIR sensor is Pyroelectric sensor shown in figure (rectangular crystal behind the plastic cap). Along with BISS0001 ("Micro Power PIR Motion Detector IC"), some resistors, capacitors and other components used to build PIR sensor. BISS0001 IC take the input from sensor and does processing to make the output pin HIGH or LOW accordingly.

Pyroelectric sensor divide in two halves, when there is no motion, both halves remain in same state, means both senses the same level of infrared. As soon as somebody enters in first half, the infrared level of one half becomes greater than other, and this causes PIRs to react and makes the output pin high.
Pyroelectric sensor is covered by a plastic cap, which has array of many Fresnel Lens inside. These lenses are curved in such a manner so that sensor can cover a wide range.

 

Pinout

Wiring the PIR motion sensor to an CloudX is pretty straightforward – the sensor has only 3 pins.

  • GND – connect to ground
  • OUT – connect to an CloudX digital pin7
  • 5V – connect to 5V

 

Here’s the required parts for this project

  • * CloudX M633
  • * CloudX Softcard
  • * Lcd 16x2
  • * Motion Sensor
  • * CloudX Cable
  • * 1k ohm/ variable resistor 10k
  • * Jumper wires
  • * Sounder(Buzzer)

 

 

 

SCHEMATIC

ABSENT

when it did not detect any movement,

PRESENT

 

 

Code

Upload the following code.


#include<CloudX/LCD.h> 

#define PIR 7
#define Buzz 8

setup(){
           //setup here
 
           pinMode(PIR, INPUT);
           pinMode(Buzz, OUTPUT);
           
           LCD_setting(1,2,3,4,5,6);
           LCD_cmd(clear);
           LCD_cmd(cursorOff);
           LCD_writeText(1,1,"MOTION DETECTOR");

loop(){
           //Program here

           if(readPin(PIR) is HIGH)
           {
               digitalWrite(Buzz, HIGH);
               LCD_writeText(2,1,"STATUS: PRESENT");
               delayMs(1000);
           }
              
           else
           {
               digitalWrite(Buzz, LOW); 
               LCD_writeText(2,1,"STATUS: ABSENT");
           }    

      }
} 

 

 

Share this with friends