SDカード利用(1)
今Arduinoで実験するときはほとんどPCにつなげたままですが、そのうち、単独で「自動データ蓄積」みたいなことをやりたいと思っています。必要になるのは、「センサー」と「時計」と「記録」ですね。
センサーは多種多様なので、その都度考えるとします。「時計」についてはRTCモジュールから時刻を読み出すことを既にやってあり、解決済みです。
あとは、センサーのデーターと時計情報を紐づけて「記録」しておくことができれば、応用範囲が広そう。
さて、例によって、台北の今華電子さんで、SDカード用のモジュールを買ってきました。35NTD(=130円くらい)。お手頃ですね。
SDカードは自宅に眠っていた古い4GB容量のものを再利用することにしました。
SDカードモジュールのライブラリ
(SD Library)についてはArduino公式の
に出ています。Examplesにもいろいろ例が出ていますが、要は
#include <SPI.h>
#include <SD.h>
この二つのライブラリを読み込む。配線は、SPIの説明
のConnectionsからUnoの場合
MOSI(SDO) pin11、MISO(SDI) pin12、SCK(CLK)pin13、SS(CS) pin10
ということのようで、これで組んでみます。
サンプルコードの実行
まずはカード情報の読み出しサンプル
https://www.arduino.cc/en/Tutorial/LibraryExamples/CardInfo
に掲載のサンプルコードをそのまま実行してみました。
4GBのカードが入っている状態では
Initializing SD card...Wiring is correct and a card is present.
Card type: SDHC
Clusters: 122208
Blocks x Cluster: 64
Total Blocks: 7821312
Volume type is: FAT32
Volume size (Kb): 3910656
Volume size (Mb): 3819
Volume size (Gb): 3.73
Files found on the card (name, date and size in bytes):
SYSTEM~1/ 2020-12-29 16:47:42
WPSETT~1.DAT 2020-12-29 16:47:42 12
INDEXE~1 2020-12-29 16:47:48 76
カードを抜いた状態では
Initializing SD card...initialization failed. Things to check:
* is a card inserted?
* is your wiring correct?
* did you change the chipSelect pin to match your shield or module?
無事、動作していることが確認できました。
次回はデータの保存をテストしてみる予定です。