2016年9月12日月曜日

ArduinoでSDカードを使ってみる。74HC4050でレベルシフト

NucleoでSDカードを使う前にArduinoでSDカードの実験をしてみた。

SDカードのソケットをブレッドボードで使えるようにする。

aitendoでSDカードソケットを仕入れていたがそのままではブレッドボードにさせないので余ってる基板を使って加工してみた。表面実装タイプだが100milピッチなので普通のユニバーサル基板にはんだ付けして使える。下の画像の右端の3ピンはハーフピッチになっているが、ここはSDカードの挿入を認識する用らしいので接続しないで使ってみることにした。

ユニバーサル基板に載せようと思うとソケット固定用のポッチがじゃまになって端子が基板に接触できない。位置的には端子から100milあたりなのでユニバーサル基板の穴を2.0mmのドリルで拡大した。



ピンヘッダとSDカードソケットの端子をはんだブリッジでつないだ。


Aruduinoで動作テスト


SDカードはSPI互換で3.3V駆動なので、74HC4050を使って信号線の5V->3.3V変換をした。(参考:「ロジックICでSPIの5V->3.3Vレベルシフト Nokia LCD5110を動かす」)DI(MOSI: Master->Slave)は5V->3.3VなのでこれでOK。DO(MISO: Slave->Master)は3.3V->5Vの接続になるが、直結した。

cepstrumさんの記事を見ると直結してよしと書いてあるし、SparkfunのSDカードシールドのSchematicsを見ても直結している。

ブレッドボード図


ピン接続


Arduino IDE 1.6.2のSDライブラリのExampleはこれで動作OKだった(^q^/