SD

SDカードの読み書きを可能とする。

Arduino/GenuinoボードのSPIインターフェイスにSDメモリカードを接続すると、ファイルの作成、読み書きが可能となる。SDカード内のディレクトリ移動も可能である。

リポジトリ

互換性

このライブラリは全てのアーキテクチャで利用できるので、全てのArduinoボードで利用できる。

リリース

このライブラリを使うためには、Arduino IDEでライブラリマネージャを開きインストールする。

使用方法

SDライブラリを利用することで、SDカードの読み書きが可能である。SDカードは、例えば、Arduino Ethernet Shieldに搭載されている。SDライブラリはWilliam Greimanによるsdfatlib上に作成されている。このライブラリは、SDカードとSDHCカードのFAT16とFAT32ファイルシステムをサポートしている。8.3形式のファイル名を利用する。SDライブラリの関数に渡すファイル名には、“directory/filename.txt"のように、スラッシュ(/)を含めることができる。作業ディレクトリは常にSDカードのルートディレクトリなので、先頭のスラッシュがあってもなくても同じファイルを参照する。例えば、"/file.txt"と"file.txt"は同じである。バージョン1.0からは複数ファイルの同時オープンに対応している。

マイクロコントローラとSDカードの通信にはSPIを利用する。このため、デジタルピンの11番と12番、13番(ほとんどのArduinoボードの場合)、もしくは50番と51番、52番(Arduino Megaの場合)が利用される。さらに、もう一本のピンをSDカードを選択するために利用する必要がある。これは、ハードウェアSSピンで、10番ピン(ほとんどのArduinoボードの場合)もしくは53番ピン(Arduino Megaの場合)で、SDClass::begin()を呼ぶときに指定するピンである。ハードウェアSSピンを使わないときでも、出力用としてとっておく必要がある。そうしないと、SDライブラリは動作しない。

このライブラリを使うためには、以下を宣言する。

#include <SPI.h>
#include <SD.h>
SDClass
SDライブラリとカードを初期化する。
ファイルもしくはディレクトリがSDカード上に存在するかを調べる。
SDカード上にディレクトリを作成する。
SDカード上のファイルをオープンする。
SDカード上のファイルを削除する。
SDカード上のディレクトリを削除する。
File
ファイル名を返す。
SDライブラリとカードを初期化する。
ファイルをクローズする。
ファイルに書き込まれたデータがSDカードに物理的にセーブされることを保証する。
ファイルから読み取り位置を進めることなく1バイトを読み取る。
ファイル内の現在の位置(次にどの位置からデータを読み取るか、もしくは、どの位置にデータを書き込むか)を取得する。
データをファイルに書き込む。
データを、改行コードを伴って、ファイルに書き込む。
ファイル内の新しい位置に移動する。
ファイルのサイズを取得する。
ファイルから1バイト読み取る。
ファイルにデータを書き込む。
現在のファイルがディレクトリなのかそうでないのかを調べる。
次のファイルもしくはフォルダをオープンする。
ディレクトリの最初のファイルに戻す。

プログラム例

プログラム例 説明
Card Info SDカードの情報を取得する。
Datalogger 3つのアナログセンサからのログデータをSDカードに格納する。
Dump File SDカードからファイルを読み込む。
Files SDカード上でファイルを作成・削除する。
List Files SDカード上のディレクトリ内のファイル名を出力する。
Read Write SDカードにファイルを読み書きする。

プログラム例のリンク先はすべて英語です。

オリジナルのページ

https://www.arduino.cc/en/Reference/SD

inserted by FC2 system