13,005
回編集
(ページの作成:「== 概要 == <br><br> == SDライブラリ == ==== SDライブラリのインストール ==== Arduinoでは、SDライブラリは標準で組み込まれているためインストールは不要である。<br> <br> SDライブラリがインストールされているかどうかを確認する場合は、Arduino IDEのメイン画面から[ツール] - [ライブラリを管理]を選択して、検索欄で<u>"SD"</u>と検索する。<br> <u>"SD by Arduino"<…」) |
|||
311行目: | 311行目: | ||
{ | { | ||
// ...略 | // ...略 | ||
} | |||
</syntaxhighlight> | |||
<br><br> | |||
== 使用例 : ファイルの書き込み == | |||
<syntaxhighlight lang="c++"> | |||
#include <SD.h> | |||
File dataFile; | |||
void setup() | |||
{ | |||
// シリアル通信の初期化 (9600[bps]) | |||
Serial.begin(9600); | |||
while (!Serial); // シリアルポートが準備できるまで待機 | |||
// SDカードの初期化処理 | |||
if (!SD.begin()) { | |||
Serial.println("SDカードの初期化に失敗"); | |||
while (1); // エラーが発生した場合は処理を停止 | |||
} | |||
Serial.println("SDカードの初期化に成功"); | |||
// ファイルを書き込みモードで開く | |||
// FILE_WRITEを指定する場合、ファイルが存在しない場合は新規作成されて、存在する場合は末尾に追記される | |||
dataFile = SD.open("data.txt", FILE_WRITE); | |||
if (dataFile) { | |||
Serial.println("ファイルのオープンに成功"); | |||
// ファイルにデータを書き込む | |||
dataFile.println("テストデータ1"); | |||
dataFile.println("テストデータ2"); | |||
// 数値データを書き込む場合 (例 : アナログピンの値を読み取る) | |||
int sensorValue = analogRead(A0); | |||
dataFile.print("センサー値: "); | |||
dataFile.println(sensorValue); | |||
// 日時データを書き込む場合 | |||
dataFile.print("書き込み時刻 : "); | |||
dataFile.print("2024/12/22 "); | |||
dataFile.println("15:30:00"); | |||
// ファイルを閉じる | |||
dataFile.close(); | |||
Serial.println("ファイルの書き込みが完了"); | |||
} | |||
else { | |||
// ファイルのオープンエラー | |||
Serial.println("ファイルのオープンに失敗"); | |||
} | |||
} | |||
void loop() | |||
{ | |||
// 例1 : センサデータのロギング | |||
dataFile = SD.open("log.txt", FILE_WRITE); | |||
if (dataFile) { | |||
int value = analogRead(A0); | |||
dataFile.println(value); | |||
dataFile.close(); | |||
} | |||
delay(1000); // 1秒間隔でログを記録 | |||
// 例2 : RTCライブラリを使用してタイムスタンプを書き込む | |||
if (dataFile) { | |||
dataFile.print(now.timestamp()); | |||
dataFile.print(","); | |||
dataFile.println(sensorValue); | |||
dataFile.close(); | |||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |