もよいめも

不定期更新ものづくりブログ

【Raspberry Pi Pico】SDカードを接続してファイルを保存する!

前回に続きまして、今回もRaspberry Pi Pico!
SDカードモジュールを接続して、ファイルの保存、書き込みをしていこうと思います。

つかうもの

SDカードモジュールはAmazonで国内発送のものを注文しました。
中国発送だと言わずもがな待たされるので注意です。

上のSDカードモジュールはSDHCまで対応しているので、最大容量の16GBを買いました。
日本製ということですので積極的に買っていきたいですね。

接続

f:id:moyoi:20220308092226p:plainf:id:moyoi:20220308092229p:plain
接続方法
Pico(SPI) SDカードモジュール
GP2 (SPI0 SCK) SCK
GP3 (SPI0 TX) MOSI
GP4 (SPI0 RX) MISO
GP5 (SPI0 CSn) CS
VSYS VCC
GND GND

GP0~19までのピンは通信に対応しています。
詳細はデータシートを確認してください(なげやり)

プログラム

ただ単に新規ファイルを作成する

SDカード内に「test.txt」を作成し、内部に"test"と書き込みます。

from machine import Pin,SPI
import os, sdcard

spi = SPI(0,sck=Pin(2), mosi=Pin(3), miso=Pin(4))
sd = sdcard.SDCard(spi, Pin(5))

os.mount(sd, '/sd')#ファイルシステムにSDカードをマウントする

fp = open('/sd/test.txt', 'w'))#ファイルがなければ新規作成
fp.write('test')#ファイルに書き込み
fp.close()#ファイルを閉じる

フォルダを作成する

新しいフォルダ「test」を作ってその中に「test.txt」を作成。

from machine import Pin,SPI
import os, sdcard

spi = SPI(0,sck=Pin(2), mosi=Pin(3), miso=Pin(4))
sd = sdcard.SDCard(spi, Pin(5))

os.mount(sd, '/sd')#ファイルシステムにSDカードをマウントする

os.mkdir('/sd/test')#フォルダを作成
fp = open('/sd/test/test.txt', 'w')#ファイルがなければ新規作成
fp.write('test')#ファイルに書き込み
fp.close()#ファイルを閉じる

名前に時間を含める

RTCから年と月を取得し、ファイル名に反映させる。

#作成中…

すでにファイルがないかチェックする

#作成中…

SDカードを取り出し、再接続する

#作成中…