# Learn Embedded Programming [Step by Step]

## Thief Detector using Microcontroller & PIR Motion Sensor

For home security , we can build  " Thief Detector "  using  PIC 18f2550 microcontroller and PIR Motion Sensor . When something will be moving front to the sensor , the thief detector system will give an alarm to us . That's the basic theme of this project .

### PIR Motion Sensor :

Actually this sensor is continuously transmitting an Infrared Ray signal and receiving the reflected  signal . According to the information of  receiving signal it changes it's output signal . You can see the pin out of PIR Motion Sensor .
Generally  when something moving in the front of it  , the sensor produce 3.3 volt to it's out pin . Otherwise the out pin will be 0 volt . By applying this technique we can get information or status of out doors .
We will get the PIR Sensor connected with ADC(Analog to Digital Converter ) pin of PIC 18F2550 . We will use RA0 as input .

### ADC(Analog to Digital Converter ) :

We need a basic knowledge about ADC . Let's  take a look at here :

Basically ADC is like as voltage divider . According to voltage It produce output .

bit 5 : VCFG0: Voltage Reference Configuration bit (VREF- source)
1 = VREF- (AN2)
0 = VSS or 0 volt

bit 4 :VCFG0: Voltage Reference Configuration bit (VREF+ source)
1 = VREF+ (AN3)
0 = VDD or 5volt

We will set  VCFG0[bit 5]=0and VCFG0[bit4]=0 . So we will get highest value 5volt[1023] and lowest value 0volt[0].The ADCON1 is a 10 bit register that means  2 to the power 10  is it's highest counting capacity and result is 1024 . So this register can count from 0 to 1023 . When 0 volt , we get reading at RA0 pin  0 .When 5 volt , we get reading at RA0 pin 1023. It means 5volt equivalent to 1023 .

If  5 volt    equal    reading 1023 .
So 1  volt   equal    reading 1023/5  [When something detect PIR Sensor provide 3.3 volt at Output Pin]
So 3.3 volt equal  reading  (1023/5)*3.3 =675.8 . When we get reading 675 at ADC channel  , we understand  that sensor detects something . So it make PORTB.F6 pin high and Buzzer turns on .

### Source Code :

``````

void main() {
int  input;
CMCON=7;
TRISB.F6=0;
while (1) {
if(input>=675){
PORTB.F6=1;
delay_ms(4000);
}
PORTB.F6=0;
}
}

``````

## Thank You !!

1. In this code, micro c give an error: input = ADC_Read(0); Undecleared identified
How can ı solve this problem?﻿

1. Sometimes it shows but I think code is alright.

2. I'm trying to add a switch where I can arm/disarm the buzzer. I'm having a hard time writing the code.

1. Simply add a switch I should work fine. Try same mcu and same circuit and it's supposed to work.

3. Your blog is really good and it helps others. It's a perfect solution for those who search for it. Please share more information like this. Security Monitoring Toledo

4. I was more than happy to uncover this great site. I need to thank you for your time due to this fantastic read!!
I definitely enjoyed every bit of it and I have you bookmarked to see new information on your blog.
WordPress Chat Plugin

5. I was more than happy to uncover this great site. I need to thank you for your time due to this fantastic read!!
I definitely enjoyed every bit of it and I have you bookmarked to see new information on your blog.
humidifier dehumidifier combo

6. clearly, It is an engaging article for us which you have provided here about industrial automation companies in uae This is a great resource to enhance knowledge about it. Thank you

Ain't getting any visitors!

## Tags

: (1) 18F2550 (1) 36KHz (3) and (1) arduino (1) Based (1) battery (1) Bipolar (1) Blinking (1) blinks (1) Bluetooth (1) button (1) circuit (1) clock (1) control (1) Db9 (1) DC Motor (2) digital (2) display (2) DS1307 (1) electronic (1) flash (1) flashing (1) HC-06 (1) home (1) how (1) How to (10) i2c tutorial (1) in (1) indicator (1) interface (8) interfacing (3) Interrupt (3) Introduction (1) IR Receiver (4) key pad (1) keyboard (1) keypad (1) lavel (1) Lcd 16x2 (2) lcd 2x16 (2) led (1) lm35 (2) LPG (1) machine (1) make (1) making (1) matrix (1) max232 (1) meter (2) microchip (4) microchips (3) mikroC (5) musical (1) NEC Protocol (4) pcb (5) PIC (3) pic controller (11) pic proteus (1) Pic Tutorial (12) pic18 (2) pic18f2550 (11) picRFモジュール (1) proteus (6) push (1) push button (1) PWM (1) real (1) Rs 232 (1) Rs232 (1) scroll (1) scrolling (1) Serial Port (1) simulation (2) step by step (7) step bystep (1) text (2) time (1) timer (4) timer0 (4) tone (1) tutorial (2) Unipolar (1) USB (1) usb 1.0 (1) USB HID (1) using (9) voltmeter (1) voting (1) with (2) work (1)

## Traffic Feed

Live Traffic Feed
Visitor Tracking