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
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!
berarti kalau pakai eeprom nya yang pin 32K nya dihubungkan ke arduino ya mas? dan program di atas apa yang di rubah? terimakasih
mas kalau pakai eeprom nya yang pin 32K nya dihubungkan ke arduino ya mas? dan program di atas apa yang diubah?
misi mas kalau rtc diganti dengan sensor ir bisa kah ?
RTC itu khusus pewaktuan digital sedangkan untuk sensor IR itu deteksi cahaya infrared