Go Down

Topic: "Security" System = Arduino+PIR+LCD+DS1307 (Read 3900 times) previous topic - next topic

gtr_stitch

Hello again...

I've been working on a project that has interested me ever since I got my hands on the Uno - my "home "security" system" (I put security in quotes mainly because, well, it's not really security, more so monitoring/indication). Anyways, I finished the project some time ago, and just a while ago, added the DS1307 RTC to it (just to add a little functionality/style, if you will). So, here is me showing it off a little bit :) it's by no means perfect, and as usual, I welcome feedback and criticism. By no means does this project really secure anything. I would not recommend setting this up as a serious home security measure (unless you have the resources, in that case, more power to you!)
Here is the sketch;
Code: [Select]
/* BLUE/STR.BLUE - REED SW.
  PIR - Vs: STR.ORANGE, GND:BRN, OUT: STR.GRN
  Author - Gtr_Stitch
  01/27/2013

*/
#include <LiquidCrystal.h>
int piez = 8;
volatile int state = LOW;

LiquidCrystal lcd(4,5,6,7,9,10);
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;

void setup(){
  RTC.begin();
  Wire.begin();
  lcd.begin(16,2);
  attachInterrupt(0,sound,RISING);
  attachInterrupt(1,sound2,RISING);
  pinMode(3,INPUT);
  pinMode(11, OUTPUT);
  lcd.setCursor(0,0);
  lcd.print("--INITIALIZING--");
  lcd.setCursor(0,1);
  lcd.print(" PLEASE WAIT...  ");
  delay(30000); // give the PIR time to calibrate
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("    *ACTIVE*    ");
  delay(2000);
}

void indicator(){
  digitalWrite(11, HIGH);
  delay(250);
  digitalWrite(11, LOW);
  delay(250);
}

void trip_door(){
   lcd.setCursor(0,0);
   lcd.print("  BREACH  DOOR  ");
   indicator();
}

void trip_motion(){
    lcd.setCursor(0,1);
    lcd.print("     MOTION     ");
    indicator();
}

void loop(){
 
  int door = digitalRead(2);
  int pir = digitalRead(3);
  if ( door == LOW){
    trip_door();
  }
 
  else if ( pir == HIGH){
    trip_motion();
  }
 
  else {
  DateTime now = RTC.now();
 
  lcd.clear();
  lcd.setCursor(4,0);
  lcd.print(now.hour(), DEC);
  lcd.print(':');
  lcd.print(now.minute(), DEC);
  lcd.print(':');
  lcd.print(now.second(), DEC);
  delay(1000);
  }
}

void sound()
{
  tone(8, 500, 500);
}

void sound2()
{
  tone(8, 750, 500);
}


In a nutshell, the Uno monitors the PIR and a magnetic reed switch attached to the door downstairs. If either is tripped, a buzzer and a flashing led indicates motion or the door is open. When all is quiet, I query the time from the RTC, and a simple clock keeps the time. Pic down below. I used a very long cat5 cable to reach from downstairs to my computer desk. Because of the cat5's length, I've had some issues with interference, which I'm working on.

In another project, I fashioned a combination lock out of five push buttons and a servo. Maybe later on I'll incorporate that into this project. But that's another story :)
'Til next time!

~Stitch


cyclegadget


Sorry that you did not get any responses. So many posts, so little time. You are on the right track. You have got a project to work that is practical and useful! You have also did a good job sharing your code and you provide a picture. I applaud your work and appreciate that you shared it!

Don't worry to much about responses, they do not always represent the majority of people's opinions.
Good links: Eagle tutorial= http://www.youtube.com/playlist?list=PLDE1858BD83D19C70
General Arduion tutorials = http://tronixstuff.wordpress.com
http://www.gammon.com.au/forum/bbshowpost.php?bbtopic_id=123

codlink

I agree, with cycle, I come on this forum a few times a day and this is the first time I have seen this post.

Anyway, congrats on the working system!  You should post up a little tutorial on instructables or somewhere.  Lots of people have trouble getting a "security" system working.
//LiNK

OptoLcd

Thanks for this.
I have all the parts and hope to try your code out when I finish my current project.

Cheers,

Austin

JimboZA

I would probably add an electrified net like Wolowitz rigged up for Sheldon's and Leonard's apartment....
ZS6JMB

RudiAhlers

Hi,

Would you mind telling me which PIR you're using?

dex1337

Hello sir,
               Ive been working on a similar project to attach 4 PIR sensors to my 16,2 LCD.
Can you please b kind enough to guide me with required modifications to your source code? I'm a total beginner in embedded electronics.
Thanking you

b-james

How come pictures don't automatically appear any more?

CrossRoads

#9
Nov 07, 2015, 11:46 pm Last Edit: Nov 07, 2015, 11:50 pm by CrossRoads
dex1337, you're asking on a 2+ year old topic, don't be surprised if there is no response.

b-james, Attached pictures used to open, now you have to click them. I don't know why that was changed.
One can also use the image and link tags to embed a link and display a picture hosted elsewhere:
http://www.crossroadsfencing.com/BobuinoRev17/
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy