Использование библиотеки SD для Arduino для создания и удаления файлов на SD карте

Добавлено 7 апреля 2018 в 17:10

Данный пример показывает, как Arduino может создавать и удалять файлы на SD карте. Для более подробной информации о библиотеке SD перейдите по ссылке.

Необходимые комплектующие

Схема

Arduino Ethernet Shield
Плата расширения Ethernet Shield

Плата Arduino или Genuino должна быть подключена к плате расширения Ethernet Shield, а также к компьютеру с помощью USB кабеля.

Arduino Ethernet Shield
Подключение платы расширения Ethernet Shield к плате Arduino

Код

Код ниже настроен для работы с платой расширение Ethernet Shield, на которой установлен SD слот. В setup(), вызове SD.begin(), обозначении вывода 4 в качестве вывода SC. Этот вывод зависит от типа платы расширения, которую вы используете.

В setup() открываем новый файл с помощью SD.open() с именем "example.txt". FILE_WRITE включает доступ к чтению и записи файла, начиная с конца. Хотя в данном примере файл тут же закрывается с помощью myFile.close().

После проверки существования файла с помощью SD.exists() удаляем файл с карты с помощью SD.remove().

/*
  Базовые операцие с файлами

 Пример показывает, как создавать и удалять файлы на SD карте.
 Схема:
 * SD подключена к шине SPI следующим образом:
 ** MOSI - вывод 11
 ** MISO - вывод 12
 ** CLK - вывод 13
 ** CS - вывод 4 (для MKRZero SD: SDCARD_SS_PIN)

 */
#include <SPI.h>
#include <SD.h>

File myFile;

void setup() 
{
  // Открыть последовательное соединение и ждать открытия порта:
  Serial.begin(9600);
  while (!Serial) 
  {
    ; // ждать подключения последовательного порта. Необходимо только для USB порта
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) 
  {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");

  if (SD.exists("example.txt")) 
  {
    Serial.println("example.txt exists.");
  } 
  else 
  {
    Serial.println("example.txt doesn't exist.");
  }

  // открыть новый файл и немедленно закрыть его
  Serial.println("Creating example.txt...");
  myFile = SD.open("example.txt", FILE_WRITE);
  myFile.close();

  // проверить, существует ли файл:
  if (SD.exists("example.txt")) 
  {
    Serial.println("example.txt exists.");
  } 
  else 
  {
    Serial.println("example.txt doesn't exist.");
  }

  // удалить файл:
  Serial.println("Removing example.txt...");
  SD.remove("example.txt");

  if (SD.exists("example.txt")) 
  {
    Serial.println("example.txt exists.");
  } 
  else 
  {
    Serial.println("example.txt doesn't exist.");
  }
}

void loop() 
{
  // после завершения настройки ничего не делать.
}

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.


Сообщить об ошибке