基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
メモリカード(SDクラス)
メモリカードを操作するライブラリです。SPI通信を使用します。
使用する場合は、#include <SD.h>
を記述してください。
また、SPIは2チャネルあり、それぞれのチャネルをメモリカードアクセスに使用できます。SPI2(ピン27, 28, 29, 30)によるメモリカードアクセスのときはSD2をオブジェクト名として使用してください。注意として、SD2を使用時はUSB通信用のSerialが使用できなくなります。
begin
概要
初期化します。
文法
SD.begin()
SD.begin(int cspin)パラメータ
cspin: CSピンのピン番号
戻り値
なし
exists
概要
目的のファイルが存在するか調べます。
文法
bool SD.exists(const char* filename)
パラメータ
filename: 調べたいファイル名
戻り値
ファイルが存在していればtrue、ファイルが存在しないかカードが検出されていなければfalseを返す。
mkdir
概要
ディレクトリを作成します。
文法
bool SD.mkdir(const char* pathname)
パラメータ
pathname: 作成したいディレクトリ名
戻り値
成功したらtrue、失敗したらfalseを返す。
open
概要
指定されたファイルを開きます。
文法
File SD.open(const char* filename, FILE_MODE mode)
パラメータ
filename: 開きたいファイル名
mode: 開くときの属性(FILE_READ: 読み出し用、FILE_WRITE: 書き込み用)戻り値
成功したらファイルオブジェクトを返す。失敗したらfalseを返す。
remove
概要
指定されたファイルを削除します。
文法
bool SD.remove(const char* filename)
パラメータ
filename: 削除したいファイル名
戻り値
成功したらtrue、失敗したらfalseを返す。
rmdir
概要
ディレクトリを削除します。
文法
bool SD.rmdir(const char* pathname)
パラメータ
pathname: 削除したいディレクトリ名
戻り値
成功したらtrue、失敗したらfalseを返す。
サンプルプログラム
メモリカードにアクセスするサンプルです。
#include <Arduino.h>
#include <SD.h>
File myFile;
void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
if (SD.exists("example.txt")) {
Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
// open a new file and immediately close it:
Serial.println("Creating example.txt...");
myFile = SD.open("example.txt", FILE_WRITE);
myFile.close();
// Check to see if the file exists:
if (SD.exists("example.txt")) {
Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
// delete the file:
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() {}