Project membuat Data Logger RTC DS3231

Project membuat Data Logger RTC DS3231

Penjelasan Singkat

Data logger adalah proses atau cara yang bersifat otomatis guna perekaman maupun pengumpulan data – data baik itu berasal dari sensor atau module elektronika yang bertujuan sebagai bahan data analisa dan pengarsipan.

Dalam tutorial hari ini, akan dijelaskan bagaimana cara mudah membuat Data logger RTC modul DS3231 menggunakan Arduino dan Kartu memori microSD.

Untuk membuat proyek data logger ini dibutuhkan komponen yaitu modul Arduino Uno, RTC DS3231, serta modul kartu SD. Proyek ini akan mencatat data tanggal, waktu dan suhu setiap 5 detik, menyimpannya ke file teks pada kartu memori.

Modul kartu SD yang sudah pernah dibahas pada artikel sebelumnya, dan bisa dipelajari terlebih dahulu. Modul DS3231 adalah modul Real Time Clock (RTC), penerus DS1307, dengan kristal osilator built-in yang membuat modul jauh lebih akurat daripada model sebelumnya. Selain itu, modul ini juga memiliki sensor suhu built-in.

Komunikasi modul DS3231 menggunakan antarmuka I2C, dan power supply yaitu dari range 3.3v – 5vdc serta dapat dihubungkan langsung ke mikrokontroler. Selain itu juga terdapat baterai cadangan guna menyimpan data dalam memori DS3231 jika catudaya dicabut.


Data Logger menggunakan Arduino

Komponen utama yang perlu dipersiapkan antara lain :

  • Arduino Uno
  • RTC DS3231
  • Module microSD
  • MicroSd card min. 2Gb – format fat
  • Breadboard
  • Kabel jumper
  • Komputer + Software IDE

Rangkaiannya sebagai berikut

data logger arduino - DS3231 and module microsd

Antara DS3231 dengan arduino UNO

DS3231 Arduino Uno
VCC 5V
GND GND
SDA A4
SCL A5

Antara Module Microsd dengan arduino UNO

Module MicroSd Arduino Uno
GND 5V
VCC GND
MISO 12
MOSI 11
SCK 13
CS 4

Program Data Logger

Dalam program ini kita akan menggunakan LIBRARY sudah ada di Arduino IDE:

  • DS3231 [ddownload id=”1206″]
  • Module microSd [ddownload id=”2008″]

Pada program yang akan dibuat disini, akan ditampilkan fungsi module microsd sebagai penyimpan data waktu dan suhu dari DS3231 dengan jeda 5 detik, yang dimana disimpan dalam format txt dengan nama “datalogger.txt”.

//www.nyebarilmu.com

#include <Wire.h>
#include <DS3231.h> //memasukan library DS3231
#include <SPI.h>
#include <SD.h>

DS3231  rtc(SDA, SCL); //prosedur pembacaan I2C
File myFile;

void setup()
{
//set komunikasi baut di serial monitor pada kecepatan 9600
Serial.begin(9600);
//menuliskan data di serial monitor
Serial.println("Trial Data Logger Arduino");
Serial.println("nyebarilmu.com");
delay(3000); //Waktu jeda

//prosedur pembacaan RTC DS3231
rtc.begin();

  //setting pertama download program
  //rtc.setDate(30, 4, 2018);   //mensetting tanggal 07 april 2018
  //rtc.setTime(25, 00, 00);     //menset jam 22:00:00
  //rtc.setDOW(3);     //menset hari "selasa"

 Serial.println("Read MicoSd Card");
 delay(1000);

 if (!SD.begin(4))
 {
 Serial.println("Failed read microsd card on module!");
 return;
 }
 Serial.println("Success read microsd card");
 delay(1000);
}

void loop()
{
 myFile = SD.open("datalogger.txt", FILE_WRITE); //Membuka File datalogger.txt
 if (myFile) // jika file tersedia tulis data
 {
Serial.print(rtc.getDOWStr(1));
Serial.print(",");
myFile.print(rtc.getDOWStr(1));
myFile.print(",");

Serial.print(rtc.getDateStr());
Serial.print(" -- ");
myFile.print(rtc.getDateStr());
myFile.print(" -- ");

Serial.println(rtc.getTimeStr());
Serial.print(" -- ");
myFile.println(rtc.getTimeStr());
myFile.print(" -- ");

Serial.print(" suhu:");
Serial.println(rtc.getTemp());
myFile.print(" suhu:");
myFile.println(rtc.getTemp());
myFile.close();
 }
 else
 {
 Serial.println("Failed open datalogger.txt"); // jika gagal print error
 }
 delay(2000); //total jeda yaitu 5 detik karena proses penulisan data kurang lebih 3 detik
}

Untuk memeriksa informasi yang sudah dicatat, keluarkan kartu SD dari modul dan buka file datalogger.txt di komputer Anda menggunakan notepad.

Selamat mencoba!

4 Comments

  1. berarti kalau pakai eeprom nya yang pin 32K nya dihubungkan ke arduino ya mas? dan program di atas apa yang di rubah? terimakasih

  2. mas kalau pakai eeprom nya yang pin 32K nya dihubungkan ke arduino ya mas? dan program di atas apa yang diubah?

  3. elbaf

    misi mas kalau rtc diganti dengan sensor ir bisa kah ?

    • RTC itu khusus pewaktuan digital sedangkan untuk sensor IR itu deteksi cahaya infrared

Leave a Reply

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