【雕爺學編程】Arduino動手做(52)---MicroSD卡讀寫模塊


37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種

的。鑒於本人手頭積累了一些傳感器和模塊,依照實踐(動手試試)出真知的理念,以學習和交流為目的,這里准備逐一做做實驗,不管能否成功,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。 

【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)

實驗五十二:SPI接口Micro SD卡模塊  TF卡讀寫卡器 (帶電平轉換芯片)

 

SN74LVC125A 

具有三態輸出的四路總線緩沖器

邏輯系列        LVC
每片芯片元件數目        4
最長傳播延遲時間@最長CL        5.3 ns @ 2.7 V
最大高電平輸出電流        -24mA
最大低電平輸出電流        24mA
安裝類型        表面貼裝
封裝類型        TSSOP
引腳數目        14
尺寸        5 x 4.4 x 1.15mm
高度        1.15mm
長度        5mm
最大工作電源電壓        3.6 V
最高工作溫度        +125 °C
最小工作電源電壓        1.65 V
傳輸延遲測試條件        50pF
最低工作溫度        -40 °C
寬度        4.4mm

該模塊(MicroSD Card Adapter)是Micro SD卡讀寫模塊,通過文件系統及SPI接口驅動程序,單片機系統即可完成MicroSD卡內的文件進行讀寫。Arduino用戶可直接使用Arduino IDE自帶的SD卡程序庫即可完成卡的初始化和讀寫。

模塊特點如下
1.支持Micro SD卡、Micro SDHC卡(高速卡)
2.板載電平轉換電路,即接口電平可為5V或3.3V
3.供電電源為4.5V~5.5V,板載3.3V穩壓電路
4.通信接口為標准SPI接口
5.4個M2螺絲定位孔,便於安裝

模塊電原理圖

制接口:共 6 個引腳(GND、VCC、MISO、MOSI、SCK、CS),GND 為地,VCC 為供

電電源,MISO、MOSI、SCK 為 SPI 總線,CS 為片選信號腳;

3.3V 穩壓電路:LDO 穩壓輸出的 3.3V 為電平轉換芯片、Micro SD 卡供電;

電平轉換電路:往 Micro SD 卡方向的信號轉換成 3.3V,MicroSD 卡往控制接口方向的 MISO

信號也轉換成了 3.3V,一般 AVR 單片機系統都能讀取該信號;

Micro SD 卡座:是自彈式卡座,方便卡的插拔。

定位孔:4 個 M2 螺絲定位孔,孔徑為 2.2mm,使模塊便於安裝定位,實現模塊間組合。

實驗器材:
1 個 Arduino 兼容主板 Catduino(不熟悉開源硬件的可以將其理解為 Atmega328P 單片機
開 發板)及一根 mini USB 線;
1 個 Micro SD 卡模塊;
1 張三星的 2G 的 Micro SD 卡;
1 個 Arduino 接口擴展板 Base shield(內鏈接);
6 根母對母杜邦線,用於連接模塊的控制接口和 Base Shield 上引出的 SPI 接口。

實驗步驟:

1. 將 Base Shield 直接插到 Catduino 主板上,確保 Micro SD 卡已格式化為 FAT16 或 FAT32

格式,並將其插到 Micro SD 卡模塊上。

2. 用 6 根母對母杜邦線將 Micro SD 卡模塊與 Base Shield 的 SPI 接口連接起來,如下表所示

 

3. 用mini USB將Catduino連接起來,如果是首次使用該主板,其USB轉串口驅動可從Arduino的IDE目錄下的drivers找到USB Drivers。

4. Micro SD卡讀寫的相關程序可使用Arduino IDE自帶的程序,目錄是

..\Arduino-1.0\libraries\SD。重新打開Arduino IDE,點擊工具欄的Open按鈕,打開SD中的CardInfo例程,如下圖所示,需要注意的是片選信號腳應改成實際連接到模塊的片選腳,在本實驗中選擇D10。

選好串口、板子名稱,點擊燒錄按鈕,即可燒錄。該例程展示的是如何讀取 Micro SD 卡的信息,包括卡的類型、文件系統類型、存儲容量,也列出卡中的文件名稱。點擊 Serial Monitor即可查看。

/*

【Arduino】168種傳感器模塊系列實驗(52)

實驗五十二:SPI接口Micro SD卡模塊TF卡讀寫卡器 (帶電平轉換芯片)

Arduino 的 uno 引腳

CS-------------10

MOSI(DI)------11

MISO(DO)------12

CLK------------13

*/



#include <SPI.h>

#include <SD.h>

File myFile;

void setup() 

{

  Serial.begin(9600);

  while (!Serial)

  {

  ;

  }

  

  Serial.print("Initializing SD card...");

  if (!SD.begin(10)) {

    Serial.println("initialization failed!");

    return;

  }

  Serial.println("initialization done.");

  myFile = SD.open("123456.TXT");

  if (myFile) {

    Serial.println("123456.txt:");

    Serial.println("↓↓↓↓");

    while (myFile.available())

    {

      Serial.write(myFile.read());

    }

    myFile.close();

  } else

  {

  Serial.println("error opening 123456.txt");

  }

}

void loop() {

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM