Go Down

Topic: "Security" System = Arduino+PIR+LCD+DS1307 (Read 2 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....
No PMs for help please. Not active on this forum any more.

RudiAhlers

Hi,

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

Go Up