Skip to content

Instantly share code, notes, and snippets.

@komponenrobot
Created April 1, 2020 12:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save komponenrobot/28c1038a20a4fde8fbf1ed014df54acb to your computer and use it in GitHub Desktop.
Save komponenrobot/28c1038a20a4fde8fbf1ed014df54acb to your computer and use it in GitHub Desktop.
dataLogging_esp32
#include <DS3231.h>
#include <Wire.h>
#include "FS.h"
#include "SD.h"
#include "SPI.h"
#define SD_CS 5
DS3231 Clock;
byte tahun;
byte bulan;
byte tanggal;
byte hari;
byte jam;
byte menit;
byte detik;
bool h24;
bool PM;
boolean century = false;
String simpanWaktu;
char cSimpanWaktu[100];
void setup() {
// Start the serial port
Serial.begin(9600);
// Start the I2C interface
Wire.begin();
SD.begin(SD_CS);
if (!SD.begin(SD_CS)) {
Serial.println("Gagal Memuat Kartu SD");
return;
}
uint8_t cardType = SD.cardType();
if (cardType == CARD_NONE) {
Serial.println("Tidak Ada Kartu SD");
return;
}
Serial.println("Menginisialisasi kartu SD...");
writeFile(SD, "/simpanWaktu", "Data Logging - RobotikIndonesia.com \n"); //membuat file
}
void loop() {
Serial.print("Tahun: ");
tahun = (Clock.getYear());
Serial.print(tahun);
Serial.print(" Bulan: ");
bulan = (Clock.getMonth(century));
Serial.print(bulan);
Serial.print(" Tanggal: ");
tanggal = (Clock.getDate());
Serial.print(tanggal);
Serial.print(" Hari ke: ");
hari = (Clock.getDoW());
Serial.print(hari);
Serial.print(" Jam: ");
jam = (Clock.getHour(h24, PM));
Serial.print(jam);
Serial.print(":");
menit = (Clock.getMinute());
Serial.print(menit);
Serial.print(":");
detik = (Clock.getSecond());
Serial.print(detik);
Serial.println("");
simpanWaktu = "Tahun: " + String(tahun) + " Bulan: " + String(bulan) + " Tanggal: " + String(tanggal) + " Hari ke: " + String(hari) + " Jam: " + String(jam) + ":" + String(menit) + ":" + String(detik) + "/n";
simpanWaktu.toCharArray(cSimpanWaktu, 100); //menjadikan simpanWaktu menjadi char array
appendFile(SD, "/simpanWaktu", cSimpanWaktu); //menambahkan data ke file
}
void writeFile(fs::FS &fs, const char * path, const char * message){
Serial.printf("Writing file: %s\n", path);
File file = fs.open(path, FILE_WRITE);
if(!file){
Serial.println("Failed to open file for writing");
return;
}
if(file.print(message)){
Serial.println("File written");
} else {
Serial.println("Write failed");
}
file.close();
}
void appendFile(fs::FS &fs, const char * path, const char * message){
Serial.printf("Appending to file: %s\n", path);
File file = fs.open(path, FILE_APPEND);
if(!file){
Serial.println("Failed to open file for appending");
return;
}
if(file.print(message)){
Serial.println("Message appended");
} else {
Serial.println("Append failed");
}
file.close();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment