Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
SD

SDライブラリ

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の場合)で、SD.begin()を呼ぶときに指定するピンである。ハードウェアSSピンを使わないときでも、出力用としてとっておく必要がある。そうしないと、SDライブラリは動作しない。

SDライブラリ・シールド使用上の注意

SDクラス
begin() SDライブラリとカードを初期化する。
exists() ファイルもしくはディレクトリがSDカード上に存在するかを調べる。
mkdir() SDカード上にディレクトリを作成する。
open() SDカード上のファイルをオープンする。
remove() SDカード上のファイルを削除する。
rmdir() SDカード上のディレクトリを削除する。
Fileクラス
available() ファイルから読み取り可能なバイトがあるかを確認する。
close() ファイルをクローズする。
flush() ファイルに書き込まれたデータがSDカードに物理的にセーブされることを保証する。
peek() ファイルから読み取り位置を進めることなく1バイトを読み取る。
position() ファイル内の現在の位置(次にどの位置からデータを読み取るか、もしくは、どの位置にデータを書き込むか)を取得する。
print() データをファイルに書き込む。
println() データを、改行コードを伴って、ファイルに書き込む。
seek() ファイル内の新しい位置に移動する。
size() ファイルのサイズを取得する。
read() ファイルから1バイト読み取る。
write() ファイルにデータを書き込む。
isDirectory() 現在のファイルがディレクトリなのかそうでないのかを調べる。
openNextFile() 次のファイルもしくはフォルダをオープンする。
rewindDirectory() ディレクトリの最初のファイルに戻す。

プログラム例

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

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

バージョン

Arduino 1.8.5

オリジナルのページ

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



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system