#include <SD.h>
#define pin_cs 10 //deklarasi pin_cs
File fileku, root; //dekalrasi tipe data
void setup() {
Serial.begin(115200);
if (!SD.begin(pin_cs)) //deklarasi pin cs yang sesuai
{
Serial.println("Mungkin Ada Masalah dengan Memori Card"); //mengecek SD card
while(1); //perintah berhenti di sini
}
buatFile(); //memanggil fungsi buatFile
checkIsiCard(); //memanggil fungsi checkIsiCard
}
void loop() {
int adc = analogRead(A0); //membaca integer adc sensor NTC di pin A0
isiFile(adc); //memanggil fungsi isiFile
delay(1000);
bacaFile(); //memanggil fungsi bacaFile
delay(1000);
}
void isiFile(int nilaiadc){
fileku = SD.open("test.txt", FILE_WRITE);
if (fileku){
fileku.println(String("Resistansi NTC = ")+(nilaiadc)+String(" Ohm")); //cek fileku pada SD card, akan ditulis test.txt
fileku.close(); //jika true, text akan sesuai resistansi NTC
} else {
Serial.println("Gagal mengisi file"); //jika false, tampil "Gagal mengisi file", diulang sekali
while(1);
}
}
void bacaFile(){
fileku = SD.open("test.txt"); //cek fileku pada SD card di test.txt
if (fileku){
while (fileku.available()){
Serial.write(fileku.read()); //jika tersedia, maka baca nilai fileku
}
fileku.close();
}
else {
Serial.println("Gagal membaca file"); //jika gagal, tampil "Gagal membaca file", diulang sekali
while(1);
}
}
void checkIsiCard(){
root = SD.open("/"); //cek isi SD card pada root folder
while (true){
File cekfile = root.openNextFile(); //jika true, maka membuka foot folder, menampilkan nama dan ukuran SD card
if(!cekfile){
break;
}
Serial.print(cekfile.name() + String(" = "));
Serial.println(cekfile.size());
cekfile.close(); // jika kosong, maka keluar dari perintah while
}
}
void buatFile(){
fileku = SD.open ("test.txt", FILE_WRITE); //cek fileku pada SD card, ditulis pada test.txt dengan maksimum 8 character
if (fileku){
fileku.println("Ini adalah isi filenya"); //jika true, tampil text "Ini adalah isi filenya"
fileku.close();
} else {
Serial.println("Gagal membuat file"); //jika true, tampil text "Gagal membuat file"
while(1); //diulang sekali
}
}