Safari browser sometimes has issues displaying images...

I.e: *you have to click on the images to see them...

For a better browsing experience on Brainy-Bits

Please use Chrome, Edge or Firefox browser.

  • Brainy-Bits

Build an Intruder Alert using a Micro SD Module



OVERVIEW


In this tutorial we’re gonna use the IR Obstacle Avoidance sensor to detect movement, and then write the time and date of the event to a MicroSD card with the help of the RTC1307 real time clock module we saw in the previous tutorial.


The IR sensor, like many others (the sound detection module for example), require only 1 pin that will go either HIGH or LOW when it is triggered.


The Arduino MicroSD module uses the SPI Bus.


The Arduino IDE already comes with a library to make writing to the card very simple.


So when the pin on the IR sensor goes LOW, we will get the time and date from the RTC1307 real time clock, and write the information on the MicroSD card.

PARTS USED


Micro-SD Module

Amazon usa

Amazon canada

Obstacle IR Sensor

Amazon usa

Amazon canada


DS1307 Real Time Clock Module

Amazon usa

Amazon canada


These are Amazon affiliate links...

They don't cost you anything and it helps me keep the lights on

if you buy something on Amazon. Thank you!

CONNECTIONS




The MicroSD module uses the SPI Bus and is connected to the SPI pins on the UNO:

SPI: 10 (CS), 11 (MOSI), 12 (MISO), 13 (SCK).


The DS1307 real time clock uses the I2C Bus and is connected to the I2C pins of the UNO:

I2C: A4 (SDA) and A5 (SCL).


The IR Obstacle Avoidance sensor can be connected to any digital pin.


It’s connected to pin 2 in our tutorial.


We use a breadboard to connect the VCC and Ground to both modules from our UNO.

THE CODE


We are using a couple of libraries in this tutorial:


The DSRTC1307 Arduino Library for the DS1307 real time clock.


We also include the Wire.h and Time.h library for the I2C Bus and Time manipulation.


The Wire.h and the SD.h library for the MicroSD Module are included with the Arduino IDE software.


First thing we need to do is initialize our DS1307 module with the current date and time.


We do this by running the “SetTime” sketch that comes with the DSRTC1307 library.


After this, we will upload the main code that will write the Time and Date when motion is detected.


As always please watch our Tutorial video for more information.


#include "SD.h"  // SD card libray
#include "Wire.h"  // I2C
#include "Time.h"  // Time Manipulation
#include "DS1307RTC.h"  // DS1307 RTC

int irpin = 2;  // IR sensor pin
char timedatebuf[65];  // Time and Date string buffer
int year4digit;  // 4 digit year

void setup()
{
  Serial.begin(9600);  // Serial monitor used for testing
  pinMode (irpin, INPUT);
  
  Serial.print("Initializing SD card...");
  pinMode(10, OUTPUT);
  
  if (!SD.begin(10)) {  // check if card is installed
    Serial.println("No SD Card present in module");
    return;
  }
  Serial.println("SD Card Ready");
}

void loop()
{
   tmElements_t tm;
   
   if (digitalRead (irpin) == LOW) // IR detected 
  {
    if (RTC.read(tm)) {  // Get Time/Date from RTC1307
     
      year4digit = tm.Year + 1970;  // 4 digit year variable
      
      // Format Time & Date string in timedatebuf
      sprintf(timedatebuf, "Time: %02d:%02d:%02d   Date:  %02d/%02d/%02d   ---->INTRUDER DETECTED!!!",tm.Hour, tm.Minute, tm.Second, tm.Day, tm.Month, year4digit);
      
      File dataFile = SD.open("intruder.txt", FILE_WRITE);  // Open or Create file 

      if (dataFile) {  // Check if file exist on SD Card
         dataFile.println(timedatebuf);
         dataFile.close();  // Close file
         Serial.println(timedatebuf);
      }  
      
      else {
        Serial.println("error opening intruder.txt"); // if file not on SD Card
      } 

    }

  }
  while (digitalRead (irpin) == LOW) {  // wait until IR is HIGH again
  }
  
  delay(100); // delay to give time for IR to reset
}


TUTORIAL VIDEO




DOWNLOAD


Copy and paste the above code in the Arduino IDE to program your Arduino.


Used Libraries:

Download the RTC1307 library here:

DS1307RTC
.zip
Download ZIP • 9KB

Download the Time library here:

Time
.zip
Download ZIP • 38KB

Once downloaded, just extract the content of the zip files inside your “arduino/libraries” folder.

20 views

All my content is and will always be Free.

If you feel that my Videos / Tutorials are helping, and you would like to contribute...

 You can toss some coins in the Tip Jar via PayPal.

Select amount then click the “Donate” button.

©2020 by Brainy-Bits