Posts ファイルの読み書きをしよう
Post
Cancel

ファイルの読み書きをしよう

今回はmicroSDカード(以下SDカードと表記)にテキストファイルを読み書きしてみます。 SDカードにテキストファイルの読み書きができるとCanSatが取得したセンサの値や制御履歴をログとして残すことができます。

sd-slot SDカードスロット

スケッチ例を読み込む

まずはSDカードのサンプルスケッチを開きます。 Arduino IDEメニューの「ファイル」>「スケッチ例」>「SD(esp32)」>「SD_Test」にSDカードのサンプルスケッチがあります。

メニューにサンプルスケッチがない場合は、下記リポジトリにライブラリがあるのでここからダウンロードしてきます。

sd-sample-sketch SDカード読み書きのサンプルスケッチを開く

サンプルスケッチをCanSatに書き込みます。 microSDカードスロットにSDカードを挿入して実行するとコンソールには以下のように読み書きのログが表示されます。

sd-sample-sketch-console SDカードに読み書きしたときのコンソールログ

実行後、SDカードの中身をPCで確認してみると、foo.txtファイルに「Hello World!」の文字列が書かれています。

SDカードの種類によってはファイルの読み書きができないものもあります。 うまく動作しないときはSDカードを変更してみてください.

秋月電子で販売しているKIOXIAのmicroSDカード 16GBは読み書きできることを確認済みです。

スケッチ例に用意されている関数

上記サンプルスケッチには以下の関数があり、setup()関数内でそれぞれの関数を呼び出しています。 CanSat競技では、ファイルへの新規書き込みと追記書き込み、ファイルの読み込みを使うことが多いでしょう。

関数名概要
listDirディレクトリ一覧表示
createDirディレクトリ作成
removeDirディレクトリ削除
readFileファイル読み込み
writeFileファイル書き込み(新規作成)
appendFileファイル書き込み(追記)
renameFileファイル名変更
deleteFileファイル削除
testFileIOファイル読み書き速度の測定
This post is licensed under CC BY 4.0 by the author.

100kinSATの構成(システム設計)について

スイッチの動作確認をしよう