Raspberry Pi PicoでAT-Xを作る④ microSDの読み書きテスト

raspberry pi pico

microSDとのやりとりの方法を習得するのと買った部品の動作チェックをする。

microSDシールドモジュールのレビュー欄に
「3個中1個使えなかった」って書いてあったからめっちゃ不安。

今回使うもの

microSDシールドモジュール
microSD 32GB

シルクがかすれてたり、表面実装部品にハンダが全然乗ってなかったり、ピンはハンダモリモリだったり
ちょっと不安。

最初はガラエポの基板がくっついてる状態で、ミシミシって自分で割る。

あとラズパイピコ本体とブレッドボードとジャンパー線とか

シールドモジュールの仕様確認

以下、amazonの販売ページより引用

特徴:

モジュール(MicroSDカードアダプタ)はMicro SDカードリーダーモジュールで、ファイルシステムドライバ、マイクロコントローラシステムを介してMicroSDカードの読み取りと書き込みを行うSPIインターフェイスです。

Arduinoのユーザーは、Arduino IDEを直接使用することができますライブラリカードの初期化と読み書きを完了するためにSDカードが付属しています
モジュールの機能:

マイクロSDカード(≦2G)、マイクロSDHCカード(≦32G)(高速カード)をサポート

インタフェースレベルが可能なレベル変換回路基板は、5Vまたは3.3Vです

電源は4.5V~5.5V、3.3V電圧レギュレータ回路基板

通信インターフェイスは標準のSPIインターフェイスです

4つM2取り付けが簡単なネジ穴

サイズ:4.2 x 2.4cm 
モジュールの回路図

Arduino向けに販売されてたものだけど、ラズパイピコで使ってる人がいっぱいいたやつだし、
SPI通信だけなんとなく理解すればできるっしょ。

やってみる

↓の記事を参考に読み書きできるようにしてみる。
【Raspberry Pi Pico】SDカードにファイルを書き込む方法

提供されてるドライバを入れて~
配線をして~
テスト用のコードを実行して~

すんなりいかず躓いた。

遭遇したエラー

Traceback (most recent call last):
  File "<stdin>", line 6, in <module>
  File "sdcard.py", line 54, in __init__
  File "sdcard.py", line 92, in init_card
OSError: couldn't determine SD card version

SDカードのバージョンを特定できなかった。って言われた・・・・

で、原因
1本配線し忘れてた。解決するのに1日かかった(泣)

CS – GP28 間の配線を忘れてた。

完成。

結果

上記のサイトのテストコードをそのまま実行して、
ラズパイピコ内にテキストファイルとCSVを保存することができた。

終わりに

毎回同じこと思ってるけど、ひとまずちゃんと動いてよかった。

SPI通信についてはなにも理解してないけど・・・

タイトルとURLをコピーしました