SDカードにデータを保存する際のハマりどころとして有名な電源電圧。Arduinoの接続デバイスの多くは 5V の電源電圧のところ、SDカードの電源電圧は 3.3V です。
何も考えずに接続して通電するとカードを破損させるおそれがありますので、通常はレベルシフタを介して電圧レベルの変換を行います。
ただ世の中には便利なものがありまして、既に基板上にレベルシフタとボルテージレギュレータが組み込まれた状態で市販されているモジュールが存在します。秋月電子 AE-microSD-LLCNV もその一つです。
これを使えば直ぐに SD カードを使えるようになる上に余計な配線が消えて基板もスッキリすると思っていたら、意外と取り扱いに苦労したので別記事にしました。
発売からそれほど時間が経っていないせいか、カードスロットDIP化キット AE-MICRO-SD-DIP よりも割高なせいかネット上の情報も少ないですしね。
当然ながら AE-MICRO-SD-DIP とは別物なので配線が異なります。公式の回路図・ピン配置を見ると Arduino との接続ピンは以下のようになっています。ここを間違えると おそらく SD カードが異常発熱します。
| AE-microSD-LLCNV | ARDUINO | UNO Pin | ||
|---|---|---|---|---|
| #1 | 5V IN | VDD | 5V | 5V |
| #2 | 3.3V ENABLE | – | – | |
| #3 | 3.3V OUT | – | – | |
| #4 | VSS | supply ground | GND | GND |
| #5 | CLK | clock | SCK | #13 |
| #6 | DAT0 | host data/status | MISO | #12 |
| #7 | CMD/DI | host command/data | MOSI | #11 |
| #8 | SS | Chip Select | SS | #10 |
MOSI, MISO, SCK, SS というのは SPI 通信のインターフェイスで Arduino の場合は専用のデジタルポートが割り当てられています。SDカードの読み書きを行うインターフェイスは大抵が SPI バスを利用しているので覚えておくと便利です。
もっとも SPI バスは低速なので接続が容易なSDカードのほかは一部のセンサぐらいでしか使われているところを見たことがありませんけど。
ピンの役割を把握しましたら、次は基板上にわざとらしく空いているジャンパ J1 にハンダを盛って結線(ショート)させます。
稀に遭遇するプルアップ抵抗と要領は同じです。ここを結線しないと +5V 電源入力と回路がつながらないので、接続して通電しても何故か動かないということになります。
最近読んだ本にも書いてありましたが、市販の部品が壊れていることは滅多にありませんので接続されれば、きちんと動作するはずです。
まあ、取り扱いを間違えると簡単に壊れたりするんですけどね。


