Created
April 1, 2020 12:46
-
-
Save komponenrobot/28c1038a20a4fde8fbf1ed014df54acb to your computer and use it in GitHub Desktop.
dataLogging_esp32
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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