Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Hapus File dan Folder SD Card Arduino

Hapus File dan Folder Arduino

Bismillahirrahmanirrahim. Dalam projek Arduino yang akan menggunakan SD Card, adakalanya kita butuh fitur untuk menghapus file, baik satu per satu maupun sekaligus. Pada artikel ini saya akan membagikan cara hapus file di SD Card Menggunakan Arduino.

Hal yang harus diketahui agar dapat menghapus fila adalah perintah dasar. Berikut saya sertakan kedua kode program yang dapat anda demo kan untuk Arduino anda.


Hapus Satu File

Untuk menghapus sebuah file, format perintahnya adalah:

SD.remove(namafile)


Hapus Satu Folder

Untuk menghapus sebuah folder, format perintahnya adalah:

SD.rmdir(namafolder)


Hapus Semua File dan Folder

Untuk menghapus semua file, maka perintahnya tidak sama dengan menghapus file. Kita harus sertakan folder yang ingin kita hapus

#include <SD.h>

const int chipSelect = 10;

File root;
int fileHapus = 0;
int folderHapus = 0;
int gagalHapus = 0;
String rootpath = "/";

void setup()
{
  Serial.begin(9600);
  pinMode(10, OUTPUT);

  SD.begin(chipSelect);

  root = SD.open("/");
  delay(2000);

  rm(root, rootpath);

  if ( !fileHapus && !gagalHapus && !folderHapus ) {

  }
  else {
    Serial.print("Menghapus ");
    Serial.print(fileHapus);
    Serial.print(" file");
    Serial.print(" dan ");
    Serial.print(folderHapus);
    Serial.print(" folder");
    Serial.println();
    if ( gagalHapus > 0 ) {
      Serial.print("Gagal menghapus ");
      Serial.print(gagalHapus);
      Serial.print(" item");
      if ( gagalHapus != 1 ) {
        Serial.print("s");
      }
    }
  }
}

void loop()
{
 
}

void rm(File dir, String tempPath) {
  while (true) {
    File entry =  dir.openNextFile();
    String localPath;
    if (entry) {
      if ( entry.isDirectory() )
      {
        localPath = tempPath + entry.name() + rootpath + '\0';
        char folderBuf[localPath.length()];
        localPath.toCharArray(folderBuf, localPath.length() );
        rm(entry, folderBuf);


        if ( SD.rmdir( folderBuf ) )
        {
          Serial.print((String)"Menghapus Folder " + folderBuf);
          folderHapus++;
        }
        else
        {
          Serial.print((String)"Gagal menghapus folder " + folderBuf);
          gagalHapus++;
        }
      }
      else
      {
        localPath = tempPath + entry.name() + '\0';
        char charBuf[localPath.length()];
        localPath.toCharArray(charBuf, localPath.length() );

        if ( SD.remove( charBuf ) )
        {
          Serial.print((String)"Menghapus " + localPath);
          fileHapus++;
        }
        else
        {
          Serial.println((String)"Gagal menghapus " + localPath);
          gagalHapus++;
        }

      }
    }
    else {
      // break out of recursion
      break;
    }
  }
}

Setelah upload kode diatas, buka serial monitor. Anggap di SD Card telah ada beberapa file dan folder, maka hasilnya adalah seperti yang ditunjukkan pada gambar berikut:

Cara Hapus File dan Folder SD Card Arduino

Semoga artikel ini bermanfaat.

Artikel yang terkait:

Posting Komentar untuk "Cara Hapus File dan Folder SD Card Arduino"