SD Card Data Recorder

We always try to know the physical and electrical data like temperature, pressure, current, ac voltage etc. In this project, I’m going to display these data in real time as well as I’ill record it to a small memory device(SD/microSD/MMC card). Here the project can display four different things; ac voltage, environment temperature, relative humidity and the real time in 12 hrs format.

We can display more physical & electrical data by adding more sensors to the project. The project is made by Arduino programming hardware. I am using “Arduino Uno R3”.

Required components :

  • Any arduino board(UNO/pro/mini/nano/duemilanove etc.),
  • Power supply kit,
  • DHT11(temp. & humidity sensor),
  • IC DS1307(Real Time Clock),
  • Crystal 32.768kHz,
  • 3V battery(for RTC back-up),
  • Transformer 6V/200mA,
  • LCD 16×2,
  • SD/microSD/MMC card,
  • Card holder,
  • Diode bridge,
  • Zener diode 5V,
  • Capacitor 100uF,
  • 10k resistance(1/4W) x 6,
  • 10k variable resistance x 2,
  • Toggle switch x 4

For achieving the value of ac voltage we need a 6V transformer. This transformer is not for the power supply of the project but it is used to measure ac voltage in terms of low secondary voltage as shown in the figure below. Secondary voltage is rectified, filtered and limited to a range of 5 Volts with a zener diode then it is applied to the analog pin 0(AN0/pin14) of the arduino board. For achieving the value of temperature we are using DHT11 sensor which provides a single data line. It is connected to analog pin 1(AN1/pin15) of the arduino board.

A card holder holds the card and it communicates with harware SPI port of the arduino.

SD Card attachements : MOSI = arduino pin 11, MISO = arduino pin 12, CLK = arduino pin 13, CS = arduino pin 10
LCD connections : RS = arduino pin 7, EN = arduino pin 6, D4 = arduini pin 5, D5 = arduino pin 4, D6 = arduino pin 3, D7 = arduino pin 2, D0 to D3 = ground.

DS1307 connections : SCL = arduino pin 19(AN5), SDA = arduino pin 18(AN4)

Button connections : Up = arduino pin 8, Down = arduino pin 9, Menu = arduino pin 16(AN2), OK = arduino pin 17(AN3)

Operation : The whole data is recorded to the memory card as a text file. A 1GB card is sufficient to record many years of data. In the below figure, you can see the snapshot of the recorded data.

There are four functional buttons on the project :

MENU : By pressing a long time you’ill enter the setting zone.

UP : To increase the value.

UP : To decrease the value.

OK : To save/select the value.

When you enter the setting zone, you can set different things as shown in the LCD picture below.

The time is for 12 hrs format but during the setting it is set as 24 hrs of format. For example, if you want to save 3:00pm then it is set to be 15:00. The interval is the time delay between each recording of data. The recording interval setting is from 1 to 300 seconds. By refreshing the card, all past data are erased.

Instead of buying a new arduino board, you can also make your own arduino board by using a pre-programmed chip.

Download the program and upload it to the arduino chip.

Leave a Reply

Your email address will not be published. Required fields are marked *