منتديات شمس الحب

منتديات شمس الحب (http://www.x2z2.com/vb/index.php)
-   سلة المحذوفات والمواضيع المكررة (http://www.x2z2.com/vb/forumdisplay.php?f=36)
-   -   دعوه لانشاء مصنع صغير لتصميم وصنع الكترونيات (http://www.x2z2.com/vb/showthread.php?t=327603)

لميسـ 03-29-2017 01:30 PM

دعوه لانشاء مصنع صغير لتصميم وصنع الكترونيات
 
itor Monitoring System with Raspberry Pi and Pi Camera

By Saddam 0 Comments




https://circuitdigest.com/sites/defa...-pi-camera.jpgVisitor Monitoring System with Raspberry Pi and Pi Camera


Raspberry Pi is an ARM cortex based popular development board designed for Electronic Engineers and Hobbyists. With the processing speed and memory, Raspberry Pi can be used for performing different functions at a time, like a normal PC, and hence it is called Mini Computer in your palm. We have created a series of Raspberry Pi tutorials, to start with Raspberry Pi from scratch and then create high level IoT projects using Raspberry Pi.
This time we are here with our next interesting project which is Visitors Monitoring System with Image capture functionality. Here we are interfacing Pi camera with Raspberry Pi to capture the image of every visitor which has entered through the Gate or door. In this project, whenever any person is arrived at the Gate, he has to press a button to open the Gate, and as soon as he/she press the button, his/her picture will be captured and saved in the system with the Date and time of the entry. This can be very useful for security and surveillance purpose.
This system is very useful in offices or factories where visitor entry record is maintained for visitors and attendance record is maintained for employees. This Monitoring system will digitize and automate the whole visitor entries and attendances, and there will be no need to maintain them manually. This system can be either operated by the person himself or there can be operator for pressing the button for very visitor. This is a good project for getting started with Pi camera and interface it with Raspberry Pi.
https://circuitdigest.com/sites/defa...d-picamera.jpg

Components Required:

  • Raspberry Pi
  • Pi camera
  • 16x2 LCD
  • DC Motor
  • IC L293D
  • Buzzer
  • LED
  • Bread Board
  • Resistor (1k,10k)
  • Capacitor (100nF)
  • Push Button
  • Connecting wires
  • 10k Pot
  • Power supply
Working Explanation:

Working of this Raspberry Pi Monitoring System is simple. In this, a Pi camera is used to capture the images of visitors, when a push button is pressed or triggered. A DC motor is used as a gate. Whenever anyone wants to enter in the place then he/she needs to push the button. After pushing the button, Raspberry Pi sends command to Pi Camera to click the picture and save it. After it, the gate is opened for a while and then gets closed again. The buzzer is used to generate sound when button pressed and LED is used for indicating that Raspberry Pi is ready to accept Push Button press, means when LED is ON, system is ready for operation.
https://circuitdigest.com/sites/defa...a--diagram.jpg
Here the pictures of visitors are saved in Raspberry Pi with the name which itself contains the time and date of entry. Means there is no need to save date and time separately at some other place as we have assigned the time and date as the name of the captured picture, see the image below. We have here taken the image of a box as visitor, check its full demonstration in the Video at the end.
https://circuitdigest.com/sites/defa...ing-images.png

Circuit Explanation:

Circuit of this Raspberry Pi Visitor Surveillance System is very simple. Here a Liquid Crystal Display (LCD) is used for displaying Time/Date of visitor entry and some other messages. LCD is connected to Raspberry Pi in 4-bit mode. Pins of LCD namely RS, EN, D4, D5, D6, and D7 are connected to Raspberry Pi GPIO pin number 18, 23, 24, 16, 20 and 21. Pi camera module is connected at camera slot of the Raspberry Pi. A buzzer is connected to GPIO pin 26 of Raspberry Pi for indication purpose. LED is connected to GPIO pin 5 through a 1k resistor and a push button is connected to GPIO pin 19 with respect to ground, to trigger the camera and open the Gate. DC motor (as Gate) is connected with Raspberry Pi GPIO pin 17 and 27 through Motor Driver IC (L293D). Rest of connections are shown in circuit diagram.
https://circuitdigest.com/sites/defa...it-diagram.png
To connect the Pi Camera, insert the Ribbon cable of Pi Camera into camera slot, slightly pull up the tabs of the connector at RPi board and insert the Ribbon cable into the slot, then gently push down the tabs again to fix the ribbon cable.
https://circuitdigest.com/sites/defa...spberry-pi.jpg https://circuitdigest.com/sites/defa...i-camera_0.jpg

Raspberry Pi Configuration and Programming Explanation:

We are using Python language here for the Program. Before coding, user needs to configure Raspberry Pi. You should below two tutorials for Getting Started with Raspberry Pi and Installing & Configuring Raspbian Jessie OS in Pi:
After successfully installing Raspbian OS on Raspberry Pi, we need to install Pi camera library files for run this project in Raspberry pi. To do this we need to follow given commands:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamerahttps://circuitdigest.com/sites/defa...-pi-python.png

After it, user needs to enable Raspberry Pi Camera by using Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-configThen select Enable camera and Enable it.
https://circuitdigest.com/sites/defa...onfig-tool.gif

Then user needs to reboot Raspberry Pi, by issuing sudo reboot, so that new setting can take. Now your Pi camera is ready to use.
$ sudo reboot
The Python Program of this project plays a very important role to perform all the operations. First of all, we include required libraries, initialize variables and define pins for LCD, LED, Motor and other components.
import RPi.GPIO as gpio import picamera import time m11=17 m12=27 led=5 buz=26 button=19 RS =18 ... .... ... .....
Function def capture_image() is created to capture the image of visitor with time and date.
def capture_image(): lcdcmd(0x01) lcdprint("Please Wait.."); data= time.strftime("%d_%b_%Y\%H:%M:%S") camera.start_preview() time.sleep(5) print data camera.capture('/home/pi/Desktop/Visitors/%s.jpg'%data) camera.stop_preview() lcdcmd(0x01) lcdprint("Image Captured") lcdcmd(0xc0) lcdprint(" Successfully ") time.sleep(2)
Function def gate() is written for driving the DC motor which is used as a Gate here.
def gate(): lcdcmd(0x01) lcdprint(" Welcome ") gpio.output(m11, 1) gpio.output(m12, 0) time.sleep(1.5) gpio.output(m11, 0) gpio.output(m12, 0) time.sleep(3) gpio.output(m11, 0) gpio.output(m12, 1) time.sleep(1.5) gpio.output(m11, 0) gpio.output(m12, 0) lcdcmd(0x01); lcdprint(" Thank You ") time.sleep(2)
Some functions are defined for LCD like def begin() function is used to initialize LCD, def lcdcmd(ch) function is used for sending command to LCD, def lcdwrite(ch) function is used for sending data to LCD and def lcdprint(Str) function is used to send data string to LCD. You can check all these functions in Code given afterwards.

Then we have initialized the LCD and Pi Camera, and continuously read the Push button using while loop. Whenever the push button is pressed, to open the gate for entry, image of the visitor is captured and saved at the Raspberry pi with date & time and gate gets opened. Check the Full code and Demonstration Video below.
while 1: d= time.strftime("%d %b %Y") t= time.strftime("%H:%M:%S") lcdcmd(0x80) lcdprint("Time: %s"%t) lcdcmd(0xc0) lcdprint("Date:%s"%d) gpio.output(led, 1) if gpio.input(button)==0: gpio.output(buz, 1) gpio.output(led, 0) time.sleep(0.5) gpio.output(buz, 0) capture_image() gate() time.sleep(0.5)
This Camera Monitoring System has lot of scope to upgrade, like a software can be built in Computer Vision or in OpenCV to match the captured picture of visitor with the already stored images and only authorized the visitor if some match has been found, this will only open the gate for authorised people.







Code:
import RPi.GPIO as gpio
import picamera
import time
m11=17
m12=27
led=5
buz=26
button=19
RS =18
EN =23
D4 =24
D5 =16
D6 =20
D7 =21
HIGH=1
LOW=0
gpio.setwarnings(False)
gpio.setmode(gpio.BCM)
gpio.setup(RS, gpio.OUT)
gpio.setup(EN, gpio.OUT)
gpio.setup(D4, gpio.OUT)
gpio.setup(D5, gpio.OUT)
gpio.setup(D6, gpio.OUT)
gpio.setup(D7, gpio.OUT)
gpio.setup(led, gpio.OUT)
gpio.setup(buz, gpio.OUT)
gpio.setup(m11, gpio.OUT)
gpio.setup(m12, gpio.OUT)
gpio.setup(button, gpio.IN)
gpio.output(led , 0)
gpio.output(buz , 0)
gpio.output(m11 , 0)
gpio.output(m12 , 0)
data=""
def capture_image():
lcdcmd(0x01)
lcdprint("Please Wait..");
data= time.strftime("%d_%b_%Y\%H:%M:%S")
camera.start_preview()
time.sleep(5)
print data
camera.capture('/home/pi/Desktop/Visitors/%s.jpg'%data)
camera.stop_preview()
lcdcmd(0x01)
lcdprint("Image Captured")
lcdcmd(0xc0)
lcdprint(" Successfully ")
time.sleep(2)
def gate():
lcdcmd(0x01)
lcdprint(" Welcome ")
gpio.output(m11, 1)
gpio.output(m12, 0)
time.sleep(1.5)
gpio.output(m11, 0)
gpio.output(m12, 0)
time.sleep(3)
gpio.output(m11, 0)
gpio.output(m12, 1)
time.sleep(1.5)
gpio.output(m11, 0)
gpio.output(m12, 0)
lcdcmd(0x01);
lcdprint(" Thank You ")
time.sleep(2)
def begin():
lcdcmd(0x33)
lcdcmd(0x32)
lcdcmd(0x06)
lcdcmd(0x0C)
lcdcmd(0x28)
lcdcmd(0x01)
time.sleep(0.0005)

def lcdcmd(ch):
gpio.output(RS, 0)
gpio.output(D4, 0)
gpio.output(D5, 0)
gpio.output(D6, 0)
gpio.output(D7, 0)
if ch&0x10==0x10:
gpio.output(D4, 1)
if ch&0x20==0x20:
gpio.output(D5, 1)
if ch&0x40==0x40:
gpio.output(D6, 1)
if ch&0x80==0x80:
gpio.output(D7, 1)
gpio.output(EN, 1)
time.sleep(0.005)
gpio.output(EN, 0)
# Low bits
gpio.output(D4, 0)
gpio.output(D5, 0)
gpio.output(D6, 0)
gpio.output(D7, 0)
if ch&0x01==0x01:
gpio.output(D4, 1)
if ch&0x02==0x02:
gpio.output(D5, 1)
if ch&0x04==0x04:
gpio.output(D6, 1)
if ch&0x08==0x08:
gpio.output(D7, 1)
gpio.output(EN, 1)
time.sleep(0.005)
gpio.output(EN, 0)

def lcdwrite(ch):
gpio.output(RS, 1)
gpio.output(D4, 0)
gpio.output(D5, 0)
gpio.output(D6, 0)
gpio.output(D7, 0)
if ch&0x10==0x10:
gpio.output(D4, 1)
if ch&0x20==0x20:
gpio.output(D5, 1)
if ch&0x40==0x40:
gpio.output(D6, 1)
if ch&0x80==0x80:
gpio.output(D7, 1)
gpio.output(EN, 1)
time.sleep(0.005)
gpio.output(EN, 0)
# Low bits
gpio.output(D4, 0)
gpio.output(D5, 0)
gpio.output(D6, 0)
gpio.output(D7, 0)
if ch&0x01==0x01:
gpio.output(D4, 1)
if ch&0x02==0x02:
gpio.output(D5, 1)
if ch&0x04==0x04:
gpio.output(D6, 1)
if ch&0x08==0x08:
gpio.output(D7, 1)
gpio.output(EN, 1)
time.sleep(0.005)
gpio.output(EN, 0)

def lcdprint(Str):
l=0;
l=len(Str)
for i in range(l):
lcdwrite(ord(Str[i]))
begin()
lcdcmd(0x01)
lcdprint("Visitor Monitoring")
lcdcmd(0xc0)
lcdprint(" Using RPI ")
time.sleep(3)
lcdcmd(0x01)
lcdprint("Circuit Digest")
lcdcmd(0xc0)
lcdprint("Saddam Khan")
time.sleep(3)
lcdcmd(0x01)
camera = picamera.PiCamera()
camera.rotation=180
camera.awb_mode= 'auto'
camera.brightness=55
lcdcmd(0x01)
lcdprint(" Please Press ")
lcdcmd(0xc0)
lcdprint(" Button ")
time.sleep(2)
while 1:
d= time.strftime("%d %b %Y")
t= time.strftime("%H:%M:%S")
lcdcmd(0x80)
lcdprint("Time: %s"%t)
lcdcmd(0xc0)
lcdprint("Date:%s"%d)
gpio.output(led, 1)
if gpio.input(button)==0:
gpio.output(buz, 1)
gpio.output(led, 0)
time.sleep(0.5)
gpio.output(buz, 0)
capture_image()
gate()
time.sleep(0.5)



Video:



CircuitDigest highly recommends EasyEDA for Circuit Design and PCB Prototype
Try EasyEDA: A Free and Easy-to-Use PCB Design Tool for Every Engineer
Prototype PCB: Only $8.21 for 10 pcs, 2-Layer 100x100mm PCBs, 2-3 days delivery





Leave a comment

Your name *
E-mail * The ******* of this field is kept private and will not be shown publicly.

Subject
Comment *

More information about **** formats
  • No HTML ***s allowed.
  • *** page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.















Related *******


DIY *** Controlled Raspberry Pi Surveillance Robotic Car

IoT Raspberry Pi Smart Container with Email ***** and *** Monitoring

Voice Typing on 16x2 LCD using Raspberry Pi and Android App

How to Find IP Address of Raspberry Pi using Python ******

Raspberry Pi Based Weight Sensing Automatic Gate











Latest Posts

















Active forum topics


More




User login


E-mail or username *
Password *








Ask Question












Featured Projects and Circuits


https://circuitdigest.com/sites/defa...?itok=Q1AwrGW4
Smoke Detector using MQ2 Gas Sensor and Arduino



https://circuitdigest.com/sites/defa...?itok=JrevpHML
Arduino Robotic Arm



[IMG]https://circuitdigest.com/sites/default/files/styles/medium_sc_350x200_/public/projectimage_mic/Raspberry-Pi-Home-Security-System-with-Email-*****.jpg?itok=qe1NTfCY[/IMG]
IOT based Raspberry Pi Home Security System with Email *****



https://circuitdigest.com/sites/defa...?itok=fM7a2f43
DIY Smart Vacuum Cleaning Robot using Arduino



https://circuitdigest.com/sites/defa...?itok=LNOwXsQz
Smart Phone Controlled FM Radio using Arduino and Processing



https://circuitdigest.com/sites/defa...?itok=epXHf30S
How to Use NeoPixel LED Strip with Arduino and TFT LCD



https://circuitdigest.com/sites/defa...?itok=FYMKJCLY
Call and Message using Arduino and GSM Module



https://circuitdigest.com/sites/defa...?itok=rIxaurUx
Arduino Based Digital Clock with Alarm



https://circuitdigest.com/sites/defa...?itok=FpnePeQ3
Live Temperature and Humidity Monitoring over Internet using Arduino and ThingSpeak



https://circuitdigest.com/sites/defa...?itok=X43RPHp-
Capacitance Meter using Arduino



https://circuitdigest.com/sites/defa...?itok=WEG0bCbQ
Arduino based Vehicle Tracker using GPS and GSM



https://circuitdigest.com/sites/defa...?itok=tpk00IKg
LED VU Meter using LM3914 and LM358



https://circuitdigest.com/sites/defa...?itok=Oi05ltOV
Simple Audio Amplifier using 555 Timer IC



https://circuitdigest.com/sites/defa...?itok=TgGifROy
Bluetooth Controlled Toy Car using Arduino



https://circuitdigest.com/sites/defa...?itok=6GZ429kS
8x8 LED Matrix using Arduino



https://circuitdigest.com/sites/defa...?itok=K4vEXirQ
Emergency Light



https://circuitdigest.com/sites/defa...?itok=J1yrXpFB
DIY Piano



https://circuitdigest.com/sites/defa...?itok=_wbyFUQv
IR Based Security Alarm



https://circuitdigest.com/sites/defa...?itok=W-CU4r2Z
Tachometer using Arduino



https://circuitdigest.com/sites/defa...?itok=8y2a3B6m
Remote Controlled Light Switch








View all Featured Projects










Sign Up for Latest News























Popular Topics: Robotics Projects | Arduino Uno Projects | Electronics Projects | 555 Timer Circuits | ATmega32 Projects | ATmega8 Projects | Raspberry Pi Projects | IoT Projects










Copyright © 2017 Circuit Digest. All rights reserved
Privacy policy | Disclaimer | Contact Us | Submit | Advertise


الساعة الآن 11:16 AM بتوقيت مسقط

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0 Designed & TranZ By Almuhajir

Adsense Management by Losha

جميع الحقوق محفوظة لمنتديات شمس الحب

1 2 3 4 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 28 29 30 33 34 35 36 37 39 41 42 43 44 45 46 47 48 49 53 54 55 56 57 58 59 60 61 62 63 64 65 66 77 78 79 80 98