Использование библиотеки SD для Arduino для создания и удаления файлов на SD карте
Данный пример показывает, как Arduino может создавать и удалять файлы на SD карте. Для более подробной информации о библиотеке SD перейдите по ссылке.
Необходимые комплектующие
- плата Arduino или Genuino;
- плата расширения Ethernet Shield (или любая другая плата со слотом SD);
- форматированная SD карта.
Схема
Плата Arduino или Genuino должна быть подключена к плате расширения Ethernet Shield, а также к компьютеру с помощью USB кабеля.
Код
Код ниже настроен для работы с платой расширение 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()
{
// после завершения настройки ничего не делать.
}