Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Membuat Data Logger Arduino Uno, RTC DS3231 dan MicroSD

Cara Buat Data Logger Arduino

Cara Membuat Data Logger Arduino Uno, RTC DS3231 dan MicroSD  - Selamat datang kembali di website Arduino32, website yang bakal membahas banyak tentang arduino platfrom.

Pada kali ini kita akan belajar data logger bagaimana cara membuatnya dengan tambahan modul RTC dan Micro SD Reader.

 

A. Apa itu Data Logger?

Data logger berasal dari dua kata bahasa inggirs yakni Data adalah berupa nilai-nilai dan Log adalah Catatan. Jadi Data Logger adalah alat yang dapat mencatat nilai-nilai tertentu kedalam media penyimpanan.

Pada artikel ini, kita akan belajar bagaimana cara menyimpan data sensor kedalam  micro SD dengan waktu 1 detik sekali beserta tanggal dan jam.

Untuk itu, kita harus menyediakan bahan-bahan yang diperlukan dalam pembuatan data logger ini.

 

B. Komponen Untuk Membuat Data Logger

Untuk dapat membuat Data Logger diperlukan beberapa bahan agar data logger sesuai dengan yang di inginkan. Adapun bahan yang digunakan adalah:

  1. Arduino Uno (bisa gunakan juga Nano, Promini dan lainnya)
  2. Memori Micro SD (pada tutorial ini saya menggunakan 8GB)
  3. Modul RTC DS3231
  4. Modul Micro SD reader 
  5. Sensor (terserah jenis apa, outputnya berupa tegangan analog).
  6. Breadboard atau Project Board
  7. Kabel secukupnya

Dalam tutorial ini kita membutuhkan dua library, yaitu untuk RTC DS3231 dan untuk MicroSDnya. Nah, teman-teman dapat mengambil librarynya di:


&


Alamat I2C DS3231 menggunakan pengalamatan 7-bit dengan alamat dalam biner adalah 1101000, jika di konversi ke hexadesimal adalah 0x68.

C. Rangkaian Data Logger Arduino

Untuk dapat berkomunikasi dengan Aruduino, modul  MicroSD adapter yang akan kita gunaan disini, menggunakan protokol SPI (Serial Peripheral Interface) . Protokol SPI membutuhkan 4 pin yakni  SCK, MOSI, MISO dan CS (Chip Select).
 
Sedangkan modul RTC DS3231 yang kita gunakan disini menggunakan protokol I2C (Inter-Integrated Circuit) yang mana hanya membutuhkan 2 pin saja yaitu  SDA dan SCL.
 
Adapun rangkainannya bisa dilihat sebagai berikut:
Cara Membuat Data Logger Arduino Uno, RTC DS3231 dan MicroSD

 

 
 Arduino Uno  MicroSD Module
 5V  VCC
 GND  GND
 13  SCK
 12  MISO
 11  MOSI
 10  CS
 
 Arduino Uno  DS3231
 5V  VCC
 GND  GND
 A4  SDA
 A5  SCL
   
 
 

D. Data Logger Arduino Progam

Setelah rangkaian telah terhubung seperti pada gambar diatas, ada dua poin yang mesti kita lakukan, yaitu:  

1. Buat file untuk simpan data

Sebelum kita masuk ke program utama, kita harus membuat file terlebih dahulu dan simpan file tersebut kedalam micro SD. File ini berguna untuk menyimpan data-data sensor.
 
Jika teman-teman masih bingung cara buat file nya, teman-teman bisa baca disini. Setelah file selesai dibuat, baru kita masuk ke program utama.
 

2. Kode Program

Pada program ini, sensor akan dibaca menggunakan pin analog Read 0 (A0), dari itu hubungkan sensor ke A0. 

Untuk nama file, saya memberi nama "data_log.txt" yang berada didalam micro SD. Penulisan data ke micro SD akan dilakukan 1 detik sekali.

Adapun programnya adalah sebagai berikut:

#include <RTClib.h>
#include <SPI.h>
#include <SD.h>

File myFile;
RTC_DS3231 rtc;

int chipselect = 10;
int sensorPin = A0;
int dataSensor = 0;
int detik;
int detikSebelumnya;
String namaFile = "data_log.txt";
String dataJam;
String dataTanggal;


void setup() {
Serial.begin(9600);

if (!SD.begin(chipselect)) {
Serial.println("Pembacaan Micro SD gagal!");
Serial.println("* Apa koneksi telah benar?");
Serial.println("* Atau kartu memori belum di masukkan?");
Serial.println("\n");
while (1) {
delay(10);
}
} else {
Serial.println("Kartu Memori MicroSD terbaca.");
}


if (! rtc.begin()) {
Serial.print("RTC tidak terdeteksi! ");
Serial.println("Apakah rangkaian telah benar?");
Serial.println("\n");
Serial.flush();
abort();
} else {
Serial.println("RTC terbaca.");
}

Serial.println("\n");
}

void loop() {
DateTime now = rtc.now();

dataTanggal = now.timestamp(DateTime::TIMESTAMP_DATE);
dataJam = now.timestamp(DateTime::TIMESTAMP_TIME);
detik = now.second();

dataSensor = analogRead(sensorPin);


if (detik != detikSebelumnya)
{
if (SD.exists(namaFile)) {
Serial.println("Tulis data...");
myFile = SD.open(namaFile, FILE_WRITE);
myFile.print(dataTanggal + " " + dataJam);
myFile.print(" ");
myFile.println(dataSensor);
myFile.close();
}
else {
Serial.println("File " + namaFile + " belum ada di memori.");
}

detikSebelumnya = detik;
}
}
 
Setelah progam diatas terupload ke Arduino, tunggu sejenak hingga data-data tersimpan. Untuk mengetahui data logger berhasil menyimpan data, silahkan teman-teman lepas Micro SD dari Mikro SD Modul nya, kemudian masukkan ke komputer / laptop.
 
Jika ada data yang terbuat, itu artinya teman-teman telah berhasil membuat data logger. Jika tidak, maka mungkin ada yang salah dalam rangkain, kode program dan lainnya.
 
Seperti pada gambar berikut adalah file .txt yang berisi data hasil simpan dari program di atas.
Cara Membuat Data Logger Arduino Uno, RTC DS3231 dan MicroSD

 

Teman-teman dapat menggunakan program dan rangkaian ini ke projek teman-teman. Jika artikel ini bermanfaat, siahkan di share ke  teman-teman lain yang mungkin sedang membutuhkannya.
 
Sekian. Semoga artikel ini bermanfaat.
 

Pencarian yang serupa:

Posting Komentar untuk "Cara Membuat Data Logger Arduino Uno, RTC DS3231 dan MicroSD "