
1、介紹
MicroSD卡通過SD卡介面與系統進行通訊,實現了數據的讀寫操作。SD卡常用于數據記錄器,例如環境監測設備。通過定期將感應器數據寫入SD卡,可以長期保存數據,便於後續分析。在需要儲存大量數據的場景中,SD卡是一個理想的选择。例如,在物联网設備中,SD卡可以用於儲存配置檔案、日誌檔案等。
2、原理圖

3、模組參數
引腳名稱 | 描述 |
|---|---|
G | GND(電源輸入負極) |
V | VCC(電源輸入正極) |
MOSI | 模組數據輸入引腳 |
MISO | 模組數據輸出引腳 |
SCK | 資料傳輸時鐘引腳 |
CS | 資料傳輸使能引腳 |
供電電壓: 3.3V-5V
連接方式:PH2.0 6P端子線
安裝方式:樂高搭建
4、電路板尺寸

5、添加Arduino庫文件
不會使用庫文件的參考這裡:庫文件安裝使用
庫文件下載:點擊下載
6、Arduino IDE 示例程式
示例程式(UNO開發板):點擊下載
#include <SD.h>
#include <SPI.h>
Sd2Card card;
SdVolume volume;
SdFile root;
File datafile;
String SD_card_reading(String path) {
datafile = SD.open(path.c_str());
String sd_data = "";
while (datafile.available()) {
sd_data = String(sd_data) + String(char(datafile.read()));
}
return sd_data;
}
void setup(){
SD.begin(10);
card.init(SPI_HALF_SPEED, 10);
Serial.begin(9600);
volume.init(card);
Serial.println(card.type());
Serial.println(String(volume.blocksPerCluster()*volume.clusterCount()/2/1024) + String("MB"));
root.openRoot(volume);
root.ls(LS_R | LS_DATE | LS_SIZE);if (SD.exists("fileName.txt")) {
Serial.println(SD_card_reading("fileName.txt"));
}
datafile = SD.open("fileName.txt", FILE_WRITE);
if(datafile){
datafile.print("您好");
datafile.println("");
datafile.close();
}
}
void loop(){
//打印SD卡参数与读写测试
//SD卡拥有超大的存储容量,一般用来保存检测传感器数据与系统参数
//如温湿度数据等,通常保存的数据要加上时间戳
}示例程序(ESP32開發板—基於Python語言,不能用Arduino IDE上傳代碼):
7、米思齊 Mixly 示例程式(圖形化語言)
示例程式(UNO開發板):點擊下載

示例程式(ESP32開發板):點擊下載
8、測試環境搭建
Arduino UNO 測試環境搭建
準備配件:
UNO-R3 開發板 *1
UNO-R3 P 扩展板 *1
USB type-c 資料線 *1
Micro-SD卡模組(HS-S64-L)*1
PH2.0-5P線
電路接線圖:

ESP32 Python 測試環境搭建
9、視頻教學
Arduino UNO視頻教學:按鈕查看
ESP32 Python視頻教學:
10、測試結論
Arduino UNO測試結論:
注意:使用前將SD卡放入讀卡器中格式化為FAT。


將線連接好後,上傳代碼。

開啟米思齊軟件的串口,可以觀察到sd卡內的數據。

將sd卡放入讀卡器中,插入電腦,找到對應u盤,可以看到對應數據:您好。
